最近在学习sqlserver数据库..接触不是很久,经常碰到 一些 alter 语句 ,自己也课余了解了 一些 . 关于 SQL-Server 中 alter 的 一些 用法和语法 先创建的库个表如下 : 下面示例用到表结构 create database Text_DB go use Text_DB go create table Teacher (
最近在学习sql server数据库..接触不是很久,经常碰到 一些 alter 语句 ,自己也课余了解了 一些 .
关于 SQL-Server 中 alter 的 一些 用法 和语法
先创建的库个表 如下 : 下面示例用到表结构
create database Text_DB
go
use Text_DB
go
create table Teacher
(
TeaId int not null ,
TeaName varchar ( 20 ) not null,
TeaAge int ,
TeaAddress varchar ( 50 )
) --为了更直观的看到效果 这里就先不添加约束
一 .Alter 主要作用针对是给已经创建的表进行添加和修改删除约束 的操作
1. 给已经创建的表添加约束
分为两种方式 , 一种是在创建约束 并同时给所创约束定义一个名字 这样可以再次进行操作 , 比如删除时候要用到
另一种方式是直接创建约束 不命名的 , 但是再次操作时候是不方便的
第一种 :
Alter table 表名 add constraint 约束名字 约束类型 ( 列名 )
例 :
-----添加约束(命名)-----------
alter table Teacher add constraint PK_1 primary key ( TeaId ) --主键约束
alter table Teacher add constraint UN_1 unique ( TeaName ) --唯一约束
alter table Teacher add constraint CK_1 check ( TeaAge > 0 ) --范围约束
alter table Teacher add constraint DE_1 default '123' for TeaAddress --默认约束
--外键约束,这里就不一一举例了,语法如下
alter table 表 名 add constraint 约束名 foreign key ( 关联字段 ) references 主表 ( 关联字段 )
第二种 :
Alter table 表名 add 约束 ( 列名 )
例 : 分别给 Teacher 表中添加 主键 唯一 和范围约束
alter table Teacher add primary key ( TeaId ) --主键
alter table Teacher add unique ( TeaName ) --唯一
alter table Teacher add check ( TeaAge > 0 ) --范围约束
alter table Teacher add default '123' for TeaAddress --默认约束
alter table 表名 add foreign key ( 列名 ) references 主表 ( 列名 ) --外键
2. 删除约束 : 语法
alter table 表名 drop constraint 约束名 --删除约束
例:(删除Teacher表中的约束)
alter table Teacher drop constraint PK_1 --删除主键约束
alter table Teacher drop constraint UN_1 --删除唯一约束
alter table Teacher drop constraint CK_1 --删除范围约束
alter table Teacher drop constraint DE_1 --删除默认约束
二. Alter table 用法 针对表结构进行修改 , 比如添加列删除列等等 ...
1. 添加列 语法
Alter table 表名 ADD 列名 数据类型
例 : ( 给 Teacher 表中添加一列 notes 数据类型为 varchar(200))
alter table Teacher add notes varchar ( 200 )
2. 删除表中的列 语法
Alter table 表名 drop column 列名
例:(删除表中的notes列)
alter table Teacher drop column notes
3.修改某一列中的数据类型语法
Alter table 表名 alter column 列名 数据类型
例:(将Teacher 表中的notes列更改为int类型)
alter table Teacher alter column notes int
查看更多关于SQLServer中alter的一些常用语句的详细内容...