四、SQL基础知识--约束和视图
--创建约束的方式
--一、在字段创建时将约束添加到字段之后
CREATE TABLE ZYJ_YUESHU(
ZYJ_ID VARCHAR(20) NOT NULL PRIMARY KEY, --创建非空、主键约束
ZYJ_NAME VARCHAR(20) DEFAULT 'jie' NOT NULL, --创建默认约束
ZYJ_NO VARCHAR(20) UNIQUE, --创建唯一约束
ZYJ_SEX VARCHAR(20) CHECK(ZYJ_SEX IN('男','女')),
ZYJ_CHENGJI INT CHECK(ZYJ_CHENGJI>10)
);
COMMENT ON TABLE ZYJ_YUESHU IS 'soulsjie ,学习约束创建的数据表';
COMMENT ON COLUMN ZYJ_YUESHU.ZYJ_ID IS '序号字段 非空 主键';
COMMENT ON COLUMN ZYJ_YUESHU.ZYJ_NAME IS '姓名字段 非空 默认为jie';
COMMENT ON COLUMN ZYJ_YUESHU.ZYJ_NO IS '编号字段 唯一约束';
COMMENT ON COLUMN ZYJ_YUESHU.ZYJ_SEX IS '性别字段 只能是男、女';
COMMENT ON COLUMN ZYJ_YUESHU.ZYJ_CHENGJI IS '成绩字段 大于10'; --二、在所有的字段创建之后单独添加约束
CREATE TABLE ZYJ_YUESHU(
ZYJ_ID VARCHAR(20),
ZYJ_NAME VARCHAR(20),
ZYJ_NO VARCHAR(20),
ZYJ_SEX VARCHAR(20),
ZYJ_CHENGJI INT,
--在字段创建之后,单独添加约束的格式【constraint 约束名 约束类型(约束的对象字段)】
CONSTRAINT pk_zhujian PRIMARY KEY(ZYJ_ID), --创建主键约束
CONSTRAINT not_null UNIQUE(ZYJ_NO), --创建唯一约束
CONSTRAINT ch_jiancha CHECK(ZYJ_SEX IN ('男','女'))
); --添加约束
ALTER TABLE ZYJ_YUESHU ADD CONSTRAINT un_unique UNIQUE(ZYJ_CHENGJI);
--删除约束
ALTER TABLE ZYJ_YUESHU DROP CONSTRAINT ch_jiancha;
--修改约束
ALTER TABLE ZYJ_YUESHU DROP CONSTRAINT ch_jiancha;--先删除约束
ALTER TABLE ZYJ_YUESHU ADD CONSTRAINT ch_jiancha CHECK(ZYJ_SEX IN ('1','0'));--重新创建 --视图
--创建一个查看学生平均成绩的视图
CREATE VIEW STU_AVG AS SELECT I.STU_NAME as names ,AVG(S.KECHENG_CHENGJI) as avgsc FROM STU_INFO I ,KECHENG_INFO K,STU_SCORE S WHERE I.STU_ID=S.STU_ID AND S.KECHENG_BIANHAO=K.KECHENG_BIANHAO GROUP BY I.STU_NAME;
--视图的使用
SELECT * FROM STU_AVG WHERE AVGSC>=60 ORDER BY AVGSC DESC; --约束之创建外键约束的语法格式
--在下例中,将创建一个名为 Skills 的表,其中包含潜在技能列表,然后创建一个与 Skills 表具有外键关系、名为 EmployeeSkills 的表。请注意,EmployeeSkills.SkillID 与 Skills 表的主键列 (Id) 存在外键关系。
CREATE TABLE Skills ( |
四、SQL基础知识--约束和视图的更多相关文章
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- 常见SQL语句和SQL基础知识
引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name k ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(七)- 集合运算
SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式
SQL 基础知识梳理(六)- 函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- SQL基础随记2 视图 存储过程
SQL基础随记2 视图 存储过程 View CREATE/ALTER/DROP VIEW ViewName as SELECT(...) 可以在视图的基础上继续创建视图,即,将之前创建的视图当做表 ...
随机推荐
- 洛谷 P2261 [CQOI2007]余数求和 ||整除(数论)分块
参考:题解 令f(i)=k%i,[p]表示不大于p的最大整数f(i)=k%i=k-[k/i]*i令q=[k/i]f(i)=k-qi如果k/(i+1)=k/i=qf(i+1)=k-q(i+1)=k-qi ...
- 9.JAVA-抽象类定义
1.抽象类 抽象类,用来表示一个抽象概念. 是一种只能定义类型,而不能产生对象的类,所以定义了抽象类则必须有子类的出现. 抽象类的好处在于能够明确地定义子类需要覆写的方法 抽象类需要使用abstrac ...
- checkbox:click事件触发span元素内容改变
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用cordova把h5应用打包成apk
由于h5应用开发不是本例重点,因此直接提供一个最简单的h5应用代码,此应用使用vue-cli框架开发 此h5应用叫vue1,用webstrom打开vue1,进行npm install安装引用 vue1 ...
- ag-grid-vue 本地删除,不重新刷新数据
// 这是本地删除,不重新刷新数据 that.gridListOptions.api.updateRowData({ remove: [that.submitTransmitData] });
- 初学者可能不知道的vue技巧
前言 大家好,这里是@IT·平头哥联盟,我是首席甩锅官——老金,今天给大家分享的,一些日常中神秘而又简单的vue的实用小技巧,以及我在我司项目中实用vue的总结和坑,跟大家一起分享,希望能给其他攻城狮 ...
- Makefile介绍
make 工具如 GNU make.System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同.不同的make工具的mak ...
- 重新部署mysql遇到的问题
Windows 2008 Server R2 MySql: 5.7 下载Mysql. 配置mysql环境变量 注册mysql服务.(mysqld install) 移除注册,sc delete mys ...
- OCP 11g 第一章练习
练习 1-1 研究所在环境的DBMS 这是一个书面练习,没有具体的解决方案. 确定自己所在环境使用的应用程序, 应用服务器 , 和数据库. 然后集中精力研究数据库, 体验一下数据库的规模和忙碌程度. ...
- Vue.js Extension Pack 和 jsconfig.json 可以定位跳转到@开头的路径等自定义路径
Vue.js Extension Pack | vsCode插件 可以定位跳转到@开头的路径等自定义路径 webpack自定义别名后,VScode路径提示问题 //tsconfig.json 或者 j ...