这篇文章是:学习对数据表的增删改查操作:
1.创建表的基本语法格式
Create table [if not exists] 表名(
字段名称 数据类型,
字段名称 数据类型,
字段名称 数据类型 -- 注意最后一行不要加逗号
) charset UTF8;
解释一下:if not exists 前后的中括号在实际写命令中不需要带上,这个命令的意思是如何该表存在就不执行后面创建代码,如果不存在就创建这个新表。第二个上面添加的注释,最后一个字段数据末尾千万不能带上逗号。这种格式在很多编程语言也存在,例如字典,或者json数据格式。
Create table if not exists student(
Number varchar(10),
Name varchar(10),
Gender varchar(10),
Age int
)charset UTF8;
在cmd连接上数据库,输入如下命令试试。
发现,报错了,提示没有选择数据库。注意:要新建一个表,需要给这个表指定数据库,也就是告诉mysql这个表存储在哪个数据库下。一般来说,新建表需要指定数据库有两种方法。
1) 用数据库名.表名方式
2)先使用use 数据库名,
2. 查看所有数据表
show databases; 查看所有的数据库
查看一个数据库下所有表,需要先使用use 数据库名称,然后输入show tables;来查看一个数据库下所有表。
2.查看部分表,模糊匹配
show databases like 'class%'
show tables like 'class_'
匹配规则’%’表示匹配多个结果,‘_’表示匹配一个结果。这里提醒一下,模式匹配查询的时候,最好采用前面确定,后面字段模糊的方法,这样效率更高。例如”class%”要比“%class”查找效率要高很多。
3.查看 表创建语句
语法:show create table 表名
上面主要是想表达结尾的\g和写分号是一样的效果,下面结尾\G表翻转90度显示,效果如下。
4.查看表的结构,也就是查看字段
desc tablename;
describe tablename;
show columns from tablename;
1) desc 表名
2) describe 表名
3) show columns from 表名
3. 对数据表的修改
数据表操作包含表本身更新操作和表内字段更新操作。表本身修改操作主要有表名称修改和表字符集、校对集、存储引擎修改。
重命名: rename
修改表:alter
新增字段: add
重命名字段:change
删除字段:drop
A 表重命名操作
语法格式:rename table 老表名to 新表名;
例子:
修改表的字符集
之前,我们在创建表的操作中字符集是UTF8,现在我把字符集改成GBK;
语法格式:alter table my_student charset GBK;
举例:
先查询当前表的字符集是什么格式,下面显示是UTF8;
使用命令改成GBK;
表字段修改,字段修改主要包括:新增,修改重名,删除
B字段新增
语法格式:alter table 表名add [column] 字段名数据类型 [列属性] [位置];
位置:新增字段名可以存放在表中任意位置。
常见参数:First:第一个位置, After:在哪个字段之后,例如after 字段名;默认:在当前表最后一个字段之后。
命令举例:
给学生表增加ID放第一个位置。之前表的字段如下
也是就是,我们需要新增一个ID的字段,放在Number之前,命令如下:
C 修改字段:通常是修改属性或者数据类型
语法格式:alter table 表名 modify 字段名数据类型 [属性] [位置];
举例:
将my_student中的Number字段变成固定长度,且放在Name之后的位置。
做了两个修改,数据类型从varchar改成char,位置调整到Name之后。
重命名字段
语法格式:alter table 表名 change 旧字段新字段名 数据类型 [属性] [位置];
命令举例:修改学生表中的gender为sex
D删除字段
语法格式:alter table 表名 drop 字段名;
命令举例:删除学生表中的年龄字段;
4. Mysql删除数据表 Drop table tablename;
当删除数据表的指令执行之后会发生以下行为
1)在表空间内,没有了指定的表(数据也没有)
2)在数据库对应的文件夹下,表对应的文件也会被删除。