a.利用企业管理器创建表
在企业管理器中,展开指定的服务器和数据库,打开想要创建新表的数据库,右击表对象,并从弹出的快捷菜单中选择“新建表”,出现对话框。
在对话框,定义的属性说明如下:
默认值:指定列的默认值。除定义为timestamp或带IDENTITY属性的列以外的任何列。删除表时,将删除默认值定义。只有常量值(如字符串)、SQL Server内部函数(如SYSTEM_USER())或NULL值可以用作默认值。
精度和小数位数:精度是列的总长度,包括整数部分和小数部分的长度之和,但不包括小数点;小数位数指定小数点后面的长度。
标识:指定列是否是标识列。一个表只能创建一个标识列。不能对标识列使用绑定默认值和DEFAULT约束。必须同时指定种子和增量,或者两者都不指定。默认值(1,1)。能够成为标识列的数据类型有int、smallint、tinyint、numeric和decimal等系统数据类型;如果其数据类型为numeric和decimal,不允许出现小数位数。
标识种子:指定标识列的初始值。
标识递增量:指定标识列的增量值。
是RowGuid:指定列是否使用全局唯一标识符。
公式:用于指定计算列的列值表达式。
排序规则:指定列的排序规则。
注意:在数据库中表名必须是唯一的,但是如果为表指定了不同的用户,就可以创建多个相同名称的表。
b.利用T-SQL语句创建表
CREATE TABLE
[ database_name.[ owner ] .| owner.]
table_name
( { < column_definition >| column_name AS computed_column_expression|< table_constraint >} [,…n])
[ ON { filegroup | DEFAULT } ]
[ TEXTIMAGE_ON { filegroup | DEFAULT } ]
< column_definition > ::= { column_name data_type }
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ] ]
[ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]
< column_constraint > ::=[ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ON {filegroup | DEFAULT} ] ] }
|FOREIGN KEY [(column [,…n])]
REFERENCES ref_table [ ( ref_column [,…n]) ] [NOT FOR REPLICATION]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )}
例1:在GZGL中创建一个JBXX的数据库表
use GZGL
go
create table jbxx1
(employee_id char(6) not null,
name char(10) not null,
birthday datetime not null,
sex char(2) default‘男’)
go
(一) 创建、删除和修改约束
a.利用企业管理器
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“设计表”选项,出现设计表对话框,选择要设定为主键的字段,如果有多个字段,按住Ctrl键的同时,用鼠标单击选中的某个字段,从弹出的快捷菜单中选择“设置主键”选项;在属性对话框中的“索引/键”选项卡中设置。
b.利用T-SQL语句
CONSTRAINT constraint_name
PRIMARY KEY/UNIQUE
[CLUSTERED|NONCLUSTERED]
(column_name[,…n])
参数说明:
constraint_name约束名称,在数据库中应该唯一,不指定,系统会自动生成一个约束名。
[CLUSTERED|NONCLUSTERED]索引类型,聚族索引或非聚族索引,CLUSTERED为默认值。
column_name用于指定主键的列名。最多由16个列组成。
例1:在GZGL中创建一个JBXX的数据库表,字段employee_id具有唯一性
use GZGL
go
create table jbxx2
(employee_id char(6) not null primary key,
name char(10) not null,
birthday datetime not null,
sex char(2) default‘男’
constraint uk_name unique(employee_id)
constraint chk_sex check(sex in (‘男’,‘女’)))
go
(二) 增加、删除和修改字段
a.利用企业管理器
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“设计表”选项,出现设计表对话框,在对话框可完成增加、删除和修改字段的操作。
c.利用T-SQL语句
ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL } ]
| ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ < table_constraint > } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] }
}
例如:
alter table jbxx2 alter column name char(8)
alter table jbxx2 drop column birthday
alter table jbxx2 add memo varchar(200)
alter table jbxx1 add constraint PK_em_id primary key(employee_id)
alter table jbxx1 add constraint sex default’男’for sex
(三) 查看表格
a.利用企业管理器
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“属性”选项,出现表属性对话框,在对话框可显示对表格的定义。
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“打开表”选项,该选项有三个子项:“返回所有行”:显示所有记录;“返回首行”::显示前N条记录,N可自己输入;“查询”:查询具体某行记录。
b.利用T-SQL语句
语法:sp_help [[@objname=]name]
系统存储过程Sp_help可以提供指定数据库对象的信息,只用于当前数据库。其中[[@objname=]name]字句用于指定对象的名称,如果不指定对象名称,sp_help存储过程就会列出当前数据库中的所有对象名称、对象的所有者和对象的类型。
例1:显示当前数据库中所有对象的信息
use gzgl
go
exec sp_help
例2:显示表jbxx的信息
use gzgl
go
exec sp_help jbxx1
(四) 更改表的名称
语法:sp_rename [@objname=]‘object_name’,[@newname=] ‘new_name’
[,[@objtype=] ‘object_type’]
@objtype=] ‘object_type’指定要改名的对象的类型,其值可以为COLUMN,DATABASE,INDEX,USERDATATYPE,OBJECT。值OBJECT指代系统表中的所有对象,OBJECT值为默认值。
例1:sp_rename ‘jbxx1’,‘基本信息‘ //将jbxx1的名称改为基本信息
(五) 删除表
a.利用企业管理器
在企业管理器中,右击要删除的数据表,从弹出的快捷菜单中选择“删除”选项,出现“除去对象”对话框,在对话框完成操作。
b.利用T-SQL语句
DROP TABLE table_name