用SQL语句修改表结构和添加约束

本文详细讲解了如何在TS_USER表中进行列增删改,添加主键、唯一性、检查、非空及外键约束,以及删除数据的不同方式。涵盖了从基本的表结构调整到高级约束管理,适合数据库管理员和开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、修改表结构

1.删除列

2.添加列

3.修改字段的数据类型

二、添加约束

1.主键约束

2.唯一性约束

3.check约束

4.非空约束(修改列的数据类型)

5.外键约束

6.删除约束

7.一条语句添加多个约束

三、删除数据库数据

1.删除数据,不删除表结构

2.删除数据,并删除表结构


一、修改表结构

(用TS_USER表展示)

1.删除列

alter table TS_USER drop column userName;

2.添加列

alter table TS_USER add  userName varchar2(100);

3.修改字段的数据类型

//TS_USER表中keyWord 列没有数据
alter table TS_USER alter column keyWord varchar(100);

//TS_USER表中keyWord 列中有数据
alter table TS_USER drop column keyWord;
alter table TS_USER add keyWord varchar(100);

二、添加约束

1.主键约束

alter table TS_USER add constraint PK_TS_USER_userId primary key(userId)

2.唯一性约束

alter table TS_USER add constraint UK_TS_USER_userId unique(userId)

3.check约束

alter table TS_USER add constraint CK_TS_USER_age
 
check(age>=18 and age<=50)

4.非空约束(修改列的数据类型)

alter table TS_USER alter column userName Varchar2(100) not null

5.外键约束

alter table TS_USER add constraint FK_TS_USER_deptId
 
foreign key(deptId) references TS_Dept(deptId)

6.删除约束

//删除单条约束 
alter table TS_USER drop constraint Fk_TS_USER_userId

//删除多条约束
alter table TS_USER drop constraint Fk_TS_USER_userId,CK_TS_USER_deptId

7.一条语句添加多个约束

  alter table TS_USER add
 
  constraint FK_TS_USER_deptId foreign key(deptId) references TS_DEPT(deptId)
 
  constraint PK_TS_USER_stuId primary key(stuId)
 

三、删除数据库数据

1.删除数据,不删除表结构

//删除全部数据
delete from TS_USER;

//删除全部数据(速度快)
truncate table TS_USER;

//删除单条数据
delete TS_USER where userId = '';

2.删除数据,并删除表结构

drop table TS_USER;

以下是一些常见的SQL语句用于修改表结构: 1. 修改表名: ALTER TABLE old_name RENAME TO new_name; 2. 修改字段类型注释: ALTER TABLE table_name MODIFY column_name new_data_type COMMENT '注释'; 3. 新增字段: ALTER TABLE table_name ADD COLUMN new_column_name data_type \[NOT NULL\] COMMENT '注释'; 4. 删除字段: ALTER TABLE table_name DROP COLUMN column_name; 5. 修改字段名称类型: ALTER TABLE table_name CHANGE column_name new_column_name new_data_type; 6. 批量增加字段: ALTER TABLE table_name ADD (column1 data_type, column2 data_type, ...); 请注意,在执行表结构修改时,需要注意以下几点: 1. 如果表中已经有记录,修改表结构时需要谨慎,特别是修改数据类型,以免出错。 2. 主表的主键附表的外键应该具有相同的字段属性值,修改时需要注意。 3. 一些特殊类型的列,如text、ntext、image或timestamp类型的列,不能直接修改。 4. 一些具有约束的列,如主键、外键、CHECK或UNIQUE约束的列,也不能直接修改。 以上是一些常见的SQL语句用于修改表结构的示例。具体的语法格式可以根据不同的数据库系统进行调整。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [mysql修改表结构sql语句](https://blog.youkuaiyun.com/weixin_45676738/article/details/118103945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [SQL学习笔记——表结构修改](https://blog.youkuaiyun.com/weixin_45375866/article/details/99707429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值