table相关
数据完整性(Data Integrety)
实体完整性(Entity Integrity)
行唯一,例子:UNIQUE,PRIMARY KEY,IDENTITY
域完整性(Domain Integrity)
约束列,例子:CHECK,FOREIGH KEY,DEFALIT,NOT NULL
参照完整性(Referential Integrity)
两个表之间的关系约束,例子,FOREIGN KEY,CHECK
用户定义的完整性(User-Defined Integrity)
规则(RULE),存储过程(Store Procedure),触发器(Trigger)
SQL的数据库对象
表 table
视图 view
存储过程 store procedure
触发器 trigger
DDL触发器
DML触发器
插入时
删除时
更新时
索引 indexer
约束 constraint
规则 rule
默认值 default
SQL特殊表
分区表
临时表
系统表
数据类型
数值型:不用单引号,其他的都需要单引号
字符型
char和varchar的区别
char和nchar的区别
日期/时间
货币
创建表
第一步,设计
表内的字段是什么,有哪些属性
什么数据类型,多长
加什么约束,保证数据完整性
create table table_name
(列名 数据类型 列约束
表约束(多个表约束,用,隔开)
)
列约束:
null/not null 直接加在数据类型后面,不加约束名
[constraint 约束名] default 默认值/identity(种子,增量)
以上约束可以有n个
[constraint 约束名]primary key/unique/foreign key references 表名(关联的字段名)
/check(逻辑语句)
表约束
[constraint 约束名]primary key/unique
(列名 排序方式)---排序方式只能是asc,desc,n个用逗号隔开
[constraint 约束名]foreign key (n个列名 )
references 表名(关联的字段名)
[constraint 约束名]check(逻辑语句)
create table test
(id int not null constraint test_name default(3),
constraint PK_t2_id
primary key(id)
,
num int identity(10,10)
constraint Un_t1_num
UNIQUE
,
tt int
constraint FK_t1_t2
foreign key(tt)
references t2(rr)
,
name varchar(10)
check(not name='david')
)
删除表
drop table table_name
修改表
alter table table_name
alter column 列名 数据类型 [null/not null] --只能修改列表
add 列定义/表约束
列定义:列名 数据类型 null/not null 列约束--default,identity,pk,fk,unique,check
表约束:pk,fk,unique,check
drop constraint 约束名/column 列名
--有nocheck和check指令,禁用或者启用check约束