• MySQL 数据约束


    非空约束
    CREATE TABLE USER(
        uid INT NOT NULL,-- 非空约束
        uname VARCHAR(10),
        address VARCHAR(30) DEFAULT '山东省' -- 默认值
    )
    唯一约束
    CREATE TABLE USER(
        uid INT UNIQUE,-- 唯一约束
        uname VARCHAR(10),
        address VARCHAR(30) DEFAULT '山东省' -- 默认值
    )
    -- 主键约束
    -- 注意:
    -- 1)通常情况下,每张表都会设置一个主键字段。用于标记表中的每条记录的唯一性。
    -- 2)建议不要选择表的包含业务含义的字段作为主键,建议给每张表独立设计一个非业务含义的id字段。
    CREATE TABLE USER(
        uid INT PRIMARY KEY,-- 主键约束  非空+唯一
        uname VARCHAR(10),
        address VARCHAR(30) DEFAULT '山东省' -- 默认值
    )
    INSERT INTO USER( uid,uname) VALUES('张三');
    自增长约束
    CREATE TABLE USER(
        uid INT PRIMARY KEY AUTO_INCREMENT,-- 自增长约束必须是主键
        uname VARCHAR(10),
        address VARCHAR(30) DEFAULT '山东省' -- 默认值
    )
    INSERT INTO USER(uname) VALUES('张三');
    零填充
    CREATE TABLE USER(
        uid INT(5) ZEROFILL PRIMARY KEY AUTO_INCREMENT,-- 自增长约束必须是主键,零填充
        uname VARCHAR(10),
        address VARCHAR(30) DEFAULT '山东省' -- 默认值
    )
    INSERT INTO USER(uname) VALUES('张三');
    -- delete from 清空表不能删除约束
    -- tauncate table 清空表能删除约束

    外键
    CREATE TABLE dept(
        deptid INT PRIMARY KEY AUTO_INCREMENT,
        deptname VARCHAR(10)
    )
    SELECT * FROM dept;
    SELECT * FROM emp;
    INSERT INTO dept(deptname) VALUES('软件开发部');
    INSERT INTO dept(deptname) VALUES('软件测试部');
    CREATE TABLE emp(
        eid INT PRIMARY KEY AUTO_INCREMENT,
        ename VARCHAR(5),
        deptid INT,
        CONSTRAINT emp_dept_fk FOREIGN KEY(deptid) REFERENCES dept(deptid)
    )
    INSERT INTO emp(ename,deptid) VALUES('张三',1);

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

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

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

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

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

  • 相关阅读:
    jdk silent install test
    jdk silent install
    PS_note_01
    string.split('',-1)的作用
    dos下静默安装
    dos命令中rem 与::的区别
    barcode4j用法
    查看tomcat的版本
    eclipse里启动rabbitmq报错 java.net.SocketException: Connection reset
    Mysql性能调优
  • 原文地址:https://www.cnblogs.com/-dashu/p/9293306.html
Copyright © 2020-2023  润新知