• 4.表的约束


    4 .表的约束

    为了防止数据表中插入错误的数据 ,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。

    我在这里列举一下约束条件和说明啊:

    约束条件

    说            明

    PRIMARY KEY

    主键约束,用于唯一标识对应的记录

    FPREIGN KEY

    外键约束

    NOT NULL

    非空约束

    UNIQUE

    唯一性约束

    DEFAULT

    默认值约束,用于设置字段的默认值

    这些约束条件都是针对表中的字段进行限制,从而保证表中数据的正确性和唯一性。

    因为FPREIGN KEY 外键设计到多表操作,这里除了它,先详细介绍其他的:

    1. 主键约束

    为了快速能找到某条信息,可以通过设置主键来实现。

    主键约束是通过 PRIMARY KEY 来定义的,它可以唯一标识表中的记录,这就好比身份证可以用来标识人的身份一样,在MySQL中,主键分为两种:

    l  1️⃣单字段主键

    他是由一个字段构成的主键,语法如下:

    字段名 数据类型 PRIMARY KEY

    例【在创建表时 顺带加进去 – 创建一个名字为bihu_temp的表 并且将 id 设为 主键】

    CREATE TABLE      bihu_temp(

    id INT PRIMARY KEY,

    name VARCHAR(20),

    gread FLOAT

    );

    l  2多字段主键(复合主键)

    多字段主键是指多个字段组合而成的主键,语法:

    PRIMARY KEY(字段名1, 字段名1,… 字段名n)

    例【在创建表时在底部加进去 :创建一个名字为bihu_temp1的表并且将id和grade设为主键】

    CREATE TABLE bihu_temp1(

    id INT,

    age INT,

    sex char(0),

    grade FLOAT,

    PRIMARY KEY(id,grade)

    );

    Tips:一个表中只能有一个主键约束,定义为 PRIMARY KEY 的字段不能有重复的值且不能为NULL(空)。

     

    1. 非空约束

    非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是用NOT NULL 来定义的 语法如下:

    字段名 数据类型 NOT NULL;

    例: 创建一个名为bihu_notnull的表 将他的name属性设置非空约束 即名字不能为空

    CREATE TABLE bihu_notnull(

    id INT,

    name VARCHAR(20) NOT NULL

    );

    1. 唯一约束

    它能保证字段的唯一性,即字段的值不能重复出现,就好像身份证 不可能有一样的

    唯一约束用UNIQUE定义,语法如下:

    字段名 数据类型 UNIQUE;

    例:创建一个名为bihu_notnull的表将他的number属性设置唯一约束 即number不能重复

    CREATE TABLE bihu_notnull(

    id INT,

    number VARCHAR(17) UNIQUE

    );

    1. 默认约束

    默认约束用于给数据表指定默认值、即当在表中插入一条记录时,如果没给这个字段赋值,那么系统会自动给这个字段插入默认值,默认值是通过DEFAULT关键字定义的:

    语法:    字段名 数据类型 DEFAULT 默认值;

    例:创建一个名为bihu_notnull的表将他的grade属性设置默认值

    CREATE TABLE bihu_notnull(

    id INT NOT NULL,

    number VARCHAR(17) UNIQUE,

    grade FLOAT DEFAULT 0

    );

    1. 设置表的字段自动增长

    自动增长一般用在主键 ID ,他是用AUTO_INCREMENT约束来实现的。

    AUTO_INCREMENT约束 的字段可以是任何整数类型。

    默认情况下,该字段的值是从1开始中增的,语法:

    字段名 数据类型 AUTO_INCREMENT;

    例:创建一个名为bihu_notnull的表将他的id设置为自增长,还有其他约束…

    CREATE TABLE bihu_notnull(

    id INT PRIMARY KEY AUTO_INCREMENT UNIQUE  NOT NULL,

    number VARCHAR(17) UNIQUE,

    grade FLOAT DEFAULT 0

    );

    标的约束暂且就那么多 其实要多用就会了 忘记了记得回来看

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14788429.html

  • 相关阅读:
    什么是多线程中的上下文切换?
    java 中有几种方法可以实现一个线程?
    什么叫线程安全?servlet 是线程安全吗?
    什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )?
    一个线程运行时发生异常会怎样?
    我的样式
    springboot+dynamic多数据源配置
    mybatis plus条件拼接
    springboot配置虚拟路径
    springboot+mybatis+Druid配置多数据源(mysql+postgre)
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14788429.html
Copyright © 2020-2023  润新知