T-SQL之数据表操作

1、数据表的创建(CREATE TABLE语句)

创建数据库的语法:

CREATE TABLE 表名称
(
 <列名称1> <数据类型> [列级完整性约束定义]
 [,<列名称2> <数据类型> [列级完整性约束定义]]
 [,<列名称3> <数据类型> [列级完整性约束定义]...]
 [,表级完整性约束定义]
)

数据类型

约束

约束的分类:(以约束定义的位置为分类的依据,可以将约束分为列级约束和表级约束)
列级约束:NOT NULL约束、DEFAULT约束;
表级约束:UNIQUE月俗话、CHECK约束、PRIMARY KET约束、FOREIGN KEY约束。
注:列级约束只能在列定义处进行定义


约束语法:
CONSTRAINT 约束名称 约束类型及其条件
简介约束语法:
NOT NULL约束:(列级)
CONSTRAINT NN_XXX NOT NULL;

DEFAULT约束:(列级)
CONSTRAINT DF_XXX DEFAULT 默认值 FOR 列名称;
UNIQUE约束:
CONSTRAINT UN_XXX UNIQUE 列名称;

CHECK约束:
CONSTRAINT CK_XXX CHECK(条件)

PRIMARY KEY约束:
CONSTRAINT PK_XXX PRIMARY KEY(列名)

FOREIGN KEY约束:
CONSTRAINT FK_XXX FOREIGN KEY(列名) REFERENCES 表名(列名)

创建数据表实例

USE DemoTest
GO
CREATE TABLE Class											--创建班级表
(
	C_id INT,												--班级编号
	C_name NVARCHAR(16) NOT NULL,							--班级名称、非空
	C_des NVARCHAR(64) NULL CONSTRAINT DF_C_des DEFAULT N'无',--班级描述(默认描述为无)
	CONSTRAINT PK_C_id PRIMARY KEY(C_id),					--表级定义主键约束
	CONSTRAINT UN_C_name UNIQUE(C_name),					--表级定义唯一约束
	CONSTRAINT CK_C_id CHECK(C_id > 0)						--表级定义CHECK约束
)
CREATE TABLE Student											--创建学生表
(
	S_id INT CONSTRAINT PK_S_id PRIMARY KEY,					--学号、列级主键约束
	S_name NVARCHAR(4) NOT NULL CONSTRAINT UN_S_name UNIQUE,	--学生姓名、非空且唯一
	S_age TINYINT NOT NULL CONSTRAINT CK_S_age CHECK(S_age > 20),--年龄、非空且必须大于20
	S_gender BIT CONSTRAINT DF_S_gender DEFAULT 0,				--性别,默认为0(女)
	C_id INT NOT NULL CONSTRAINT FK_C_id_C_id FOREIGN KEY(C_id) REFERENCES Class(C_id)--学生所在班级(外键约束)
)
GO

T-SQL之数据表修改

修改数据表(ALTER TABLE语句)

对于数据表的修改操作主要有:
->修改数据表的名称;
->修改数据表中列项的名称;
->向数据表中添加列项;
->删除数据表中的列项;
->删除数据表中的约束项;
->修改数据表中列的数据类型;
示例代码:
EXEC sp_rename 'Student','ss'								--修改表的名称
EXEC sp_rename 'Student.S_gender','nn','column'			--修改数据表的列名
GO
--语法抽象:EXEC sp_rename 旧名称,新名称,类型(表类型默认为空,列类型为column)

ALTER TABLE Student				--向数据表添加多个新列
 ADD SS INT,XX INT
GO
--语法抽象:ALTER TABLE 数据表名称 ADD 列名 数据类型

ALTER TABLE Student				--删除数据表中的指定列
 DROP COLUMN SS,XX
GO
--语法抽象:ALTER TABLE 数据表名称 DROP COLUMN 列名

 ALTER TABLE Student			--删除数据表中定义的约束
  DROP CONSTRAINT [UN_S_name]
GO
--语法抽象: ALTER TABLE 数据表名称 DROP CONSTRAINT 约束名称

ALTER TABLE Student				--修改数据表中的列定义
 ALTER COLUMN S_age INT
GO
--语法抽象: ALTER TABLE 数据表名称 ALTER COLUMN 列名称 数据类型

T-SQL之数据库删除

删除数据表主要使用(DROP TABLE语句)
--数据表删除(DROP TABLE)
DROP TABLE Student
GO


posted @ 2018-04-05 15:28  静俭阁主  阅读(68)  评论(0编辑  收藏  举报