2018.5.20 oracle强化练习
--现在有一个商店的数据库,记录客户以及购物的情况,
商品表goods
(商品号 goodsid varchar2(8)
商品名 goodsname varchar2(20)
单价 unitprice number(5,2)
商品的类别 category varchar2(8)
供应商 provider varchar2(20))
create table goods(
goodid varchar2(8),
goodname varchar2(20),
unitprice number(5,2),
category varchar2(8),
provider varchar2(20)
);
客户表customer
customerid varchar2(8)
name varchar2(20)
address varchar2(30)
email varchar2(30)
sex varchar2(8)
create table customer(
customerid varchar2(8),
name varchar2(20),
address varchar2(30),
email varchar2(30),
sex varchar2(8)
);
购买表purchase
客户号 customerid varchar2(8)
商品号 goodsid varchar2(20)
购买数量 nums number(2)
create table purchase(
customerid varchar2(8),
goodsid varchar2(20),
nums number(2)
);
用sql语句创建三张表
1、定义每个表的主、外键
alter table customer add constraint pk_customerid primary key(customerid);
alter table goods add constraint pk_goods_goodid primary key(goodid);
alter table purchase add constraint fk_purchase_customerid foreign key(customerid) references customer(customerid) on delete cascade;
alter table purchase add constraint fk_purchase_goodsid foreign key(goodsid) references goods(goodid) on delete cascade;
2、客户的姓名不能为空
alter table customer modify (name not null);
3、单价必须大于0,购买数量必须在1到30之间
alter table goods add constraint ck_unitPrice check(unitprice>0);
alter table purchase add constraint ck_nums check(nums between 1 and 30);
4、电邮不能重复
alter table customer add constraint un_email unique (email);
5、客户的性别必须是female或者male,默认是male
alter table customer modify (sex in('female','male') default 'male');
alter table customer modify(sex varchar2(8) default 'male' );
alter table customer add constraint ck_sex check(sex='female' or sex='male' );
--chakan yueshu
select constraint_name,table_name from user_constraints where table_name =upper('goods');
select constraint_name,table_name from user_constraints where table_name =upper('customer');
select constraint_name,table_name from user_constraints where table_name =upper('purchase ');
2018.5.20 oracle强化练习的更多相关文章
- OSC Source Code Innovation Salon(2018.10.20)
时间:2018.10.20地点:北京 朝阳 浦项中心B座2层
- PCB 所建不凡 AWS 技术峰会2018 • 深圳站 2018.9.20
在去[AWS 技术峰会2018 • 深圳站]之提前并没有AWS提前做功课,主要PCB这行业基本自己搭服务器搭应用,不会买云服务器.由于没用过企业级的云服务器,对云这方面还是了解还是非常有限的. 市面上 ...
- 2018.5.19 Oracle数据操作和管理表的综合练习
--作业一.使用自己的用户登录,完成如下操作,并且创建5条测试数据 -- 创建学生表(stu),字段如下: -- 学号(stuID) -- 姓名(stuName) -- 性别(stuSex) -- 入 ...
- 2018.5.9 Oracle数据库查询命令
0.查询所有数据(最简单,但是时间很久) select * from emp; Result: EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- - ...
- 2018.8.20 Python之路---常用模块
一.re模块 查找: re.findall(‘正则表达式’,‘字符串’) 匹配所有符合正则表达式的内容,形成一个列表,每一项都是列表中的一个元素. ret = re.findall('\d+','sj ...
- oracle强化练习之分组函数
1. 显示平均工资为>2000的职位 select job,avg(sal) from emp group by job having avg(sal)>2500; 2. ...
- 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...
- 2018.9.20 Educational Codeforces Round 51
蒟蒻就切了四道水题,然后EF看着可写然而并不会,中间还WA了一次,我太菜了.jpg =.= A.Vasya And Password 一开始看着有点虚没敢立刻写,后来写完第二题发现可以暴力讨论,因为保 ...
- 2015.3.20 Oracle使用正则表达式
.Oracle正则表达式使用介绍 正则表达式具有强大.便捷.高效的文本处理功能.能够添加.删除.分析.叠加.插入和修整各种类型的文本和数据.Oracle从10g开始支持正则表达式 ..下面通过一些例子 ...
随机推荐
- 20个问题(状压dp)
20个问题(状压dp) 有n(<=128)个物体,m(<=11)个特征.每个物体用一个m位01串表示,表示每个特征是具备还是不具备.我在心里想一个物体,由你来猜.你每次可以询问一个特征,然 ...
- js默认事件汇总
默认事件 就是浏览器通过HTML标签或DOM元素提供的一些功能性的默认行为.比如在a标签href属性上的跳转,右键呼出的菜单等等.我们可以通过js取消或更改这些默认事件. 取消默认事件 默认事件都是定 ...
- python 3.7 生成数据库文档
开发阶段数据库总是有变动,开发人员需要维护文档给相关人员使用,故编写一个脚本自动生成数据库文档 生成的excel如下 import cx_Oracle import os from openpyxl ...
- 利用Putty连接树莓派
解决emergency mode问题 记得上一次玩我的树莓派是做一个小型的服务器,挂载一个8GB的USB做服务器,在Windows电脑上直接进行访问.结果今天就开启不了树莓派了,总是进入emergen ...
- mysql事务锁表
-- 查看被锁住的SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; -- 等待锁定SELECT * FROM INFORMATION_SCHEMA.INNO ...
- 【ACM】吝啬的国度 - DFS (图)
吝啬的国度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市, ...
- Windows下搭建QT环境
必须软件 qt-windows-opensource-5.1.1-msvc2010-x86-offline qt-vs-addin-1.2.2-opensource支持vs2008.2010.2012 ...
- 将本地代码添加到github
首先在github上创建一个仓库. 第一步:建立本地仓库 git init 关联远程仓库 git remote add origin https://github.com/tshua/***.git ...
- 3 - Selenium元素定位和操作
3.1定位 <button id="gbqfba" aria-label="Google Search" name="btnK" cl ...
- elasticsearch.yml基本配置说明
一.基本配置 elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是 ...