黑马程序员—SQL系列 (三)

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

前言:可通过目录快速查阅

SQL语句入门

5.索引与约束

1)索引
创建索引
--在T_Person 表的FName和FAge 字段上创建索引,idx_person_nameage
CREATE INDEX idx_person_nameage ON T_Person(FName,FAge) 
删除索引
DROP INDEX T_Person.idx_person_name; 
DROP INDEX T_Person.idx_person_nameage; 
2)约束
非空约束 
CREATE  TABLE  T_Person  (FNumber  VARCHAR(20)  NOT  NULL  ,FName 
VARCHAR(20),FAge INT)
INSERT INTO T_Person (FNumber, FName, FAge) VALUES ( NULL , 'kingchou', 20) 
错误信息: 不能将值 NULL 插入列 'FNumber',表 'demo.dbo.T_Person';列不允许有空值。INSERT 失败
唯一约束 
单字段唯一约束:
CREATE TABLE T_Person (FNumber VARCHAR(20) UNIQUE, 
FName VARCHAR(20),FAge INT) 
--已存在FNumber 为2的记录
INSERT INTO T_Person (FNumber, FName, FAge) VALUES ( '2' , 'kitty', 20) 
错误信息: 违反了 UNIQUE KEY 约束 'UQ__T_Person__1A14E395'。不能在对象 'dbo.T_Person' 中插入重复键
复合唯一约束:
CREATE TABLE T_Person (FNumber VARCHAR(20), 
FDepartmentNumber VARCHAR(20), 
FName VARCHAR(20),FAge INT, 
CONSTRAINT unic_dep_num UNIQUE(FNumber,FDepartmentNumber))
--FNumber等于'2'且FDepartmentNumber等于'sales001'的记录在表中已经存在
INSERT INTO T_Person (FNumber, FDepartmentNumber,FName, FAge)  VALUES ( '2' , 'sales001', 'daxia', 30)
错误信息: 违反了 UNIQUE KEY 约束 'unic_dep_num'。不能在对象 'dbo.T_Person' 中插入重复键
在已经创建好的数据表上添加新的唯一约束
--为T_Person表添加一个建立在字段FName和字段FAge上的新的唯一约束
ALTER TABLE T_Person ADD  CONSTRAINT unic_3 UNIQUE(FName, FAge) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值