• MySQL作业1


    目录

    一.创建一张表,包含以下所有数据类型

    建表:​编辑

    二.使用以下六种约束

    1.非空约束

    2.唯一约束

    3.主键约束

    4.外键约束

    5.检查约束

    6.默认值约束


    一.创建一张表,包含以下所有数据类型

    Text 类型:

    Number 类型:

    注意:这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED属性,那么范围将从 0 开始,而不是某个负数。

    Date 类型:

     

    常用数据类型:

    建表:

    二.使用以下六种约束

    NOT NULL非空
    UNIQUE Key唯一键
    PRIMARY KEY主键
    FOREIGN KEY外键
    CHECK检查
    默认值约束

    表的约束示例:

    1、非空约束(NOT NULL)
    列级约束,只能使用列级约束语法定义。
    确保字段值不允许为空
    只能在字段级定义

    CREATE TABLE tb_student(
        id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARCHAR(18) NOT NULL
    )

    NULL
    所有数据类型的值都可以是NULL。
    空字符串不等于NULL。
    0也不等于NULL。


    2、唯一约束
    唯一性约束条件确保所在的字段或者字段组合不出现重复值
    唯一性约束条件的字段允许出现多个NULL
    同一张表内可建多个唯一约束
    唯一约束可由多列组合而成
    建唯一约束时MySQL会为之建立对应的索引。
    如果不给唯一约束起名,该唯一约束默认与列名相同。

    CREATE TABLE tb_student(
        id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARCHAR(18) UNIQUE NOT NULL
    )


    3、主键约束
    主键从功能上看相当于非空且唯一
    一个表中只允许一个主键
    主键是表中唯一确定一行数据的字段
    删除表的约束
    自动增长和默认值
    存储引擎
    主键字段可以是单字段或者是多字段的组合
    当建立主键约束时,MySQL为主键创建对应的索引
    主键约束名总为PRIMARY。

    CREATE TABLE tb_student(
        id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARCHAR(18)
    )

    4、外键约束
    外键是构建于一个表的两个字段或者两个表的两个字段之间的关系
    外键确保了相关的两个字段的两个关系:
    子(从)表外键列的值必须在主表参照列值的范围内,或者为空(也可以加非空约束,强制不允许为空)。
    当主表的记录被子表参照时,主表记录不允许被删除。
    外键参照的只能是主表主键或者唯一键,保证子表记录可以准确定位到被参照的记录。
        
    格式FOREIGN KEY (外键列名)REFERENCES 主表(参照列)

    CREATE TABLE tb_dept(
        dept_id INT PRIMARY KEY,
        NAME VARCHAR(18),
        description VARCHAR(255)
    );

    CREATE TABLE tb_employee(
        employee_id INT PRIMARY KEY,
        NAME VARCHAR(18),
        gender VARCHAR(10),
        dept_id INT REFERENCES tb_dept(dept_id),
        address VARCHAR(255)
    );


    5.# 检查约束

    # 注意检查约束在8.0之前,MySQL默认但不会强制的遵循check约束(写不报错,但是不生效,需要通触发器完成)
    # 8之后就开始正式支持这个约束了。
    create table t3(
        id int, 
        age int check(age > 18),
        gender char(1) check(gender in ('M','F'))
    );


    6.# 默认值
    可以使用default关键字设置每一个字段的默认值。
    -- 创建一张user表
    CREATE TABLE `test`.`user`(  
      `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `name` VARCHAR(225) COMMENT '姓名',
      `sex` TINYINT(1) DEFAULT 1 COMMENT '性别 1男 0女',
      PRIMARY KEY (`id`)
    ) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

    1.非空约束

    2.唯一约束

    3.主键约束

    4.外键约束

    建表,其中第二张表有一个字段与主表关联

    给主表添加一个主键约束

    添加外键

    5.检查约束

    6.默认值约束

  • 相关阅读:
    客户CRM能给企业带来哪些用处?
    深度学习之目标检测模型后处理(非极大值抑制与WBF)
    js中给数组添加元素的方法有哪些
    Python:关于数据服务中的Web API的设计
    请推荐一个合适的教程(文字、视频都可以)
    论文阅读笔记——基于CNN-GAP可解释性模型的软件源码漏洞检测方法
    远程拷贝Windows上的文件到Linux指定的文件夹
    神经网络的三种训练方法,训练神经网络作用大吗
    神经网络评估节点是什么,神经网络评估节点分析
    JupyterHub
  • 原文地址:https://blog.csdn.net/m0_74344277/article/details/133171680