表结构的创建、修改和删除
1>表结构的创建
1

sales 数据库创建一个销售人员表 Salers ,它包括销售人员编号 (SaleID) 、姓名 (SaleName) 、性别 (Sex) 、出生日期 (Birthday) 、雇用日期 (HireDate) 、地址 (Address) 、电话 (telephone) 、备注 (Note) 字段,其中 SaleID SaleName 这两列不允许为空。
CREATE TABLE salers
(SaleID char(3) NOT NULL,
SaleName char(8) NOT NULL,
Sex char(2),
Birthday datetime,
HireDate datetime,
Address char(60),
Telephone char(13),
Note char(200)
)
注意: NOT NULL 参数指出了该字段是不可以为空的。和他相对的还有一个 NULL( 指出了字段可以为空 )
2
sales 数据库创建订单表 Orders ,包括 OrderID CustomerID SaleID OrderDate 字段,其中 OrderID 为标识列,起始值为 10248 ,增值为 1 CustomerID SaleID 字段不允许为空值; OrderDate 字段的默认值为当前日期。
CREATE TABLE Orders
(OrderID int IDENTITY(10248,1),
CustomerID char(3) NOT NULL,
SaleID char(3) NOT NULL,
OrderDate datetime DEFAULT getdate()
)
注: getdate() 系统函数,返回系统当前日期。
Orders 表有一个标识列 OrderID ,该列以 10248 为起始值,以 1 为增值,因此在插入数据时,用户不需提供该列的值, SQL Server 自动填充该列,该列的值依次是 10248 10249 10250……
Orders 表中 OrderDate 列带有默认值,因此当用户插入数据时,如果没有给该列提供值, SQL Server 就自动用默认值填充该列。默认值为系统当前日期。
3
sales 数据库在文件 USER1 上创建类别 Categories 表。
CREATE TABLE Categories
(CategoryID int NOT NULL,
CategoryName nvarchar(15),
Description nvarchar(200)
)
ON USER1
注意:文件组 USER1 必须已经定义。在前两例中没有使用 ON 关键字指出文件组,则表存储在默认的文件组中。
2> 表结构的修改
1
sales 数据库中的 Customers 表包含 CustomerID CompanyName ConnectName 三个字段,现为该表添加公司地址 (Address) 、邮政编码 (ZipCode) 、和电话号码字段 (Telephone)
EXEC sp_addtype telephone_code,’varchar(15)’,’NULL’
EXEC sp_addtype zip,’char(6)’,’NOT NULL’
GO
ALTER TABLE Customers
ADD Address char(40),ZipCode zip,Telephone telephone_code
在该列中,添加的 ZipCode Telephone 字段的数据类型为用户自定义数据类型。
2
将表 Salers 中的 Sex 列删除。
ALTER TABLE Salers
DROP COLUMN Sex
3
Salers 表中的 Address 字段的长度改为 30 ,并且不能为空。
ALTER TABLE Salers
ALTER COLUMN Address varchar(30) NOT NULL
注意:只能修改列的数据类型,以及列值是否为空。
3> 表结构的删除
例:
删除当前数据库中一个名为 example1 的表。
DROP TABLE example1