• MySQL中有哪些约束?(实例验证)


    1、默认约束

    我们给字段设置默认值的做法,就是默认约束。验证如下:

    (1)创建一个表

    1. CREATE TABLE demo.importhead
    2. (
    3. listnumber INT,
    4. --我们在字段importype定义为INT类型的后面,加了默认值1。
    5. importtype INT DEFAULT 1,
    6. quantity DECIMAL(10,3),
    7. recordingdate DATETIME
    8. );

    (2) 插入数据,不给默认字段添加

    1. INSERT INTO demo.importhead
    2. (
    3. listnumber,
    4. -- 这里我们没有插入字段importtype的值
    5. quantity,
    6. recordingdate
    7. )
    8. VALUES
    9. (
    10. 3456,
    11. 10.23
    12. '2020-12-10'
    13. );

    (3)查询数据

    1. SELECT * FROM demo.importhead

     结果:字段 importtype 的值已经是 1 ,我们实现了将字段的默认值定义为 1 的目的。

    2、主键约束

    主键约束是在表中定义一个主键来唯一确定表中每一行数据的标识符。验证如下:

    (1)创建一个表

    1. CREATE TABLE demo.goodsmaster
    2. (
    3. barcode TEXT,
    4. goodsname TEXT,
    5. price DOUBLE,
    6. itemnumber INT PRIMARY KEY AUTO_INCREMENT
    7. );

    (2)插入数据

    1. INSERT INTO demo.goodsmaster( barcode, goodsname, price)VALUES ( '0001', '书', 0.47);
    2. INSERT INTO demo.goodsmaster( barcode, goodsname, price)VALUES ( '0002', '笔', 0.44);
    3. INSERT INTO demo.goodsmaster( barcode, goodsname, price)VALUES ( '0003', '笔', 0.19);

    (3) 查询表结构和数据

    1. DESCRIBE demo.goodsmaster;
    2. SELECT * from demo.goodsmaster;

     (4)结论:如果某字段设置为主键且自动增加,那这个字段的值唯一,有新数据插入后该字段的值递增。

    3、外键约束

    待补充

    4、非空约束

    非空约束表示字段值不能为空。验证如下:

    (1)创建表

    1. CREATE TABLE demo.test3
    2. (
    3. apple INT NOT NULL,
    4. price DECIMAL(10,3)
    5. );

    (2)插入数据

    INSERT INTO demo.test3( apple, price) VALUES ( 1, 3.19);

    (3)查看表结构和数据

    1. DESCRIBE demo.test3;
    2. SELECT * FROM demo.test3;

     (4)再次插入数据,apple字段为空

     (5)结论:指明某个字段非空,那么添加数据的时候,这个字段必须有值,否则系统就会提示错误。

    5、唯一性约束

    唯一性约束表示这个字段的值不能重复,否则系统会提示错误。跟主键约束相比,唯一性约束要更加弱一些。验证如下:

    (1)创建表

    1. CREATE TABLE test4
    2. (
    3. id INT(11) PRIMARY KEY,
    4. name VARCHAR(22) UNIQUE,
    5. location VARCHAR(50)
    6. );

    (2)插入数据

    INSERT INTO demo.test4( id, name,location) VALUES (3,'weibo','charchar');

    (3)查看表结构和数据

    1. desc test4;
    2. SELECT * FROM demo.test4;

    (4) 总结:在一个表中,我们可以指定多个字段满足唯一性约束,而主键约束则只能有一个。满足主键约束的字段,自动满足非空约束,但是满足唯一性约束的字段,则可以是空值。

    6、自增约束

  • 相关阅读:
    【笑小枫的SpringBoot系列】【十八】SpringBoot中的Properties配置
    “2022年度科技行业CEO”!
    React报错之Cannot assign to ‘current‘ because it is a read-only property
    吃瓜教程-模型的评估与选择
    2023年Word文档(包括doc文档和docx文档)解密的四种方法和提醒
    VScode在服务器上远程调试python代码的工作目录问题
    【Java SE】基本练习
    Redis系列之常见数据类型应用场景
    数据类型和 Java 基础⾯试问题
    2021年9月电子学会图形化二级编程题解析含答案:画正多边形
  • 原文地址:https://blog.csdn.net/weibo1230123/article/details/125472298