zoukankan      html  css  js  c++  java
  • MySql数据库约束,主键和外键约束的添加删除,代码实现,sql语句实现

    --概述 

    对表中的数据进行限定,保证数据的正确性、有效性和完整性。

    1. primary key:主键约束  要求表中有一个列 唯一 且 非空,通常我们使用id作为主键
    
    2. unique:唯一约束
    
    3. not null:非空约束
    
    4. default:默认值
    
    5. foreign key:外键约束

    1.主键约束

    -- 给student表添加主键约束
    ALTER TABLE student ADD PRIMARY KEY(id);
    
    -- 创建表,指定主键约束
    CREATE TABLE stu1(
     id INT PRIMARY KEY AUTO_INCREMENT,
     `name` VARCHAR(32)
    );
    
    -- 创建表时,可以指定主键约束(多个字段) 联合主键
    CREATE TABLE stu2(
     id INT,
     `name` VARCHAR(32),
     PRIMARY KEY(id,`name`)
    );
    
    -- 修改自增器起始值...
    ALTER TABLE stu3 AUTO_INCREMENT=10000;
    
    -- 先移除自增器
    ALTER TABLE stu3 MODIFY id INT;
    
    -- 再移除主键约束
    ALTER TABLE stu3 DROP PRIMARY KEY;

    2.唯一约束

    限定某一列的值不能重复,不能限定NULL

    -- 创建表时指定字段为唯一约束
    create table 表名(
      列名 数据类型 unique
    );

    3.非空约束

    create table 表名(
      列名 数据类型 not null, -- 非空约束
      列名 数据类型 unique not null -- (唯一+非空) 约束
    );
    -- 唯一 + 非空 
    CREATE TABLE stu5(
        id INT PRIMARY KEY AUTO_INCREMENT,
       `name` VARCHAR(32) UNIQUE NOT NULL
    );

    4.默认值

    限定某一列的默认值,再没有指定的情况下所有列的默认值为null

    --创建表时指定字段默认值
    create table 表名(
       列名 数据类型 default 默认值,
       ...
       ...
    );
    -- 默认值
    CREATE TABLE stu6(
       id INT PRIMARY KEY AUTO_INCREMENT,
       `name` VARCHAR(32) DEFAULT NULL,
       sex VARCHAR(5) DEFAULT ''
    );
  • 相关阅读:
    P4127 [AHOI2009]同类分布
    区间DP
    P3146 [USACO16OPEN]248
    P1241 括号序列
    P2858 [USACO06FEB]奶牛零食Treats for the Cows
    P2602 [ZJOI2010]数字计数&P1239 计数器&P4999 烦人的数学作业
    数位DP
    jquery生成元素注册事件无效,及事件委托的使用
    Jquery ajax运用执行顺序有误怎么解决
    html页面输入框input的美化
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/13434322.html
Copyright © 2011-2022 走看看