1.4 表的操作
1.4.1 显示所有表
语法:
1 | show tables |
1.4.2 创建表
语法:
1 | create table [if not exists] 表名( |
单词
1 | null | not null 空|非空 |
创建简单的表
1 | mysql> create database study; |
创建复杂的表
1 | mysql> set names gbk; # 设置字符编码 |
多学一招:create table 数据库名.表名,用于给指定的数据库创建表
1 | mysql> create table data.stu( #给data数据库中创建stu表 |
1.4.3 显示创建表的语句
语法:
1 | show create table 表名 |
显示创建teacher表的语句
1 | mysql> show create table teacher; |
将两个字段竖着排列 show create table 表名
\G
1 | mysql> show create table teacher\G; |
1.4.4 查看表结构
语法:
1 | desc[ribe] 表名 |
查看teacher表的结构
1 | mysql> describe teacher; |
1.4.5 删除表
语法:
1 | drop table [if exists] 表1,表2,… |
删除表
1 | mysql> drop table stu; |
如果删除一个不存在的表就会报错,删除的时候可以判断一下,存在就删除。
1 | mysql> drop table stu; |
可以一次删除多个表
1 | mysql> drop table a1,a2; |
1.4.6 修改表
1 | 语法:alter table 表名 |
1、添加字段:alter table 表名add [column] 字段名 数据类型 [位置]
例题一:添加字段
1 | mysql> alter table teacher add age int; |
例题二:在第一个位置上添加字段
1 | mysql> alter table teacher add email varchar(30) first; |
例题三:在指定的字段后添加字段
1 | mysql> alter table teacher add sex varchar(2) after name; |
2、删除字段:alter table 表 drop [column] 字段名
1 | mysql> alter table teacher drop email; |
3、修改字段(改名改类型):alter table 表 change [column] 原字段名 新字段名 数据类型 …
将字段sex改为xingbie,数据类型为int
1 | mysql> alter table teacher change sex xingbie int; |
4、修改字段(不改名):alter table 表 modify 字段名 字段属性…
将性别的数据类型改为varchar(2)
1 | mysql> alter table teacher modify xingbie varchar(2); |
5、修改引擎:alter table 表名 engine=引擎名
1 | mysql> alter table teacher engine=myisam; |
6、修改表名:alter table 表名 rename to 新表名
1 | mysql> alter table teacher rename to stu; |
1.4.7 复制表
1 | 语法一:create table 新表 select 字段 from 旧表 |
特点:不能复制父表的主键,能够复制父表的数据
1 | mysql> create table stu1 select * from stu; |
1 | 语法二:create table 新表 like 旧表 |
特点:只能复制表结构,不能复制表数据
1 | Query OK, 0 rows affected (0.00 sec) |