MySql---数据的完整性

#实体的完整性

概述:  实体:即表中的一行(一条记录)代表一个实体(entity) 实体完整性的作用:标识每一行                数据不重复

约束类型有:主键约束 primary key      唯一约束 unique   自动增长列  auto_increment 

  *主键约束

            注:每个表中要有一个主键。特点:数据唯一,且不能为null。

            第一种添加方式:

                 CREATE TABLE student( id int primary key, name varchar(50));

            第二种添加方式:此种方式优势在于,可以创建联合主键

                 CREATE TABLE student(id int,name varchar(50),primary key(id));

                 CREATE TABLE student(classid int,stuid int,name varchar(50),primary key(classid                           ,stuid));

           第三种添加方式:

                 CREATE TABLE student(id int,name varchar(50));

                  ALTER TABLE  student  ADD PRIMARY  KEY (id);

*唯一约束

        特点是不能重复

        create table student(id int primary key,name varchar(255) unique);

*自动增长列

       sqlserver数据库(identity)     oracle数据库( sequence)��

       给主键添加自动增长的数值,列只能是整数类型

      create table student(id int primary key auto_increment,name varchar(255));

#域完整性

  域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较  域代表当前单元     格 域完整性约束:数据类型   非空约束(notnull)  默认值约束(default)    check约束(mysql不支    持)check(sex='男'orsex='女')

  *数据类型

     数值类型、日期类型、字符串类型

  *非空约束  not null  

      CREATE TABLE student( Id int pirmary key, Name varchar(50) not null, Sex varchar(10));

      INSERT INTO  student values(1,’tom’,null);

  *默认值约束

      CREATE TABLE student(Id int pirmary key,Name varchar(50) not null,Sex varchar(10) default       ‘男’);

       insert into student1 values(1,'tom','女');

      insert into  student1 values(2,'jerry',default);

#引用完整性(参照完整性)

    外键约束:  foreing     key

     分清主次关系  外键依赖主键    先有主键  再有外键

      语法   

         CONSTRAINT 约束的名字   FOREIGN KEY(约束的字段) REFERENCES 主表(约束字段)

        ALTER  TABLE  次表名称  ADD CONSTRAINT 约束的名字 FOREIGN KEY(约束的字段)               REFERENCES   主表(约束的字段);

    例:

    CREATE TABLE student(sid int pirmary key,name varchar(50) not null,sex varchar(10)                   default‘男’);

    create table score(id int,score int,sid int , --外键列的数据类型一定要与主键的类型一致

    CONSTRAINT fk_score_sid foreign key (sid) references student(id));

   第二种添加外键方式。

    ALTER TABLE score1 ADD CONSTRAINT fk_stu_score FOREIGN KEY(sid) REFERENCES     stu(id);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据的完整性 作用:保证用户输入的数据保存到数据库中是正确的。 确保数据的完整性=在创建表时给表中添加约束 完整性...
    Michael_林阅读 532评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • SQL语言基础 本章,我们将会重点探讨SQL语言基础,学习用SQL进行数据库的基本数据查询操作。另外请注意本章的S...
    厲铆兄阅读 5,347评论 2 46
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11
  • 昨晚看了豹哥的180天修行,很是触动,想到做到,我总是在想着,我做吗?我做吗?头脑里面有太多的想法了,有害怕,恐惧...
    弄嘛阅读 546评论 0 1