配置SQL Server数据库
EXEC sp_dboption'pubs','只读','真'
此选项把数据库“酒吧”设置为只读。
EXECsp_dboption'pubs'autotrink是的
此选项把符合条件的“酒吧”数据库文件设置为自动周期性收缩。
EXECsp_dboption'pubs'单个用户
此命令每次只允许一个用户访问数据库。
DBCC SHRINKDATABASE(PUBS,10)
会减小“酒吧”数据库中文件的大小,并允许有10%的可用空间。
使用T-SQL创建表
createtable MyTable
(stdID int,
stdNamevarchar(50)
)
自定义数据类型
EXECsp_addtype City,'nvarchar(15)',NULL
EXECsp_addtype PostCode,'nvarchar(6)',NULL
EXECsp_addtype NCode,'nvarchar(18)',NULL
删除自定义数据类型
EXEC sp_droptype city
使用T-SQL创建表
创建表C类别
(CategoryID int IDENTITY(1,1),
CategoryName nvarchar(15)NOT NULL,
说明ntext NULL,
图片图片NULL)
实体完整性实现
升 主键约束
创建TABLEjobs(
Job_idsmallint PRIMARY KEY,
job_desc varchar(50)NOT NULL)
升 唯一约束
创建TABLEjobs(
Job_idsmallint UNIQUE)
升 标识列
创建TABLEjobs(
Job_idsmallint IDENTIRY(2,1)PRIMARY KEY)
l Uniqueidentifier数据类型和NEWID函数
创建TABLECustomer
(CustIDuniqueidentifier NOT NULL DEFAULT NEWID(),
CustName char(30)NOT NULL)
INSERTCustomer VALUES(NEWID(),'ASB')
升 引用完整性实现
ALTER TABLEdbo.Orders
ADDCONSTRAINT FK_Orders_Customers
FOREIGN KEY(CustomerID)
参考文献dbo.Customers(客户ID)
升 更新表结构
ALTER TABLEMyTable ALTER COLUMN NullCOl NVARCHAR(20)NOT NULL
ALTER TABLEjobs添加HIRE_DATE DATETIME
ALTER TABLEDoc_ED DROP COLUMN Column_B
ALTERTABLE Doc_ED WITH NOCHECK ADD CONSTRAINT Exd_Check CHECK(Column_a> 1)
升 在已有字段中增加标识约束时,必须先删除该字段,再新建字段。
alter table mytable drop column userid
alter table mytable add userid int identity(1,1)
升 删除表
DROP TABLEAirlines_Master
l DEFAULT约束
使用Northwind
CREATE TABLE ABC(ASD int Default 8,
ASDE varchar(20)Default'UNKNOWN')
使用Northwind
ALTER TABLE dbo.Customers ADD CONSTRAINT DF_contactname DEFAULT'UNKNOWN'FORContactName
升 检查约束
创建TABLEABCD
(ASD intCHECK(ASD <100),
ASDE varchar(80)默认'UNKNOWN')
使用罗斯文
ALTER TABLE员工添加约束CK_birthdate
检查(BirthDate> '01 -01-1900'AND BirthDate <'01 -01-2010')
l PRIMARY KEY约束
创建TABLEAWC
(ASD intCHECK(ASD <100)PRIMARY KEY,
ASDE varchar(80)默认'UNKNOWN')
使用罗斯文
ALTER TABLECustomers ADD CONSTRAINT PK_Customers PRIMARY KEY(CustomerID)
l UNIQUE约束
创建TABLEAAC
(ASD intCHECK(ASD <100)PRIMARY KEY,
ASDE int UNIQUE)
使用罗斯文
ALTER TABLESuppliers ADD CONSTRAINT U_CompanyNameUNIQUE(CompanyName)
l FOREIGN KEY约束
创建TABLEACC
(ASD intCHECK(ASD <100)PRIMARY KEY,
ASDE int FOREIGN KEY REFERENCES AAC(ASD))
使用罗斯文
ALTER TABLEOrders with NOCHECK ADD CONSTRAINT FK_Or_Cu
FOREIGN KEY(CustomerID)
参考客户(CustomerID)