配置 SQL Server 数据库
EXEC sp_dboption 'pubs', 'read only', 'True'
此选项把数据库 “pubs” 设置为只读。
EXEC sp_dboption 'pubs' autoshrink true
此选项把符合条件的“pubs” 数据库文件设置为自动周期性收缩。
EXEC sp_dboption 'pubs' single user
此命令每次只允许一个用户访问数据库。
DBCC SHRINKDATABASE(PUBS, 10)
会减小“pubs”数据库中文件的大小,并允许有 10% 的可用空间。
使用 T-SQL 创建表
create table MyTable
( stdID int,
stdName varchar(50)
)
自定义数据类型
EXEC sp_addtype City, 'nvarchar(15)', NULL
EXEC sp_addtype PostCode, 'nvarchar(6)', NULL
EXEC sp_addtype NCode, 'nvarchar(18)', NULL
删除自定义数据类型
EXEC sp_droptype city
使用 T-SQL 创建表
CREATE TABLE Categories
( CategoryID int IDENTITY(1,1),
CategoryName nvarchar(15) NOT NULL,
Description ntext NULL,
Picture image NULL)
实体完整性实现
主键约束
CREATE TABLE jobs(
Job_id smallint PRIMARY KEY,
job_desc varchar(50) NOT NULL)
唯一约束
CREATE TABLE jobs(
Job_id smallint UNIQUE)
标识列
CREATE TABLE jobs(
Job_id smallint IDENTIRY(2,1) PRIMARY KEY)
Uniqueidentifier数据类型和NEWID 函数
CREATE TABLE Customer
(CustID uniqueidentifier NOT NULL DEFAULT NEWID(),
CustName char(30) NOT NULL)
INSERT Customer VALUES (NEWID(),'ASB')
引用完整性实现
ALTER TABLE dbo.Orders
ADD CONSTRAINT FK_Orders_Customers
FOREIGN KEY (CustomerID)
REFERENCES dbo.Customers(CustomerID)
更新表结构
ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL
ALTER TABLE jobs ADD HIRE_DATE DATETIME
ALTER TABLE Doc_ED DROP COLUMN Column_B
ALTER TABLE 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 TABLE Airlines_Master
DEFAULT约束
USE Northwind
CREATE TABLE ABC (ASD int Default 8,
ASDE varchar(20) Default 'UNKNOWN')
USE Northwind
ALTER TABLE dbo.Customers ADD CONSTRAINT DF_contactname DEFAULT 'UNKNOWN' FOR ContactName
CHECK约束
CREATE TABLE ABCD
(ASD int CHECK(ASD <100) ,
ASDE varchar(80) Default 'UNKNOWN')
USE Northwind
ALTER TABLE Employees ADD CONSTRAINT CK_birthdate
CHECK (BirthDate > '01-01-1900' AND BirthDate < ’01-01-2010’)
PRIMARY KEY约束
CREATE TABLE AWC
(ASD int CHECK(ASD <100) PRIMARY KEY,
ASDE varchar(80) Default 'UNKNOWN')
USE Northwind
ALTER TABLE Customers ADD CONSTRAINT PK_Customers PRIMARY KEY (CustomerID)
UNIQUE约束
CREATE TABLE AAC
(ASD int CHECK(ASD <100) PRIMARY KEY,
ASDE int UNIQUE)
USE Northwind
ALTER TABLE Suppliers ADD CONSTRAINT U_CompanyName UNIQUE (CompanyName)
FOREIGN KEY约束
CREATE TABLE ACC
(ASD int CHECK(ASD <100) PRIMARY KEY,
ASDE int FOREIGN KEY REFERENCES AAC(ASD))
USE Northwind
ALTER TABLE Orders WITH NOCHECK ADD CONSTRAINT FK_Or_Cu
FOREIGN KEY (CustomerID)
REFERENCES Customers(CustomerID)