创建表和定义数据完整性
来源:互联网 发布:淘宝刷流量有用么 编辑:程序博客网 时间:2024/04/30 04:27
create database TSQL2012;
use TSQL2012;
--查询所有数据库名 sysDatabases主数据库服务器中的数据库
select name from sysDatabases order by name;
--查询数据库当前数据库下所有表名 sysobjects系统表,在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行
select name from sysobjects where xtype='U' order by name;
--创建表Employees
CREATE TABLE Employees
(
empid INT NOT NULL,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
hireday DATE NOT NULL,
mgrid INT NULL,
ssn VARCHAR(20) NOT NULL,
salary MONEY NOT NULL
);
--主键约束 不允许有null
alter table Employees
add constraint PK_Employees --建立名字为PK_Employees的约束
primary key(empid);
--删除主键约束
declare @csname varchar(100)
set @csname=''
select @csname=name
FROM sysobjects
WHERE xtype='PK' AND parent_obj=object_id('Employees') --获取主键约束名字
exec('alter table Employees drop constraint ' + @csname); --删除约束
--唯一约束 sqlserver只允许有一个NULL标记
ALTER TABLE Employees
ADD CONSTRAINT UNQ_Employees_ssn
UNIQUE(ssn);
--创建Orders表
CREATE TABLE Orders
(
orderid INT NOT NULL,
empid INT NOT NULL,
custid VARCHAR(10) NOT NULL,
orderts DATETIME2 NOT NULL,
qty INT NOT NULL,
CONSTRAINT PK_Orders PRIMARY KEY(orderid)
);
--外键约束 不同表
ALTER TABLE Orders
ADD CONSTRAINT FK_Orders_Employees
FOREIGN KEY(empid)
REFERENCES Employees(empid);
--外键约束 同一个表
ALTER TABLE Employees
ADD CONSTRAINT FK_Employees_Employees
FOREIGN KEY(mgrid)
REFERENCES Employees(empid);
--CHECT 约束 要插入的或修改的行必须满足此条件
ALTER TABLE Employees
ADD CONSTRAINT CHK_Employees_salary
CHECK(salary >0);
--默认约束 如果插入式没显示指定值则使用默认值
ALTER TABLE Orders
ADD CONSTRAINT DFT_Orders_orderts
DEFAULT(SYSDATETIME()) FOR orderts;
use TSQL2012;
--查询所有数据库名 sysDatabases主数据库服务器中的数据库
select name from sysDatabases order by name;
--查询数据库当前数据库下所有表名 sysobjects系统表,在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行
select name from sysobjects where xtype='U' order by name;
--创建表Employees
CREATE TABLE Employees
(
empid INT NOT NULL,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
hireday DATE NOT NULL,
mgrid INT NULL,
ssn VARCHAR(20) NOT NULL,
salary MONEY NOT NULL
);
--主键约束 不允许有null
alter table Employees
add constraint PK_Employees --建立名字为PK_Employees的约束
primary key(empid);
--删除主键约束
declare @csname varchar(100)
set @csname=''
select @csname=name
FROM sysobjects
WHERE xtype='PK' AND parent_obj=object_id('Employees') --获取主键约束名字
exec('alter table Employees drop constraint ' + @csname); --删除约束
--唯一约束 sqlserver只允许有一个NULL标记
ALTER TABLE Employees
ADD CONSTRAINT UNQ_Employees_ssn
UNIQUE(ssn);
--创建Orders表
CREATE TABLE Orders
(
orderid INT NOT NULL,
empid INT NOT NULL,
custid VARCHAR(10) NOT NULL,
orderts DATETIME2 NOT NULL,
qty INT NOT NULL,
CONSTRAINT PK_Orders PRIMARY KEY(orderid)
);
--外键约束 不同表
ALTER TABLE Orders
ADD CONSTRAINT FK_Orders_Employees
FOREIGN KEY(empid)
REFERENCES Employees(empid);
--外键约束 同一个表
ALTER TABLE Employees
ADD CONSTRAINT FK_Employees_Employees
FOREIGN KEY(mgrid)
REFERENCES Employees(empid);
--CHECT 约束 要插入的或修改的行必须满足此条件
ALTER TABLE Employees
ADD CONSTRAINT CHK_Employees_salary
CHECK(salary >0);
--默认约束 如果插入式没显示指定值则使用默认值
ALTER TABLE Orders
ADD CONSTRAINT DFT_Orders_orderts
DEFAULT(SYSDATETIME()) FOR orderts;
0 0
- 创建表和定义数据完整性
- 01创建表和定义数据完整性
- 使用事务保证数据完整性和创建和使用索引
- 数据库中定义表和建立完整性代码
- 表与数据完整性
- DB数据完整性和一致性
- mysql数据完整性和约束
- mysql数据完整性和约束
- oracle---数据完整性和约束
- 完整性约束的定义和检验
- oracle创建和管理表、完整性约束、创建视图、序列、索引、同义词
- 数据完整性
- 数据完整性
- 数据完整性
- 数据完整性
- 数据完整性
- 索引和数据完整性约束的总结
- sql2005数据完整性之约束和规则
- gtest参数化之Combine
- Android Drawable Resource学习(十二)、ShapeDrawable还是GradientDrawable?
- yii2-cookbook之单表继承[翻译]
- RecyclerView+Glide+PhotoView
- c++ # ## 区别
- 创建表和定义数据完整性
- iOS开发UI篇—Quartz2D简单使用(一)
- Linux信号、信号处理和信号处理函数
- IOS7.0 原生二维码扫描
- 安卓四大组件之——ContentProvider学习
- linux awk命令详解
- iOS开发UI篇—Quartz2D简单使用(二)
- ANDROID – TOOLBAR STEP BY STEP
- poj 1276 多重背包+二进制解法