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

sales数据库创建一个销售人员表Salers,它包括销售人员编号(SaleID)、姓名(SaleName)、性别(Sex)、出生日期(Birthday)、雇用日期(HireDate)、地址(Address)、电话(telephone)、备注(Note)字段,其中SaleIDSaleName这两列不允许为空。
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,包括OrderIDCustomerIDSaleIDOrderDate字段,其中OrderID为标识列,起始值为10248,增值为1CustomerIDSaleID字段不允许为空值;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 自动填充该列,该列的值依次是102481024910250……
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表包含CustomerIDCompanyNameConnectName三个字段,现为该表添加公司地址(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
在该列中,添加的ZipCodeTelephone字段的数据类型为用户自定义数据类型。
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