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

     

     

     

    对字段的值不能重复

  • 相关阅读:
    JSTL和EL
    JSP
    Servlet基础知识
    JSON基础知识
    jQuery基础知识
    ajax基础知识
    索引实战
    反射
    设计模式
    JVM的异常处理
  • 原文地址:https://www.cnblogs.com/0826sw/p/12014805.html
Copyright © 2011-2022 走看看