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

     

     

     

    对字段的值不能重复

  • 相关阅读:
    Java基础之内部类介绍
    Java基础之泛型的使用
    Zookeeper的ZAB协议
    ssm框架整合快速入门
    maven创建web项目
    Shiro快速入门
    工作流Activiti新手入门学习路线整理
    Bootstrap-table实现动态合并相同行(表格同名合并)
    Bootstrap-datetimepicker日期插件简单使用
    java web定时任务---quartz
  • 原文地址:https://www.cnblogs.com/0826sw/p/12014805.html
Copyright © 2011-2022 走看看