接上篇
学习的时候尽量关键字和函数名用大写;
提示:如果你想产看数据库或者数据表的各种特性,就用
show create +db-name or tb-name;
如果你只是想查看共有多少表或数据库直接用
show databases ;
use db-name;
show tables;然后再去进行表级别的操作。
想查看表的各列的性质就是
show columns from tbl-name;
表级别
如果你想改变表的名称
alter table tbl-name rename (to/as)new -tbl-name;
或者
rename table tbl-name to new-tbl-name[,tbl2-name to new-tbl-name,]
(can change many table's name once time)
表级别
显示索引
show index from tbl-name;
列的展示
show columns from tb-name;
添加单列
alter table tb-name add column-name column-definition *after column-name or first(放在所有列的前面*;
添加多列
alter table tb-name add (column-name column-definition ,,,,);
删除单列
alter table tb-name drop column-name;
删除多列
alter table tb-name drop column-name,drop column-name;
边删边加
alter table tb-name drop column-name,add column-name column-definition;
关于约束
①可以在建表的时候就直接对表进行了约束
其中值得关注的是外键:
有一个cascade,父表进行相应操作时,子表也会进行相应的操作。
eg:
例如父表(province)删除了东西,那么子表(user)就会自动删除。
create tabel user(
id smallint unsigned primary key auto_incerent,
username varchar(20) unsigned not null,
pid tinyint unsigned ,
foreign key(pid) references province(id)on delete cascade
)
②建表完成对表进行约束操作
主键
alter table tal-name add primary key(col-name);
alter table tal-name drop primary key;
外键
alter table tal-name add foreign key(col-name);
alter table tal-name drop foreign key user_ibfk_1(col-name所在的代码);
索引
alter table tal-name add unique(col-name);
alter table tal-name drop index col-name;
添加默认约束
一般我们会默认为null,但是我不想看着这么丑
那么就可以
alter table tbl-name alter col-name set default 值|drop default;
想修改表格中的某些列性质,你可以
alter table tbl-name modify col-name col-definition first or after some-col-name ;
修改列名称
alter table tbl-name change old-col-name to new-col-name col-definition;