MySQL 表的基本操作
1.建表
create table 表名
(
字段1,数据类型 [约束条件] [默认值],
字段2,数据类型 [约束条件] [默认值],
……
[表级别约束条件]
)
例如:在test1数据库中建一个名字为book的表
注:1.建表前要用 “use 数据库名” 指定操作在哪个数据库中进行的。
2.[***]表示非必须。
3.建表时最后一个字段不加“ ; ”
2.修改表
- 修改表名
alter table 旧表名 rename [to] 新表名;
- 修改字段名
alter table 表名 change 旧字段名 新字段名 新数据类型等约束;
示例:将money字段名改为stu_money
alter table student change money stu_money decimal(8,2) NOT NULL DEFAULT 0.00 COMMENT '零花钱';
- 修改字段的数据类型
alter table 表名 modify 字段名 数据类型;
示例:将money字段的数据类型等约束条件改为下述
alter table student modify money decimal(8,2) NOT NULL DEFAULT 0.00 COMMENT '零花钱';
- 添加字段
alter table 表名 add 新字段名 数据类型 [约束条件] [first | after 已存在字段名];
示例:在student表的age字段后添加money字段
alter table student add money decimal(8,2) NOT NULL DEFAULT 0.00 COMMENT '零花钱' after age;
- 删除字段
alter table 表名 drop 字段名;
- 修改字段的排列位置
alter table 表名 modify 字段1 数据类型 first | after 字段2;
- 更改表的存储引擎
alter table 表名 engine=更改后的引擎名;
- 删除表的外键约束
alter table 表名 drop foreign key 外键约束名;
9.修改表的字符集
alter table 表名 character set 字符集名称;
3.查看表
1 查看表的基本结构
describe 表名;
或简写为
desc 表名;
2. 查看表的详细结构
show create table 表名\G
加“\G”使结果更加整齐。
3 查看某个数据库中已经创建的表
(1)前提要先使用use命令进入到了某个数据库
show tables;
(2)不用进入某个数据库,就能查看该库中含有的表
show tables from 数据库名;
4.复制表
1.复制表的结构,但不复制数据
create table 新表名 select * from 目标表 where 1=2;
注:* 表示全部
2.完全复制(结构和数据都复制)
create table 新表 like 目标表;
5.删除表
1.删除没有关联的表
drop table [if not exists] 表名;
2. 删除被其他表关联的主表
先取消关联表的外键约束条件,然后删除父表。
alter table 子表名 drop foreign key 外键约束名
drop table 父表名;
注:可使用show create table 表名\G
查看表的外键约束名