• 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、自增约束

  • 相关阅读:
    SpringBoot2.0(mybatis-plus常见的增删改查和分页)
    技术分享| anyRTC服务4.3升级
    如何设计神经网络结构图,神经网络设计与实现
    RabbitMq-RabbitMq简介与七种工作模式
    c# HookProc 钩子
    Web大学生网页作业成品——易购商城网站设计与实现(HTML+CSS+JavaScript)
    Anaconda中利用conda创建、激活、删除、添加新环境
    web网页设计实例作业HTML+CSS+JavaScript蔬菜水果商城购物设计
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java家具商城hog7l
    用原生input type=range 写一个滑块,兼容各大浏览器
  • 原文地址:https://blog.csdn.net/weibo1230123/article/details/125472298