zoukankan      html  css  js  c++  java
  • 菜鸟的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相同。
    表级约束和列级约束:对一个数据列建立的约束 为列级约束;对多个数据列建立的约束称为表级约束。
    表级约束只能再列定义后声明,列级约束可以再列定义时声明,也可以再列定义后声明。

     

  • 相关阅读:
    js的解析顺序 作用域 严格模式
    弹性盒模型----容器属性
    tomcat解压版的配置与使用
    将mysql中一行中的几个字段 转换成一列并从其他数据库中查对应的邮件信息
    电脑快捷键
    icell更改用户管理员
    kettle下载地址
    pycharm激活码
    leetcode-111. 二叉树最小深度 · Tree + 递归
    leetcode-102.层序遍历二叉树(正序)· BTree
  • 原文地址:https://www.cnblogs.com/wyf-349/p/5434422.html
Copyright © 2011-2022 走看看