zoukankan      html  css  js  c++  java
  • mysql的数据约束

    数据约束是指对用户插入的数据进行规范,

    1、默认值

      CREATE TABLE student(

      id INT,

      NAME VARCHAR(20),

      address VARCHAR(20) DEFAULT '山东淄博' 

      )

      当用户对使用默认值的字段不插入值的时候,就使用默认值。

      注意:

      1)对默认值字段插入null是可以的。

      2)对默认值字段可以插入非null

    2.、非空

      CREATE TABLE student(

      d INT,

      NAME VARCHAR(20),

      gender VARCHAR(2) NOT NULL 

      )

      限制字段必须赋值

      注意:

      1)非空字符必须赋值

      2)非空字符不能赋null

    3、唯一

      CREATE TABLE student(

      id INT UNIQUE,

      NAME VARCHAR(20)

      ) 

      对字段的值不能重复

      注意:

      1)唯一字段可以插入null

      2)唯一字段可以插入多个null

    4、主键

      CREATE TABLE student(

      id INT PRIMARY KEY

      NAME VARCHAR(20)

      )

      作用: 非空+唯一

      注意:

      1)通常情况下,每张表都会设置一个主键字段。用于标记表中的每条记录的唯一性。

      2)建议不要选择表的包含业务含义的字段作为主键,建议给每张表独立设计一个非业务含义的id字段。

    5、自增长

      CREATE TABLE student(

      id INT(4) ZEROFILL PRIMARY KEY AUTO_INCREMENT

      NAME VARCHAR(20)

      )

      自动增加,只能加在int类型及主键上

      -- 不能影响自增长约束

      DELETE FROM student;

      -- 可以影响自增长约束

      TRUNCATE TABLE student;

    6、外键

      -- 部门表(主表)

      CREATE TABLE dept(

      id INT PRIMARY KEY,

      deptName VARCHAR(20)

      )

      -- 修改员工表(副表/从表)

      CREATE TABLE employee(

      id INT PRIMARY KEY,

      empName VARCHAR(20),

      deptId INT,-- 把部门名称改为部门ID

      -- 声明一个外键约束

      CONSTRAINT emlyee_dept_fk FOREIGN KEY(deptId) REFERENCES dept(id)

    --       外键名称          外键     参考表(参考字段)

    )

     注意:

    1)被约束的表称为副表,约束别人的表称为主表,外键设置在副表上的!!!

    2)主表的参考字段通用为主键!

    3)添加数据: 先添加主表,再添加副表

    4)修改数据: 先修改副表,再修改主表

    5)删除数据: 先删除副表,再删除主表

    -- 不能影响自增长约束

    DELETE FROM student;

    -- 可以影响自增长约束

    TRUNCATE TABLE student;

  • 相关阅读:
    用mysql+redis实现微博feed架构上需要注意哪些问题
    windows7下安装zend studio5.5
    鼠标移出DIV层时,触发onMouseOut事件
    关于MVVM和RAC的一些拓展阅读
    Swift(上) 常量, 变量, 数据类型, 循环, 选择结构 简单函数
    SDWebImage的使用
    App Store新应用提审攻略
    关于iOS的推送服务的点点
    iOS开发代码规范
    伟大的RAC和MVVM入门(二)
  • 原文地址:https://www.cnblogs.com/marswenze/p/13163758.html
Copyright © 2011-2022 走看看