zoukankan      html  css  js  c++  java
  • sql约束

    SQL 约束:
    NOT NULL约束 - 确保列不能有NULL值
    默认值约束 default - 提供未指定时为列的值时的默认值
    唯一值约束 unique - 确保了在一列中的所有的值是唯一的
    主键 primary key - 唯一标识数据库表中的每一行/记录
    外键 foreign key - 唯一标识任何其他数据库表中的行/记录
    检查约束 check - CHECK约束可以确保列中的所有值满足一定的条件
    索引 index - 使用非常快速地创建和检索数据库中的数据。


    sql唯一值约束
    添加约束格式:alter table add constraint 约束名称 约束类型(unique,primary key 等)(column ,可以多个)

    表已经存在,修改id为唯一约束
    alter table manager modify id int(10) not null unique;
    或者:
    alter table manager add constraint cmm unique(id,name);

    删除:
    alter table manager drop contraint cmm;
    如果上面sql删除失败,使用以下(我自己操作是把id也设为唯一约束了,表结构里cmm变成了索引,就以删除索引方式删除掉,只有name设置为唯一约束时,以上sql执行ok;网上说,mysql应该使用以下的):
    alter table manager drop index cmm;


    主键约束
    新建:create table manager ( id int(10),name(20),primary key(id,name));
    修改:ALTER TABLE manager add PRIMARY KEY(id); ALTER TABLE manager add CONSTRAINT mana PRIMARY KEY (id,name);
    删除:alter table manager drop primary key;
    主键设计:1.不允许null;2.不允许重复;3.不能是其他表的外键;4.表包含应用于自身的 PRIMARY XML 索引


    外键约束
    CREATE TABLE manager (id INT(10),NAME varchar(20), sex INT(10),address VARCHAR(20) );
    CREATE TABLE staff ( id INT(20),NAME varchar(20),sex INT(10), manaid INT(10) REFERENCES manager(id) )
    修改:
    ALTER TABLE staff ADD FOREIGN KEY(manaid) REFERENCES manager(id);
    新建或者修改失败原因:两个字段的类型长度约束不一致等


    检查约束
    CREATE TABLE staff1 (id INT(10),sex INT (2) NOT NULL ,CHECK (sex<=2))
    ALTER TABLE staff ADD CHECK (sex<=1);
    alter table staff drop check;


    索引
    ALTER TABLE manager ADD INDEX INX_SCH (sex) USING BTREE;
    备注:建议在需要搜索的字段加索引;更新有索引的表会比较慢,索引本身也需更新

  • 相关阅读:
    《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)
    YII 小模块功能
    Netbeans代码配色主题大搜集
    opensuse 启动巨慢 解决方法 90s多
    opensuse 安装 网易云音乐 rpm netease music
    linux qq rpm deb opensuse
    openSUSE 安装 alien
    第一行代码 Android 第2版
    Android Studio AVD 虚拟机 联网 失败
    docker error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuratio
  • 原文地址:https://www.cnblogs.com/vanoraxnc/p/8919122.html
Copyright © 2011-2022 走看看