数据库中表de管理.doc
文本预览下载声明
第3章 数据库中表的管理
3.1 数据类型
(1)整数类型
数据类型可分为tinyint、smallint、int和bigint四种,各类型的范围如下表:
数据类型
范围
存储
bigint
-263到263-1
8字节
int
-231到231-1
4字节
smallint
-215到215-1
2字节
tinyint
0到255
1字节
其中,int数据类型是SQL Server 2005中的主要整数数据类型。
(2)bit类型
可以取值为1、0或NULL的整数数据类型。字符串值TRUE可以转换为1,字符串值FALSE可以转换为0
(3)decimal和numeric类型
带固定精度和小数位数的数值数据类型。格式:decimal(p,s)或者缩写为dec(p,s)、numeric(p,s).其中p是精度(即最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数),s是小数位数。
(4)float
浮点型数据类型。
(5)datatime和smalldatatime
用于表示某天的日期和时间的数据类型。
(6)char和verchar
字符数据类型。char ( n ) 固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。varchar ( n | max )
可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8000。max 指示最大存储大小是 231-1 个字节。
(7)nchar 和nverchar
字符数据类型。nchar ( n ) 固定长度,Unicode 字符数据, 长度为 2*n 个字节。n 的取值范围为 1 至 4,000,存储大小是 n 个字节。varchar ( n | max )
可变长度, Unicode 字符数据。n 的取值范围为 1 至 4,000。max 指示最大存储大小是 231-1 个字节。
3.2 创建表
(1)使用Management Studio创建表
(2)利用SQL语句创建表
使用create命令创建表非常灵活,它允许对表设置几种不同的选项,包括表名、存放位置和列的属性等。
其完整语法形式如下:
CREATE TABLE表名
(列定义|列名 AS 计算机列表达式|
表级约束[,…n])
[ON 文件组名|DEFAULT ]
[TEXTIMAGE_ON 文件组名|DEFAULT ]
其中,列定义的写法如下:
列名 列的数据类型
[COLLATE 列的排序规则]
[[DEFAULT 默认值]|[IDENTITY[(基数,增量)
[NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[列级约束][...n]
①基本的格式
create table 表名(列名 数据类型,……,列名 数据类型)
例如:以下代码建立一个QQ表,包括Q号,网名两列:
CREATE TABLE QQ
(
Q号 int,
网名 char(8)
)
②主键约束
create table 表名(列名 数据类型,……, 列名 数据类型,primary key (列名))
例如:以下代码建立一个SC学习选课表,定义SNO学生学号,CNO课程编号共同组成SC的主键:
CREATE TABLE SC
(
SNO CHAR(5) NOT NULL,
CNO CHAR(5) NOT NULL,
SCORE NUMERIC(3),
PRIMARY KEY(SNO,CNO)
)
③外键约束
create table 表名(列名 数据类型,……, 列名 数据类型,foreign key (列名) references 参照表名(参照列名))
例如:以下代码建立一个SC表,定义SNO,CNO为SC的外部键。
CREATE TABLE SC
(
SNO CHAR(5) NOT NULL
FOREIGN KEY REFERENCES S(SNO),
CNO CHAR(5) NOT NULL,
FOREIGN KEY REFERENCES C(CNO),
SCORE NUMERIC(3),
PRIMARY KEY (SNO,CNO)
)
④唯一性约束
create table 表名(列名 数据类型,……, 列名 数据类型,unique(列名))
例如:以下代码创建一个学生信息表,其中name字段具有惟一性。
Create table student
(
id char(8),
name char(10),
sex char(2),
primary key(id),
unique(name)
)
⑤空值约束
create table 表名(列名 数据类型
显示全部