视图
-
视图的概念
视图的概念——虚表,本质就是查询的SQL
-
视图的作用
视图的作用——用来存储我们的SQL
-
视图的创建
CREATE VIEW V_EMP AS
SELECT EMPNO,ENAME,JOB,MGR,DEPTNO,HIREDATE FROM EMP;
-
视图的查询
通过视图获取员工的信息
SELECT * FROM V_EMP;
-
视图的分类
(简单视图、复杂视图、关联视图)
V_EMP 简单视图 映射的是一张真实的表 基表EMP
-
视图的更新
ALTER VIEW V_EMP AS
SELECT EMPNO,ENAME,JOB,MGR,DEPTNO FROM EMP;
SELECT * FROM V_EMP;
-
对视图进行增、删、改记录
对V_EMP视图执行INSERT操作
INSERT INTO V_EMP (EMPNO,ENAME,JOB,MGR,DEPTNO)
VALUES (9001,'ZHANGSAN','MANAGER',7369,10);
SELECT * FROM EMP;
设计一个视图用来获取10号部门的员工信息
CREATE VIEW V_EMP_10 AS
SELECT EMPNO,ENAME,JOB,MGR,DEPTNO FROM EMP WHERE DEPTNO=10;
删除视图
DROP VIEW V_EMP;
约束
什么是约束?
可以理解为限制条件,规则
-
空值约束--- NULL 表示允许为空
CREATE TABLE EMP(
EMPNO NUMERIC(4) NULL,
ENAME VARCHAR(50) NULL
);
-
唯一性约束--- UNIQUE 表示值必须是唯一的
CREATE TABLE EMP(
EMPNO NUMERIC(4) UNIQUE,
ENAME VARCHAR(50) NULL
);
-
非空约束--- NOT NULL表示不允许为空
CREATE TABLE EMP(
EMPNO NUMERIC(4) UNIQUE,
ENAME VARCHAR(50) NOT NULL
);
-
主键约束--- PRIMARY KEY 表示值必须是唯一的,并且不允许为空
CREATE TABLE EMP(
EMPNO NUMERIC(4) PRIMARY KEY,
ENAME VARCHAR(50) NOT NULL
);
添加主键约束
ALTER TABLE DEPT ADD CONSTRAINT PK_ID PRIMARY KEY (ID);
删除主键约束
ALTER TABLE DEPT DROP CONSTRAINT PK_ID;
-
主键自增
CREATE TABLE EMP(
EMPNO NUMERIC(4) PRIMARY KEY IDENTITY(1000,1),
ENAME VARCHAR(50) NOT NULL
);
-
外键约束---FOREIGN KEY 表示外键字段的值必须与主表中的主键值一致
CREATE TABLE EMP(
EMPNO NUMERIC(4) PRIMARY KEY IDENTITY(1000,1),
ENAME VARCHAR(50) NOT NULL
EID NUMERIC(4) FOREIGN KEY REFERENCES EMP2(主表)
);
添加外键约束
ALTER TABLE EMP ADD CONSTRAINT FK_DEPTNO
FOREIGN KEY (DEPTNO) REFERENCES DEPT(ID);
-
默认值约束
CREATE TABLE EMP(
EMPNO NUMERIC(4) PRIMARY KEY,
ENAME VARCHAR(50) NOT NULL,
ESAL NUMERIC(10) DEFAULT'5000'
);
为表中现有的字段添加默认值
ALTER TABLE EMP ADD CONSTRAINT DF_ESAL_EMP DEFAULT(5000) FOR ESAL;
-
检查约束
CREATE TABLE EMP(
EMPNO NUMERIC(4) PRIMARY KEY,
ENAME VARCHAR(50) NOT NULL,
ESAL NUMERIC(10) DEFAULT'5000'
ESEX NVARCHAR(2)CHECK (ESEX='男' OR ESEX='女'),
);
索引
参考资料:
https://blog.csdn.net/jacke121/article/details/78268602
https://blog.csdn.net/zhaoliang831214/article/details/80782939