精华内容
下载资源
问答
  • 删除约束

    2009-12-06 11:03:00
    删除约束 --删除stuInfo表中的默认约束,df_stuAddress为要删除的约束的名字 alter table stuInfo drop constraint df_stuAddress

    删除约束

    --删除stuInfo表中的默认约束,df_stuAddress为要删除的约束的名字
    alter table stuInfo
    drop constraint df_stuAddress

    展开全文
  • MySQL中的约束,添加约束,删除约束,以及其他的一些修饰:一.NOT NULL(非空约束) 添加非空约束 1)建表时直接添加 CREATE TABLE t_user(user_id INT(10) NOT NULL); 2)通过ALTER 语句 ALTER TABLE t_user ...

     

    MySQL中的约束,添加约束,删除约束,以及其他的一些修饰:一.NOT NULL(非空约束)

     

     

    添加非空约束

     

    1)建表时直接添加

    CREATE TABLE t_user(user_id INT(10) NOT NULL);

    2)通过ALTER 语句

    ALTER TABLE t_user MODIFY user_id INT(10) NOT NULL;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) NOT NULL;

    删除非空约束

    1)ALTER TABLE t_user MODIFY user_id INT(10);

    2)ALTER TABLE t_user CHANGE user_id user_id INT(10);


    二.UNIQUE(唯一约束)

     

    添加唯一约束

     

    1)建表时直接添加

    CREATE TABLE t_user(user_id INT(10) UNIQUE);

    CREATE TABLE t_user(

    user_id INT(10),

    user_name VARCHAR(30),

    CONSTRAINT UN_PHONE_EMAIL UNIQUE(user_id,user_name)#复合约束

    );

    CREATE TABLE t_user(

    user_id INT(10),

    UNIQUE KEY(user_id)

    );

    2)通过ALTER语句

    ALTER TABLE t_user MODIFY user_id INT(10) UNIQUE;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) UNIQUE;

    ALTER TABLE t_user ADD UNIQUE(user_id);

    ALTER TABLE t_user ADD UNIQUE KEY(user_id);

    ALTER TABLE t_user ADD CONSTRAINT UN_ID UNIQUE(user_id);

    ALTER TABLE t_user ADD CONSTRAINT UN_ID UNIQUE KEY(user_id);

     

    删除唯一性约束

              ALTER TABLE t_user DROP INDEX user_id;

    注:唯一但是可以为空(空和空不相等)

     

    三.PRIMARY KEY(主键约束)

    添加主键约束

    1)建表时直接添加

    CREATE TABLE t_user(user_id INT(10) PRIMARY KEY);

    CREATE TABLE t_user(

    user_id INT(10),

    user_name VARCHAR(30),

    CONSTRAINT PK_ID_NAME PRIMARY KEY(user_id,user_name)#复合约束

    );

    CREATE TABLE t_user(

    user_id INT(10),

    PRIMARY KEY(user_id)

    );

    2)通过ALTER语句

    ALTER TABLE t_user MODIFY user_id INT(10) PRIMARY KEY;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) PRIMARY KEY;

    ALTER TABLE t_user ADD PRIMARY KEY(user_id);

    ALTER TABLE t_user ADD CONSTRAINT PK_ID PRIMARY KEY(user_id);

    删除主键约束

    1)ALTER TABLE t_user DROP PRIMARY KEY;

    注:主键约束相当于(唯一约束+非空约束)

    一张表中最多有一个主键约束,如果设置多个主键,就会出现如下提示:

    Multiple primary key defined!!!

    删除主键约束前,如果有自增长需要先删除自增长,如果不删除自增长就无法删除主键约束

     

    四.FOREIGN KEY(外键约束,对应的字段只能是主键或者唯一约束修饰的字段)

     

    首先创建两张表:class,students

    主表:

    CREATE TABLE class(

    cla_id INT(6) AUTO_INCREMENT PRIMARY KEY,

    cla_name VARCHAR(30) NOT NULL UNIQUE

    );

    从表:

    CREATE TABLE students(

    stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

    stu_name VARCHAR(30) NOT NULL,

    stu_score FLOAT(5,2) DEFAULT 0.0,

    cla_id INT(10),

    CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id)#添加外键约束

    );

    也可以这样添加:

    ALTER TABLE students ADD CONSTRAINT FK_CLA_ID FROEIGN KEY(cla_id) REFERENCES class(cla_id);

    删除外键约束

    ALTER TABLE students DROP FOREIGN KEY FK_CLA_ID;

    #外键中的级联关系有以下几种情况:

    #ON DELETE CASCADE 删除主表中的数据时,从表中的数据随之删除

    #ON UPDATE CASCADE 更新主表中的数据时,从表中的数据随之更新

    #ON DELETE SET NULL 删除主表中的数据时,从表中的数据置为空

    #默认 删除主表中的数据前需先删除从表中的数据,否则主表数据不会被删除

    CREATE TABLE students(

    stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

    stu_name VARCHAR(30) NOT NULL,

    stu_score FLOAT(5,2) DEFAULT 0.0,

    cla_id INT(10),

    CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id) ON DELETE CASCADE

    );

    CREATE TABLE students(

    stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

    stu_name VARCHAR(30) NOT NULL,

    stu_score FLOAT(5,2) DEFAULT 0.0,

    cla_id INT(10),

    CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id) ON UPDATE CASCADE

    );

    CREATE TABLE students(

    stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

    stu_name VARCHAR(30) NOT NULL,

    stu_score FLOAT(5,2) DEFAULT 0.0,

    cla_id INT(10),

    CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id) ON DELETE SET NULL

    );

    注:插入数据时,先插入主表中的数据,再插入从表中的数据。

        删除数据时,先删除从表中的数据,再删除主表中的数据。

     

    五.CHECK(检查约束)

     

    CREATE TABLE class(

    cla_id INT(6) AUTO_INCREMENT PRIMARY KEY,

    cla_name VARCHAR(30) NOT NULL UNIQUE,

    CHECK(cla_id>0)

    );

    注:mysql不支持检查约束,但是写上检查约束不会报错

     

    其他:

     

    一.AUTO_INCREMENT(自增长)

    添加自增长

    1)在创建表的时候添加

    CREATE TABLE t_user(user_id INT(10) AUTO_INCREMENT PRIMARY KEY);

    2)通过ALTER语句

    ALTER TABLE t_user MODIFY user_id INT(10) AUTO_INCREMENT;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) AUTO_INCREMENT;

    删除自增长

    ALTER TABLE t_user MODIFY user_id INT(10);

    ALTER TABLE t_user CHANGE user_id user_id INT(10);

    注:There can be only one auto column and it must be defined as a key.

    一张表只能有一个自增长列,并且该列必须定义了约束(可以是主键约束,也可以是唯一约束,也可以是外键约束,但是不可以是非空和检查约束)

    不过自增长一般配合主键使用,并且只能在数字类型中使用

     

    二.ZEROFILL(零填充)

     

    添加零填充

    1)在创建表的时候添加

    CREATE TABLE t_user(user_id INT(10) ZEROFILL);

    2)通过ALTER语句

    ALTER TABLE t_user MODIFY user_id INT(10) ZEROFILL;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) ZEROFILL;

    删除零填充

    ALTER TABLE t_user MODIFY user_id INT(10);

    ALTER TABLE t_user CHANGE user_id user_id INT(10);

    注:零填充会将未将有效位以外的位用零来显示,比如某字段数据类型为INT(5),而插入的值为2,那么零填充会显示00002

    但是,这个效果在Navicat for MySQL中显示不出来,只有在DOS窗口下才能显示

     

    三.DEFAULT(默认)

    添加默认约束

    1)在创建表的时候添加

    CREATE TABLE t_user(user_id INT(10) DEFAULT  3);

    2)通过ALTER语句

    ALTER TABLE t_user MODIFY user_id INT(10) DEFAULT  2;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) DEFAULT  2;

    删除默认约束

    ALTER TABLE t_user MODIFY user_id INT(10);

    ALTER TABLE t_user CHANGE user_id user_id INT(10);

     

    四.UNSIGNED(无符号位)

     

    添加无符号

    1)在创建表的时候添加

    CREATE TABLE t_user(user_id INT(10) UNSIGNED);

    2)通过ALTER语句

    ALTER TABLE t_user MODIFY user_id INT(10) UNSIGNED;

    ALTER TABLE t_user CHANGE user_id user_id INT(10) UNSIGNED;

    删除无符号

    ALTER TABLE t_user MODIFY user_id INT(10);

    ALTER TABLE t_user CHANGE user_id user_id INT(10);

    注:无符号作用于数值类型

     

    #从查询information_schema中查询指定表中的约束

     

    USE INFORMATION_SCHEMA;

    SELECT CONSTRAINT_NAME FROM TABLE_CONSTRAINTS WHERE TABLE_NAME='student';

    关注我的微信公众号(曲健磊的个人随笔),观看更多精彩内容:

    展开全文
  • 删除约束[语法通用] alter table table_name drop constraint "some_name"; 说明: 1.需要明确操作哪个表 2.需要知道约束的名称[可以是主键约束,外键约束,check约束,unique约束] 3.这对除了非空约束之外所有的...
  • MYSQL添加约束,删除约束 添加列,修改列,删除列添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);添加外键约束:alter table 从表 add constraint 外键(形如:FK_...

    MYSQL添加约束,删除约束 添加列,修改列,删除列

    添加主键约束:

    alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);

    添加外键约束:

    alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

    删除主键约束:

    alter table 表名 drop primary key;

    删除外键约束:

    alter table 表名 drop foreign key 外键(区分大小写);

    添加列:

    alter table 表名 add column 列名 varchar(30);

    删除列:

    alter table 表名 drop column 列名;

    修改列名MySQL:

    alter table bbb change nnnnn hh int;

    修改列属性:

    alter table t_book modify name varchar(22);

    展开全文
  • 没有约束名称,如何删除约束? 制定约束的时候,如果不指定约束名称,系统都会自己定义一个约束名称。 可以通过下面的方式查找所有表的约束 select * from information_schema.table_constraints; 行列如下,...
    没有约束名称,如何删除约束?
    制定约束的时候,如果不指定约束名称,系统都会自己定义一个约束名称。
    可以通过下面的方式查找所有表的约束
    select * from information_schema.table_constraints;
    行列如下,可以制定特定的表查询
    执行删除命令mysql删除约束使用index而不是constraints.可以看到key那一项为空不含UIN值了
    删除之前
    删除之后

    展开全文
  • 添加与删除约束

    2020-11-21 10:38:14
    数据库添加与删除约束 一.添加 1.添加非空约束 ALTER TABLE student MODIFY COLUMN Sname VARCHAR (20) NOT NULL 2.添加默认约束 ALTER TABLE stufent MODIFY COLUMN Sage INT DEFAULT 18 3.添加主撻 (1)列级约束 ...
  • MySQL中的约束,添加约束,删除约束,以及其他的一些修饰:一.NOT NULL(非空约束)添加非空约束1)建表时直接添加CREATE TABLE t_user(user_id INT(10) NOT NULL);2)通过ALTER 语句ALTER TABLE t_user MODIFY user_id INT...
  • 使用sql语句创建和删除约束约束类型主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空。唯一约束(Unique constraint) --:要求该列唯一,允许为空,但只能出现一个空值。检查约束(Check ...
  • 修改表时删除约束

    2020-08-24 17:01:16
    #三、修改表时删除约束 #1.删除非空约束 ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL; #2.删除默认约束 ALTER TABLE stuinfo MODIFY COLUMN age INT; #3.删除主键 ALTER TABLE stuinfo DROP ...
  • SQLServer之删除约束

    2018-09-10 16:30:00
    SQLServer之删除约束 原文:SQLServer之删除约束使用SSMS数据库管理工具删除约束 1、连接数据库,选择数据表-》展开键或者约束-》选择要删除的约束-》右键点击-》选择删除。 2、在删除对象弹出框中...
  • MySQL中的约束,添加约束,删除约束,以及其他的一些修饰: 一.NOT NULL(非空约束) 添加非空约束 1)建表时直接添加 CREATE TABLE t_user(user_id INT(10) NOT NULL); 2)通过ALTER 语句 ALTER TABLE t_...
  • 使用ALTER TABLE和DROP ... table_name指定了要删除约束的表,constrailnt_name指定了要删除的约束名。例如,从HumanResources .Company表中删除一个默认约束: ALTER TABLE HumanResourcas.Cornpany DROP...
  • bitsCN.comMYSQL添加约束,删除约束 添加列,修改列,删除列添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);添加外键约束:alter table 从表 add constraint 外键...
  • MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列 查看表的字段信息:desc 表名;查看表的所有信息:show create table 表名;添加主键约束:alter table 表名 add constraint 主键 (形如:
  • sqlserver数据库删除约束

    千次阅读 2019-07-11 09:19:47
    sqlserver数据库删除约束 ALTER TABLE 表名 DROP CONSTRAINT 约束名 //源代码: ALTER TABLE Student DROP CONSTRAINT DF_stuAddress
  • [code="java"] http://www.educity.cn/wenda/592607.html ... ...MySQL 查看约束,添加约束,删除约束   查看表的字段信息:desc 表名; 查看表的所有信息:show create table 表名; 添加主键约束:...
  • ORA-02443: 无法删除约束条件-不存在的约束条件 看到有人有同样的问题。亲测之后: 情况一:常规操作 ALTER TABLE table_name DROP CONSTRAINT foreignkeyname; 情况二:需要加引号(而且是双引号) ALTER TABLE ...
  • 前言 ´・ᴗ・` 组合主键 组合唯一键 上一节的问题 外键补充 添加约束 删除约束 修改约束 总结 ´◡`
  • MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列 查看表的字段信息:desc 表名;查看表的所有信息:show create table 表名;添加主键约束:alter table 表名 add constraint 主键 (形如:PK_...
  • MySQL中的约束,添加约束,删除约束,以及其他的一些修饰:一.NOT NULL(非空约束) 添加非空约束 1)建表时直接添加 CREATE TABLE t_user(user_id INT(10) NOT NULL); 2)通过ALTER 语句 ALTER TABLE t_user MODIFY ...
  • 修改约束和删除约束

    2021-05-06 10:47:30
    修改约束 一、在表创建好后修改约束: 1、修改列级约束: alter table 表名 modify 字段名 字段类型 约束; 2、添加约束: alter table 表名 add 字段名 字段类型 约束; 二、在创建表时添加约束 1、在每列的最后面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,071
精华内容 4,828
关键字:

删除约束