MySQL命令大全——完整性约束

一、主键

    主键是数据库中用来唯一确定每条记录的标识。

    特点:主键列的值不能为NULL,也不能重复

    关键字:primary key

    语法:

      1、在创建表时直接在某字段后面定义

        create table student (s_id int primary key , s_name varchar(20), a_age int, a_gender varchar(10));

       2、在创建表时,先定义完字段,再在最后单独设置主键

         create table student (s_id int, s_name varchar(20), a_age int, a_gender varchar(10), primary key(s_id));

       3、在创建表完成后,更新表结构时指定主键

         alter table student add primary key(s_id);

       4、删除主键(只删除主键约束,不会删除主键列)

         alter table student drop primary key;

二、主键自增长

    当主键设置为自增长后,在没有给出主键值时,主键的值会自动添加,而且是已有的主键最大值+1,很好的避免人工输入而出现重复

    关键字:auto_increment

     语法:

      1、在创建表时直接定义

        create table student (s_id int primary key auto_increment , s_name varchar(20), a_age int, a_gender varchar(10));

       2、修改表结构时设置主键自增长

        alter table student change s_id s_id int auto_increment;

       3、删除主键自增长约束

        alter table student change s_id s_id int;

三、非空

    指定非空约束的字段不能没有值,也就说在插入记录时,对添加了非空约束的字段一定要含有值,在修改记录时,不能把非空字段的值设置为NULL

    关键字:not null

     语法:

    create table student (s_id int primary key auto_increment , s_name varchar(20) not null, a_age int, a_gender varchar(10));

四、唯一

    用唯一约束的字段,在添加值时不能添加相同的元素

    关键字:unique

     create table student (s_id int primary key auto_increment , s_name varchar(20) unique, a_age int not null, a_gender varchar(10));

五、外键

    主外键关联是构成表与表之间的关联的唯一途径

    外键是另一张表的主键

    外键是用来约束该字段的值必须在另一张表的主键值中取得

    关键字:foreign key

    语法:

      例:建一张班级表

      create table class (c_id int primary key, c_name);

      再建一张学生信息表,其中包含班级字段grade,并且设置grade字段是class表的外键

      create table student (s_id int primary key,

                  s_name varchar(30),

                  s_grade int,

                  constraint fk_class foreign key (s_grade) references class(c_id));

      说明:constraint: 定义主键名称,fk_class,不写时会给默认名;

六、表与表直接的关联

     一对一,一对多,多对一,多对多

七、数据库备份

    备份

    Mysqldump -u用户名 –p密码 要备份的数据库>SQL保存的路径
    Mysqldump –uroot –p123 mydb1>c:\mydb1.sql
    还原
    mysql –u用户名 –p密码 数据库<要执行脚本文件路径
    Mysql –uroot –p123 mydb1<c:\mydb1.sql

    

posted @ 2017-05-01 10:00  Stitch_wyq  阅读(891)  评论(0编辑  收藏  举报