zoukankan      html  css  js  c++  java
  • 修改数据表——添加约束(二十二)

      比如,原来数据表根本就没有约束,或者说,约束不够。那么如何来添加约束呢?

    添加约束

      1、添加主键约束(只能一个)

      2、添加唯一约束(可以多个)

      3、添加外键约束()

       4、添加默认约束()

      现在,先创建

    create table user2(
    username  varchaer(10)  not  null ,
    pid   smallint  unsigned 
    );
    
    
    show  columns  from  user2;

    alter table  user2  add  id  smallint  unsigned ;



    show  columns  from  user2;

      一、添加主键约束的语法结构

    ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

    PRIMARY KEY [index_type] (index_col_name)

      CONSTRAINT是可以添加,也可以不添加。如果添加的话,表示为约束起名字的意思。

     

     

      比如我们为user2表中的id字段添加一个主键约束

    alter  table  user2  add   constraint  pk_user2_id   primary  key(id);



    show  columns  from  user2;

      二、添加唯一约束的语法结构

    ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

    UNIQUE [INDEX|KEY] [index_name] [index_type]

    (index_col_name,…)

     

      比如我们为user2表中的username字段添加唯一约束

    alter  table  user2  add  unique(username);
    
    
    
    show  columns  from  user2;

      三、添加外键约束的语法结构

    ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

    FOREIGN KEY [index_name] (index_col_name,…)

    reference_definition

      比如我们为user2表中的pid字段添加外键约束

    alter   table  user2   add  foregin  key(pid)   references   provinces(id);



    show  columns  from  user2;

     

     

     

     

     

     

     

     

      四、添加/删除默认约束的语法结构

    ALTER TABLE tbl_name ALTER [COLUMN] col_name

    {SET DEFAULT literal | DROP DEFAULT}

     

    比如我们为user2表中的age字段添加默认值为15

      

    alter   table   user2  alter  age  set  default  15;



    show  columns  from  user2;

      当然我们也可以删除我们刚才设置的默认约束

    alter   table  user2   alter   age   drop   default;




    show  columns  from  user2;
  • 相关阅读:
    python web自动化测试框架搭建(功能&接口)——通用模块
    Python web自动化测试框架搭建(功能&接口)——unittest介绍
    什么是Referrer-Policy
    git pull 问题
    [坑]sed命令替换指定字符后不固定字符串,文本信息的替换删除
    修改Mysql procedure,function and view definer
    遵循PEP8风格指南
    Mysql create constraint foreign key faild.trouble shooting method share
    Spring JDBC FOUND_ROWS 安全吗?
    邮件安全产品方案
  • 原文地址:https://www.cnblogs.com/zlslch/p/6540037.html
Copyright © 2011-2022 走看看