T-SQL创建数据库及主外键约束等
配置 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)
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)
...全文
相关推荐
SQL-Server2008实验报告
本实验利用SQL Server 2008的企业管理器和查询分析器,完成数据库的创建与管理,涵盖表结构设计、主外键及约束设置、索引操作,并通过图形界面和T-SQL命令实现数据插入与查询,强化了对数据库对
SQL Server中用T-SQL语句实现(建表、键约束、建关系)
在SQL Server中,T-SQL(Transact-SQL)是用于管理和操作数据库的主要语言。本文将详细介绍如何使用T-SQL语句创建表、添加约束以及建立表间的关系。首先,我们来看创建表的操作。
SQL Server 2005基础知识
**T-SQL (Transact-SQL)**: T-SQL是SQL Server的扩展,增加了数据操作、控制和定义语言的功能。
郝斌Sql2005的笔记
更新数据如`UPDATE emp SET emp_id = 1001`,以及外键的设置都是数据库设计中常见的操作。通过SQL命令创建表和主外键约束,可以更加精确地定义数据结构。
创建基本表和数据库源代码
该项目通过SQL脚本创建名为StuInfo的学生信息数据库,定义数据和日志文件的存储参数。在数据库中建立学生、课程和成绩三张关联表,设定字段类型、主外键约束,并插入初始数据用于测试和演示,完成基础数据


