SQL Server中alter的一些常用语句
最近在学习sqlserver数据库..接触不是很久,经常碰到 一些 alter 语句 ,自己也课余了解了 一些 . 关于 SQL-Server 中 alter 的 一些 用法和语法 先创建的库个表如下 : 下面示例用到表结构 create database Text_DB go use Text_DB go create table Teacher (
最近在学习sql server数据库..接触不是很久,经常碰到一些alter语句,自己也课余了解了一些.
关于SQL-Server 中 alter的一些用法 和语法
先创建的库个表 如下 : 下面示例用到表结构
createdatabaseText_DB
go
useText_DB
go
createtableTeacher
(
TeaIdintnotnull,
TeaNamevarchar(20)notnull,
TeaAgeint,
TeaAddressvarchar(50)
)--为了更直观的看到效果 这里就先不添加约束
一.Alter 主要作用针对是给已经创建的表进行添加和修改删除约束的操作
1.给已经创建的表添加约束
分为两种方式,一种是在创建约束 并同时给所创约束定义一个名字 这样可以再次进行操作,比如删除时候要用到
另一种方式是直接创建约束 不命名的,但是再次操作时候是不方便的
第一种:
Altertable表名addconstraint约束名字约束类型(列名)
例:
-----添加约束(命名)-----------
altertableTeacheraddconstraintPK_1primarykey (TeaId)--主键约束
altertableTeacheraddconstraintUN_1unique(TeaName)--唯一约束
altertableTeacheraddconstraintCK_1check (TeaAge>0)--范围约束
altertableTeacheraddconstraintDE_1default'123'forTeaAddress--默认约束
--外键约束,这里就不一一举例了,语法如下
altertable表名addconstraint约束名foreignkey(关联字段)references主表(关联字段)
第二种:
Altertable表名add约束(列名)
例: 分别给 Teacher表中添加 主键 唯一 和范围约束
altertableTeacheraddprimarykey (TeaId)--主键
altertableTeacheraddunique(TeaName)--唯一
altertableTeacheraddcheck (TeaAge>0)--范围约束
altertableTeacheradddefault'123'forTeaAddress--默认约束
altertable表名addforeignkey(列名)references主表(列名)--外键
2.删除约束: 语法
altertable表名dropconstraint约束名--删除约束
例:(删除Teacher表中的约束)
altertableTeacherdropconstraintPK_1--删除主键约束
altertableTeacherdropconstraintUN_1--删除唯一约束
altertableTeacherdropconstraintCK_1--删除范围约束
altertableTeacherdropconstraintDE_1--删除默认约束
二. Alter table 用法 针对表结构进行修改,比如添加列删除列等等...
1.添加列 语法
Altertable表名ADD列名数据类型
例: (给Teacher 表中添加一列 notes 数据类型为varchar(200))
altertableTeacheraddnotesvarchar(200)
2.删除表中的列 语法
Altertable表名dropcolumn列名
例:(删除表中的notes列)
altertableTeacherdropcolumnnotes
3.修改某一列中的数据类型语法
Altertable表名altercolumn列名数据类型
例:(将Teacher 表中的notes列更改为int类型)
altertableTeacheraltercolumnnotesint