数据库操作
创建数据库
create database 数据库名称 [库选项];
[^create database表示创建数据库;“数据路名称”可以是字母,数字和下划线组成的任意字符串;“库选项“用于设置此数据库的相关特性,如字符集charset,校对集collate。]:
[^语法中使用的”[]“括起来的选项表示可选参数。]:
[^如果创建的数据库已存在,则程序会报错。为了防止这种情况的发生,在创建数据库时可以在”数据库名称“前添加if not exists,表示指定的数据库不存在时进行创建操作,否则忽略此操作。]:
查看数据库
-
查看MySQL服务器下的所有数据库:
show databases;
-
查看指定数据库的创建信息:
show create database 数据库名称;
选择数据库
use 数据库名称;
数据需要存储在数据表中,而数据库中可以包含多个数据表,服务器中可以包含多个数据库,所以创建数据表时首先需要选择数据库。
数据库选择除了可以使用use关键字外,在用户登录MySQL服务器时也可以选择登录。基本语法格式如下
mysql -u用户名 -p密码 数据库名;
删除数据库
drop database 数据库名称;
[^与创建一个已存在的数据库相同,if not exists语句也适用于删除数据库。]:
数据表操作
创建数据表
create [temporary] table [if not exists] 表名;
例如:
#①创建mydb数据库
mysql>create database mydb;
Query OK, 1 row affected (0.00 sec)
#②选择mydb数据库
mysql>use mydb;
Database changed
#③创建goods数据表
mysql> create table goods (
-> id int comment '编号',
-> name varchar(32) comment '商品名',
-> price int comment '价格',
-> des varchar(255) comment '商品描述'
-> );
另一种不用use创建数据表的形式
create table mydb.goods (此处省略字段的定义);
查看数据表
- 查看数据表
show tables [like匹配模式];
- 查看数据表的相关信息
show table status [from数据库名] [like匹配模式];
修改数据表
- 修改数据表名称
#语法格式1
alter table 旧表名 rename [to|as] 新表名;
#语法格式2
rename table 旧表名1 to 新表名1[旧表名1 to 新表名2]...
- 修改表选项
alter table 表名 表选项 [=] 值;
查看表结构
- 查看数据表的字段信息
#语法格式1: 查看所有字段的信息
{describe|desc}数据表名;
#语法格式2: 查看指定字段的信息
{describe|desc}数据表名 字段名;
- 查看数据表的创建语句
show create table 表名;
- 查看数据表结构
#语法格式1
show [full] columns from 数据表名 [from数据库名];
#语法格式2
show [full] columns from 数据库名.数据表名
修改表结构
-
修改字段名
alter table 数据表名 ahcnge[column] 旧字段名 新字段名 字段类型 [字段属性];
-
修改字段类型
alter table 数据表名 modify [column] 字段名 新类型 [字段属性];
-
修改字段的位置
alter table 数据表名 modify [column] 字段名1 数据类型 [字段属性] [first|after 字段名2];
-
新增字段
#语法格式1 新增一个字段,并可指定其位置 alter table 数据表名; #语法格式2 同时新增多个字段 alter table 数据表名 add [column] (新字段名1 字段类型1, 新字段名2 字段类型2, ···);
-
删除字段
later table 数据表名 drop [column] 字段名;
删除数据表
drop [temporary] table [if exists] 数据表1 [数据表2]···;
数据操作
添加数据
-
为所有字段添加数据
insert [into] 数据表名 {values|value}(值1[, 值2]···);
[^若创建的数据表未指定字符集,则数据表及表中的字段将使用默认的字符集iatinl。为解决此问题,可在创建语法后受用“default charset utf8”表示设置字符集,utf8支持世界上大多数国家的字符,通常推荐使用此字符集。]:
-
为部分字段添加数据
insert [into] 数据表名 (字段名1[, 字段名2]···) {values|value} (值1[, 值2]···);
insert [into] 数据表名 set 字段名1=值1 [, 字段名2 =值2]···;
-
一次添加多行数据
insert [into] 数据表名 [(字段列表)] {values|value} (值列表) [, 值列表]···;
查询数据
-
查询表中全部数据
select * from 数据表名;
-
查询表中部分数据
select {字段名1, 字段名2, 字段名3, ···} from 数据表名
-
简单条件查询数据
select * |{字段名1, 字段名2, 字段名3, ···} from 数据表名 where 字段名 =值;
修改数据
update 数据表名
set 字段名1=值1 [, 字段名2=值2, ···]
[where 条件表达式]
删除数据
delete from 数据表名 [where 条件表达式];
注释
mysql中单行注释以“#”开始标识,也支持标准sql中“--”单行注释。但是为了防止“--”与SQL语句中负号和减法运算的混淆,在第二个短横线后必须添加至少一个控制字符(如空格,制表符,换行符等)将其标识为单行注释符号。
同时,MySQL也支持标准SQL中的多行注释“/此处填写注释内容/”,它的开始符号为“/”,结束符号为“/“,中间的内容就是要编写的注释。