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