1.修改列定义:(如改类型,改位置)
alter table tbl_name modify[column] col_name column_definition [first |after col_name];
Users2这张表的结构:
可以看到,id位于第三列,并未位于第1列。这显然不太合理。
改位置:alter table users2 modify id smallint unsigned not null first;
smallint unsigned not null是id字段的字段定义,不需要修改,直接写下即可。
再次查看,可以看到id字段已经位于整张表的第一列。
同样,也可以修改id的类型:
注意,由大类型修改为小类型,有可能会造成数据的丢失。注意数据的存储位数。
2.修改列定义/名称
alter table tbl_name change[column] old_col_name new_col_name column_definition
[first|after col_name]
将pid类型/名称都修改:alter table users2 change pid p_id tinyint unsigned not null;
将pid字段名字改为p_id 类型改为tinyint unsigned not null.
3.数据表更名:
方法1:alter table tbl_name rename[To|As] new_tbl_name
方法2:rename table tbl_name to new_tbl_name[,tbl_name2 to new_tbl_name2]...
实例:
方法a:alter table users2 rename users3;
将数据表名称 users2 重命名为users3
方法b:rename table users3 to users2,t2 to RK2;
重命名数据表users3 为 users2,t2为RK2;
尽量少使用数据列/数据表更名,因为极有可能被引用,会导致无法工作。
小结-----------------------------
约束,按功能划分:
Not null-非空约束
primary key-主键约束
unique key-唯一约束
Default -默认约束
foreign key-外键约束
按数据列的数目划分:表级约束,列级约束
修改数据表:
针对字段操作:添加/删除字段/修改列定义,修改列名称;
针对约束操作:添加/删除约束;
针对数据表操作:数据表更名。
一直在http://www.imooc.com/ 学习,感觉不错。