首页 > 学院 > 开发设计 > 正文

T-SQL 语句(二)—— 数据表操作

2019-11-08 20:34:09
字体:
来源:转载
供稿:网友

T-SQL 语句(二)—— 数据表操作

一、数据表创建
CREATE TABLE table_dept( id INT NOT NULL PRIMARY KEY IDENTITY(1,1), name NVARCHAR(20) NOT NULL COMMENT('部门名称') -- 带注释的列)CREATE TABLE table_employee( id INT NOT NULL PRIMARY KEY IDENTITY(1,1),  --设置主键,自增(标识种子和标识增量均为 1), name COLLATE Chinese_PRC_CIAS NOT NULL UNIQUE,  --不允许为 NULL 的列,列排序规则设为 Chinese_PRC_CIAS,并添加 Unique 约束 age INT 18 NOT NULL DEFAULT 18 CONSTRAINT CK_age CHECK(age > 0 AND age < 120),  -- 带约束的列,且默认值为 18 gender NCHAR(1) NOT NULL DEFAULT ('男'), deptId INT CONSTRAINT FK_table_employee_dept FOREIGN KEY --外键约束 REFERENCES dept(id) -- 关联 dept 表的 id 字段 ON UPDATE CASCADE -- 外键约束更新规则设为“层叠” ON DELETE SET NULL -- 外键约束删除规则设为“置 NULL”)CREATE TABLE table_order( id INT IDENTITY(1,1) PRIMARY KEY, price decimal(17,2) NOT NULL, num INT NOT NULL, total AS (price * num))
二、修改数据表
1、简单字段操作
ALTER TABLE table_dept ALTER COLUMN name NVARCHAR(25) COLLATE Chinese_PRC_CI_AS NOT NULL -- 修改字段ALTER TABLE table_dept ADD remark NVARCHAR(50) -- 添加字段 remarkALTER TABLE table_dept DROP COLUMN remark -- 删除字段
2、CHECK 约束操作
ALTER TABLE table_employee ADD CONSTRAINT CK_gender (gender ='男' OR gender ='女') -- 添加 CHECK 约束ALTER TABLE table_employee WITH NOCHECK ADD -- 不对已有数据检查,CHECK 默认会对原有数据检查 CONSTRAINT CK_gender (gender ='男' OR gender ='女') -- 添加 CHECK 约束ALTER TABLE table_employee NOCHECK CONSTRAINT CK_gender,CK_age -- 禁用多个约束ALTER TABLE table_employee NOCHECK CONSTRAINT ALL -- 禁用所有约束ALTER TABLE table_employee CHECK CONSTRAINT CK_gender,CK_age -- 启用多个约束ALTER TABLE table_employee CHECK CONSTRAINT ALL -- 启用所有约束ALTER TABLE table_employee DROP CK_gender -- 删除约束
3、主键操作
ALTER TABLE table_dept ALTER COLUMN id INT NOT NULL -- 修改列将主键去除ALTER TABLE table_dept ADD CONSTRAINT PK_id PRIMARY KEY(id) -- 添加主键
4、修改对象名称
exec sp_rename 'table_dept','tb_dept' -- 修改表名exec sp_rename 'table_dept.age','年龄','COLUMN' -- 修改字段名exec sp_rename 'test','db_test','DATABASE' -- 修改数据库名exec sp_rename 'table_dept.IX_name','IX_dept_name' -- 修改索引名称exec sp_rename 'table_dept.PK_id','PK_id2' -- 修改主键名,同时该方法可以用于修改其他约束,数据表、视图、存储过程、触发器的名称(注意:命名不要使用"."否则可能将导致对象查找时出错。)
三、删除数据表
DROP TABLE table_dept
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表