mysterious-killer


    1.0 约束分类

约束类型: 主键 默认值 唯一 外键 非空
关键字: PRIMARY KEY DEFAULT UNIQUE FOREIGN NOT NULL



    2.0 建立含约束的表


    3.0 主键
        约束英文:constraint
        约束实际上就是表中数据的限制条件

        主键是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,主键不能有重复且不能为空
        复合主键

 CONSTRAINT P_ID PRIMARY KEY (s_name,d_age)


    4.0 默认值约束
        当有 DEFAULT 约束的列,插入数据为空时,将使用默认值
            p_num int(10)DEFAULT\'10\',
            p_num 有默认约束,默认值为10

            # 正常插入数据

  INSERT INTO department(dpt_name,people_num) VALUES(\'dpt1\',11);

            #插入新的数据,people_num 为空,使用默认值

 INSERT INTO department(dpt_name) VALUES(\'dpt2\');

        SELECT + 表字段名 + FROM +数据表名
        表字段名那个,如果想要获得所有的字段或者不知道有哪些字段的情况下用*代表所有字段。
        比如
            SELECT * FROM 获取每条信息全部字段的值
            SELECT id , name FROM 只能获取每条信息的id字段和name字段的值

    5.0 唯一约束 (UNIQUE)
        当 INSERT 语句新插入的数据和已有数据重复的时候,如果有 UNIQUE约束,则 INSERT 失败
        比如:

INSERT INTO employee VALUES(01,\'Tom\',25,3000,110110,\'dpt1\');
INSERT INTO employee VALUES(02,\'Jack\',30,3500,110110,\'dpt2\'); 

    6.0 外键约束 (FOREIGN KEY)
        既能确保数据完整性,也能表现表之间的关系。一个表可以有多个外键,每个外键必须(参考)另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。




    7.0 非空约束
  非空约束 (NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。
        
        在MySQL中违反非空约束,会报错,比如以下语句:
            #INSERT 成功 age 为空,因为没有非空约束,表中显示 NULL
            INSERT INTO employee(id,name,salary,phone,in_dpt) VALUES(03,\'Jim\',3400,119119,\'dpt2\');

            #报错 salary 被非空约束,插入数据失败
            INSERT INTO employee(id,name,age,phone,in_dpt) VALUES(04,\'Bob\',23,123456,\'dpt1\');


    PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。
    NSIGNED是无符号的意思,代表该字段没有正负。
    AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。(例如在上面的例子中,ID列每增加一条记录,便会从100自增) 。

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-09-24
  • 2021-11-24
  • 2021-11-14
  • 2021-10-26
  • 2021-07-04
猜你喜欢
  • 2022-12-23
  • 2021-04-19
  • 2022-01-31
  • 2021-09-01
  • 2021-10-04
  • 2022-12-23
  • 2021-10-23
相关资源
相似解决方案