1、表的创建
create table student(
# 字段名 数据类型 约束条件
# comment:注释
id int not null auto_increment primary key comment '主键',
name varchar(128) comment '姓名',
age int comment '年龄',
sex varchar(8) comment '性别'
)charset=utf8;
# 注:字符集如果不指定, 默认继承库的字符集.
2、查看所有表
查看表前,需要选择对应的数据库。
show tables;
3、查询表结构
desc '表名';
#或者
describe '表名';
4、修改表
-- 修改表的名称
alter table `old_name` rename `new_name`;
-- 移动表 到指定的数据库
alter table `表名` rename to 数据库名.表名;
5、删除表
drop table [if exists] `表名`
6、修改表字段
-- 增加一个新的字段
alter table `表名` add `字段名` 数据类型 [属性];
-- 增加一个新的字段, 并放在首位
alter table `表名` add `字段名` 数据类型 [属性] first;
-- 增加一个新的字段, 并放在某一个字段之后
alter table `表名` add `字段名` 数据类型 [属性] after 指定字段;
-- 修改字段的属性
alter table `表名` modify `字段名` 数据类型 [属性];
-- 修改字段的名称
alter table `表名` change `原字段名` `新的字段名` 数据类型 [属性];
-- 修改字段的位置 ,如果不换名称,可以在新字段名位置填写原字段名称
alter table `表名` change `原字段名` `新的字段名` 数据类型 after `指定字段`;
-- 删除字段
alter table `表名` drop `字段名`;
7、复制表
方法一:复制表,且复制数据
代码:
create table `复制后新表的名称` select * from `源数据表名`;
特点:
- 完整的复制一个表,既有原表的结构,又有原表的数据
- 表内字段的属性会丢失,主键的自增等特性不复存在,新插入数据时会有问题
方法二:仅复制表结构,不复制数据
代码:
create table `复制表的名称` like `原表名`;
特点:
- 复制后的表结构与原表完全相同,字段的属性与原表也完全一致。但是里面没有数据, 是一张空表 。
如果需要,数据可以单独复制
insert into `新表的名称` select * from `源数据表名`;