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 ''
    );
  • 相关阅读:
    Informix日期获取上周上月昨天去年SQL
    Oracle-创建一个DBLink的方法
    Kafka-Partitions与Replication Factor 调整准则
    Linux-删除文件空间不释放问题解决
    Redhat7-Oracle-sqlldr-安装配置
    Centos7-安装oracle客户端11.2.0.4
    Centos7-单机安装jumpserver
    Redhat6.4-yum本地源安装配置
    Linux-zip unzip 命令日常使用
    xxl-job日志
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/13434322.html
Copyright © 2011-2022 走看看