一、视图
1、视图:是从一个表或多个表中生成的虚拟的表。
2、检索每个学生的导师姓名与哲学成绩。
select s.姓名,t.教师姓名,r.哲学
from student s,teacher t,res r
where s.教师编号=t.教师编号and s.学生编号=r.学生编号
3、创建视图
create view 视图名
as
查询语句
4、使用视图:select * from 视图名
5、删除视图:drop view 视图名
6、视图的优点
分割数据,简化观点。
简化操作。
提供自动的安全保护功能。
7、修改视图:(右)视图名--修改
8、浏览视图信息
sp_help 显示RDBMS中所有的对象信息(包括视图信息)
select name,crdate
from sysobjects
where type ='v'
order by name
sysobjects表,记录了当前数据库中所有数据库对象。
查看特定的视图信息:sp_help 视图名
查看特定视图的文本信息(创建命令):sp_helptext 视图名
9. 插入数据
insert 【into】 表名
(字段名1,......,字段名n)
values
(字段值1,......,字段值n)
10、向视图插入数据
insert into 视图名
(视图字段名1,......,视图字段名n)
values
(字段值1,......,字段值n)
向视图插入数据时,数据会写入实际的表中。
向视图中插入数据的注意事项
对多个表连接而成的视图而言,一个insert语句只能对某一个表实
现插入,而不能对多个表实现插入。
如果插入的数据中不包含特定的字段,而且该特定的字段在表的定
义中是不允许为空的,则插入失败。
不能对使用distinct和group by语句的视图写入数据。
11、更新表中的数据
update 表名
set 字段名=字段值,......
where 匹配条件
12、更新视图的数据
update 视图名
set 字段名=字段值,字段名=字段值,......
where 匹配条件
13、删除数据(复习)
delete from 表名
where 匹配条件
14、删除视图中的数据
delete from 视图名
where 匹配条件
15、视图的文本加密
create view 视图名
with encryption /*加密视图文本*/
as
查询语句
二、约束
1、约束,是对数据库名,对数据表名,字段名,记录,字段值等数据库 对象的取值要求.
在一个RDBMS中,数据库名具有唯一性。
在一个数据库中,数据表名具有唯一性。
在一个数据表中,字段名具有唯一性。
在一个数据表中,记录具有可被唯一标示的特性。
在一个特定的字段中,字段值具有被限制的特性。
2、约束的种类
主键约束 primary key
唯一性约束 unique
核查约束 check
nullablity 约束
3、主键约束--primary key
主键约束:利用表中一列或多列数据来唯一的标示一条记录。
主键约束的要求:主键字段不允许有相同的值存在。
主键字段必须有明确的值存在,不允许出现null值。
一张表张只能有一个主键。
定义主键:在创建表格时定义主键
在一个没有定义主键的表格中定义主键
修改或删除表格中的主键
在创建表格时定义主键:
create table 表名
(字段名 数据类型 primary key,
......,
字段名 数据类型 )
系统会将特定的一个字段设置为主键,且为该主键自动生成
一个默认的约束名:PK_表名_随机数。
create table 表名
(字段名 数据类型 ,
......,
字段名 数据类型,
constraint 约束名 primary key (字段名,......,字段名))
查看主键定义:sp_pkeys 表名
删除主键: alter table 表名
drop constraint 主键约束名
添加主键的定义:alter table 表名
add constraint 约束名 primary key (字段名)
4、唯一性约束unique
unique约束的作用式用来确保不受主键约束的字段上数据的唯一性。
唯一性约束与主键约束的区别:
唯一性约束允许有null值存在,主键约束不允许null值存在。
一个表中可存在多个唯一性约束,但一个表中只能存在一个主
键约束。
定义唯一性约束:在创建表格时定义
在没有唯一性约束的表格上添加约束
修改或删除唯一性约束
在创建表格时定义唯一性约束:
create table test4
(num int ,
names varchar(20),
constraint 唯一性约束名 unique (字段名))
添加唯一性约束
alter table 表名
add constraint 约束名 unique (字段名)
删除唯一性约束
alter table 表名
drop 唯一性约束名
5、核查约束--check
核查约束的作用是通过检查输入表的数据来维护字段值域的完整性。
定义核查约束:在创建表格时定义核查约束
在已将存在的表格中添加核查约束
修改或删除核查约束
在创建表格时定义核查约束
create table 表名
(字段名 数据类型 ,
......
字段名 数据类型,
constraint 约束名 check (字段名 字段值 ) )
例:create table test5
(num int ,
names varchar(20),
graend char(2),
constraint pk004 primary key (num),
constraint un004 unique (names),
constraint ch004 check (graend in ('男','女'))
)
向已存在的表中添加check约束
alter table 表名
add constraint 约束名 check (字段名 字段值)
删除check约束
alter table 表名
drop 约束名
转载于:https://blog.51cto.com/youye/325382