修改约束


查看表的字段信息:desc 表名;
查看表的所有信息:show create table 表名;
添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
(alter table 主表名 add foreign key (字段 ) references 从表名(字段) on delete cascade)
添加唯一约束:
ALTER table 表名 add unique key 约束名 (字段);
删除主键约束:alter table 表名 drop primary key;
删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);
修改表名:alter table t_book rename to bbb;
添加列:alter table 表名 add column 列名 varchar(30);
删除列:alter table 表名 drop column 列名;
修改列名MySQL: alter table bbb change nnnnn hh int;
修改列名SQLServer:exec sp_rename't_student.name','nn','column';
修改列名Oracle:alter table bbb rename column nnnnn to hh int;
修改列属性:alter table t_book modify name varchar(22);
sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

在MySQL中,如果你想要修改某个表的约束条件,通常涉及的是ALTER TABLE语句。以下是几种常见的约束修改情况: 1. **更改数据类型**:如果需要改变列的数据类型,并希望保留原来的数据,可以先创建一个新的列,然后将旧列的数据复制到新列,最后删除旧列并改名新列为原名,同时添加新的数据类型约束。 ```sql ALTER TABLE table_name MODIFY column_name New_data_type; ``` 例如: ```sql ALTER TABLE users MODIFY email VARCHAR(255) NOT NULL; -- 将email列的数据类型改为VARCHAR且不允许为空 ``` 2. **修改唯一约束**:若想修改唯一约束,需先删除约束,再添加新的约束。 ```sql ALTER TABLE table_name DROP INDEX index_name; -- 删除唯一索引 ALTER TABLE table_name ADD UNIQUE (column_name); -- 添加新的唯一约束 ``` 3. **修改检查约束**:如需更新检查规则,可以先删除旧约束,然后重新添加。 ```sql ALTER TABLE table_name DROP CONSTRAINT constraint_name; ALTER TABLE table_name ADD CONSTRAINT new_constraint CHECK (expression); ``` 4. **修改外键约束**:同样需要先删除原有的外键,然后再创建新的外键。 ```sql ALTER TABLE child_table DROP FOREIGN KEY fk_name; ALTER TABLE child_table ADD FOREIGN KEY (child_column) REFERENCES parent_table(parent_column); ``` 注意,在进行上述操作前,务必备份数据,以防意外。每次修改约束之前都应该确认新约束不会对已有数据造成影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值