表操作——修改、添加、删除、字段;添加、删除约束等(举例详细说明)

来源:互联网 发布:熊猫算法 编辑:程序博客网 时间:2024/06/17 21:53

 表操作的重要内容:

 

表操作重要内容:# 查看表

                                # 添加数据

                                # 删除数据

                                # 修改数据

                                 # 浏览数据

 

在T—SQL语句中修改表格式                                         参数说明例   子    修改字段定义 ALTER     TABLE table                  

ALTER COLUMNcolumn_name
new _data_type
[(precision[,scale])]
[null not null]

 table:需要修改的数据表名称;

Column name:需要修改的字段名称;

New_data_type:修改后将要使用的新数据类型;

Precision:字段将要使用的新的精度定义;

Scale:字段将要使用的新的小树位数

 

创建一个名为project的表,该表包含两个字段“项目名称”和“项目编号”,将字段“项目名称”从原来的数据类型char(20)更改为varchar(25),再将原来的不可为性更改为可以为空。

解析:Create table project

            (项目编号 int primary            key,                                                                                   

                项目名称 char(20) not null)

——使用sp_help查看数据表的定义

              Exec sp_help project 

              Alter table project

               Alter column 项目名称 varchar(25) null

               Exec sp_help project

               go       

添加字段

 

ALTER TABLE  table

ADD {[column_definition]} |   

  [column_name as 

  computed_colum_expression

table:需要添加字段的数据表名称;

Column_definition:有关添加的字段的定义;

Computed_column_expression:计算字段表达式;

 

向刚创建的project表中添加的3个字段,分别为”项目负责人“,“项目难度级别”和“预计工期。”要求字段“预计工期”的取值为字段“项目难度级别”的值乘以20.

解析:Alter table project

            Add 项目负责人 varchar(15),

             项目难度级别 int default 1,

              预计工期 as 项目难度级别*20

               Exec sp_help project

删除字段

ALTER T ABLE table

DROP COLUMN column_name

    [,....n]

table:需要删除的字段名称;

Column_name:需要删除的字段名称

删除上面例子中的数据表project中的字段“项目负责人”和“预计工期”

解析:Alter table project

            Drop column 项目负责人,预计工期

添加约束

利用alter table命令中的add constraint子句,可以添加一或多个约束。

语法:Alter TABLE table

            [with check | with nocheck]

            Add constraint_name

             Constraint_definition[,....n]

table:需要添加约束的数据表名称;

constraint_name:需要添加的约束名称;

Constrant_definition:添加约束的定义;

with check | with nocheck:若选择前者,表示将使用新建的数据表约束对数据表中原有的数据进行检查;若选择后者,表示新建的数据表约束追溯应用于数据表中原有的记录。默认值为前者。

使用数据库company,在使用数据库中创建2个数据表。一个是数据表employee,该数据表中包含两个字段,“员工编号”和“员工姓名”。另一个数据表project,包含3个字段,分别是“项目编号”、“项目负责人”和“项目难度系数”,然后再使用alter table  add constraint 语句想数据表中添加3个约束:1,主键约束:将数据表project中的字段“项目编号设置为主键”。

2,外键约束:将数据表project中的字段“项目负责人”设置为外键。其参照字段是数据表employee中的字段“员工编号”

3,核查约束:为数据表project中的字段“项目难度系数”创建核查约束,使它的取值范围在0~5之间。

解析:Use company

 ——创建数据表employee

              Create table employee

              (员工编号 int primary key,

                  员工姓名 char(20) unique)

                Go

——创建数据表project

                 Create table project

                 (项目编号 int not null,

                     项目负责人 Char(20),

                      项目难度级别 int)

                     Go

——向project数据表中添加约束

                   Alter table project

                   Add constraint pk_pno

                   Primary key(项目编号),

                   Constrain fk_pm

                   Foreign key (项目负责人)

                    Reference employee (员工编号)

                    Constraint (项目难度级别>=1 and 项目难度级别<=5)

                     Go  

删除约束

利用alter table命令中的drop constrain 子句,可以删除一个或多个约束。

语法: Alter TABLE table

              drop constraint  constraint_name[,....n]

table:需要删除约束的数据表名称。

constraint_name:需要删除的约束名称。

 

删除上例中创建的外键约束和核查约束。

解析:Alter table project

            Drop constraint  fk_pm,ck_p1