• 菜鸟的MySQL学习笔记(二)


    3-1约束

    1、约束保证数据的完整性和一致性;
    2、约束分表级约束(两个或两个个以上字段的约束)和列级约束(一个字段约束);
    3、NOT NULL       非空;
    PRIMARY KEY       主键约束;
    UNIQUE KEY         唯一约束;
    DEFAULT               默认约束;
    FOREIGN KEY        外键约束。
    空值与非空值:
    NULL 与 NOT NULL 
    自动编号:
    AUTO_INCREMENT 自动编号,必须与主键组合使用,默认情况下起始值为1,每次增量为1;
    主键:
    PRIMARY KEY  主键约束,每张鼠标只存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL;
    #CREATE TABLE tb3(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,       #设置主键 和自动编号
    username VACHAR(20) NOT NULL);
    唯一约束:
    UNIQUE KEY 唯一约束,可以保证记录的唯一性,可以为空值(只有一个NULL值),每张数据表可以存在多个唯一约束
    #CREATE TABLE tb4(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VACHAR(20) NOT NULL UNIQUE KEY,     #设置姓名唯一约束 
    age TINYINT UNSIGNED);
    默认约束:
    DEFAULT  当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
    #CREATE TABLE tb5(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VACHAR(20) NOT NULL UNIQUE KEY,
    sex EMUI('1','2','3') DEFAULT '3');       #设置默认性别字段为3
    外键约束:
    要求:父表和子表必须使用相同的存储引擎,只能为InnoDB,且禁止使用临时表;外键列和参照列必须具有相似的数据类型,其中数字的长度或者是否有符号位必须相同;而字符的长度则可以不同;外键列和参照列必须创建索引。如外键列不存在索引,mysql将自动创建索引。
    #默认存储引擎:bin目录下 my.ini文件中  修改成INNODB;
    针对外键约束的参照操作:
    1、CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行;
    2、SET NULL:从父表删除或更新行,并设置子表中的外键列;
    3、RESTRICT:拒绝父表的删除或更新操作;
    4、NO ACTION:标准SQL的关键字,再mysql中与RESTRICT相同。
    表级约束和列级约束:对一个数据列建立的约束 为列级约束;对多个数据列建立的约束称为表级约束。
    表级约束只能再列定义后声明,列级约束可以再列定义时声明,也可以再列定义后声明。

     

  • 相关阅读:
    Core的学习三:容器的使用实例
    Core的学习二:【四步完成】.Net Core中Log4net的使用,配置,【框架.NET5】
    C#7 的一些新语法
    C#6 的一些新语法
    Core的学习一:Core部署在IIS下
    C# 特性【Attribute】【什么是特性?以及特性的一些修饰】
    C#反射
    泛型 -Generic 【why,原理,与普通方法,object的性能对比如何?泛型类、泛型方法、泛型接口、泛型委托,泛型约束,协变 逆变,泛型缓存】
    springboot通过切面编程实现系统请求操作日志记录
    Linux 【安装配置VM虚拟机】
  • 原文地址:https://www.cnblogs.com/wyf-349/p/5434422.html
Copyright © 2020-2023  润新知