mysql数据库表结构与表约束
Posted 巴蜀秀才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库表结构与表约束相关的知识,希望对你有一定的参考价值。
表结构操作:
添加单列:alter table tb_name add [column] col_name
添加一列: alter table `sudty` add `aaa` int;
添加多列:
指定添加在哪:默认添加在最后一列,用after+col_name可以添加在某一列之后
使用first可以添加第一列。
alter table `sudty` add `bbb` int after `name`;在sudty这个表的name后添加一列bbb。
alter table `sudty` add `科目` int first;
删除列:alter table sudty drop bbb;
删除多列:alter table sudty drop aaa,drop scx;
修改表:
修改age的数据类型:
alter table sudty modify `age` varchar(20);
修改age的列名为年龄:
alter table sudty change `age` `年龄` varchar(20);
修改表名sudty为school:
alter table sudty rename to school;
非空约束:not null
建表时约束:
建表后约束:
此时,id和name的Null值都变为NO了。有非空约束的列,传值进去的时候就必须传它。
唯一约束:
删除唯一约束:
添加唯一约束:现在给tb 添加一列`name`,让后添加一个联合唯一:
此时,联合唯一的key名是id,所以删除只需要写:alter table tb drop key id;
insert into tb (id,name) values(1,\'王五\'),(2,\'王五\'); 注意两个联合起来才唯一,
即只要id和name不是两个同时相同就可以。
主键约束:
一个unique key 又是一个not null的时候,那么它被当做primary
key主键当一张表里没有一个主键的时候,第一个出现的非空且为唯一的列被视为有主键。
自然可以在建表的时候添加主键约束,下面讨论给表tb的id添加主键约束:
删除主键:
添加联合主键:任然只有一个主键(虽然有两个PRI)
删除联合主键和正常删除主键是一样的操作。
默认约束:default
初始值设置,插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
插入值:
此时表的详情:
删除default:
添加默认default
方法一:
方法二:
mysql数据库,外键约束和表关系
以上是关于mysql数据库表结构与表约束的主要内容,如果未能解决你的问题,请参考以下文章