mysql的ddl语句key_MySQL DDL语句

这里介绍MySQL比较常用的DDL语句。包括如下:create table

alter table

drop table

truncate table

1. create table

create table为建表语句,看如下几个示例:在列名后面声明主键

create table t1(id int primary key, name varchar(20));

在表级别声明主键

create table t1(id int, name varchar(20),  primary key(id));

多字段主键(只能在表级别声明)

create table t1(id int, name varchar(20),  primary key(id, name));

建表时指定索引

create table t1(id int, name varchar(20),primary key(id),index idx_t1_name(name));

建表时指定外键

create table t3(id int, name varchar(20),primary key(id),constraint cst_t1_fk foreign key(id) references t2(id));

在表的结尾声明表的属性如存储引擎和字符集等等

create table t1(id int, name varchar(20),  primary key(id, name)) engine=innodb default charset=utf8;

使用if not exists关键字。如果这个表不存在则建立这个表,如果已经存在则报一个warning

create table if not exists t1(id int, name varchar(20), primary key(id));

表建立完成后可以用desc t1;或show create table t1\G查看表的结构,一般情况下desc出来的结果已经够用,但是如果要获得建表的语句最好用show create table t1\G

2. alter table

alter table可以修改表的结构和属性,以下alter table后面的语句可以使用逗号分隔在同一条语     句中执行。看如下几个示例:增加字段

alter table t1 add (column) age int;=======>默认增加字段到表的最后,column关键字可以省略

alter table t1 add (column) age first;=======>增加字段到表的开头

alter table t1 add (column) age after name;=======>增加字段到name字段之后

修改字段

alter table t1 modify age tinyint; ========>修改字段数据类型

alter table t1 modify age tinyint first;========>修改字段数据类型并将字段移动到表的开头

alter table t1 modify age tinyint after id;========>修改字段数据类型并将字段移动到字段id之后

alter table t1 change age student_age tinyint; ========>修改字段名称和数据类型

删除字段

alter table t1 drop (column) age;

添加索引

alter table t1 add index idx_t1_name(name);=======>添加普通索引,index关键字可以换成key,idx_t1_name为索引的名称

alter table t1 add unique index idx_t1_name(name);=======>添加唯一索引

删除索引

alter table t1 drop index idx_t1_name;

删除主键

alter table add drop primary key;

添加主键

alter table add primary key(id);

添加外键

alter table t1 add constraint cst_t1_fk foreign key(id) references t2(id);

删除外键

alter table t1 drop foreign key cst_t1_fk;

重命名表 (下面三种语句都可以)

rename table t1 to t2;

alter table t1 rename t2;

alter table t1 rename to t2;

修改存储引擎或者字符集

alter table t1 engine=myisam;

alter table t1 default charset=latin1;

3. drop table

意思很简单,把表删除。

drop table t1; =========>直接删除表,如果没有这个表会报错

drop table if exists t1; ========>如果没有这个表不会报错,只会报一个warning

4. truncate table

truncate table为截断表的命令,相当于把这个表删除并立即重建。

truncate table t1;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值