码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库表结构与表约束

时间:2018-01-18 11:44:18      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:modify   第一个   style   null   数据库表   expand   char   存在   单列   

表结构操作:

  添加单列: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了。有非空约束的列,传值进去的时候就必须传它。

 

唯一约束:

  确保字段中的值的唯一:  unique key

  同not null一样,它可以在建表的时候:

  技术分享图片

  删除唯一约束:

  技术分享图片

  添加唯一约束:现在给tb 添加一列`name`,让后添加一个联合唯一:

  技术分享图片

  此时,联合唯一的key名是id,所以删除只需要写:alter table tb drop key id;

  insert into tb (id,name) values(1,‘王五‘),(2,‘王五‘); 注意两个联合起来才唯一,

    即只要id和name不是两个同时相同就可以。

    技术分享图片

 

主键约束:

  

  主键保证记录的唯一性, 唯一标识每一条数据主键自动为NOT NULL;每张数据表只能存在

一个主键not null+unique key,一个unique key 又是一个not null的时候,那么它被当做primary

key主键当一张表里没有一个主键的时候,第一个出现的非空且为唯一的列被视为有主键。

  自然可以在建表的时候添加主键约束,下面讨论给表tb的id添加主键约束:

  技术分享图片

  删除主键:

  技术分享图片

  添加联合主键:任然只有一个主键(虽然有两个PRI)

  技术分享图片

  删除联合主键和正常删除主键是一样的操作。

 

 

  

 

mysql数据库表结构与表约束

标签:modify   第一个   style   null   数据库表   expand   char   存在   单列   

原文地址:https://www.cnblogs.com/dan-baishucaizi/p/8308669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!