zoukankan      html  css  js  c++  java
  • MySQL数据库约束

    一丶默认值(当用户对使用默认值的字段不插入值的时候,就使用默认值。建表时就可创建,可删改)

    CREATE TABLE suser(
    uid INT,
    uname VARCHAR(10),
    address VARCHAR(30) DEFAULT '山东淄博'
    );

    二丶非空(限制字段必须赋值,设定的非空字段不能赋值null)

    CREATE TABLE suser(
    uid INT,
    uname VARCHAR(10),
    idcard VARCHAR(20) NOT NULL,
    address VARCHAR(30) DEFAULT '山东淄博'
    );

    三丶唯一(对字段的值不能重复,唯一字段可以插入null  唯一字段可以插入多个null    )                      

    CREATE TABLE suser(
    uid INT,
    uname VARCHAR(10) UNIQUE,
    idcard VARCHAR(20) NOT NULL,
    address VARCHAR(30) DEFAULT '山东淄博'
    );

     

    四丶主键(非空+唯一)

    CREATE TABLE suser(
    uid INT PRIMARY KEY,
    uname VARCHAR(10) UNIQUE,
    idcard VARCHAR(20) NOT NULL,
    address VARCHAR(30) DEFAULT '山东淄博'
    );

     

     

    五丶外键

    (约束两种表的数据

    解决数据冗余高问题:独立出一张表

    )

     

    -- 部门表(主表)

    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)当有了外键约束,删除数据的顺序: 先删除副表,再删除主表数据

     

     

     

    对字段的值不能重复

  • 相关阅读:
    vue项目中npm安装sass,less,stylus
    jQueryniceScroll滚动条错位问题
    基于github发布 个人网站/博客
    【转载】预处器的对比——Sass、LESS和Stylus
    元素,布局方式,BFC和清除浮动
    使用git向github中添加项目并更新(备忘录)
    nginx 之 grok 过滤
    gitlab 同步小脚本
    svn同步小脚本
    使用pip命令自动生成项目安装依赖清单
  • 原文地址:https://www.cnblogs.com/0826sw/p/12014805.html
Copyright © 2011-2022 走看看