数据库笔记
更新时间:2024-01-04 09:31:01 阅读量: 教育文库 文档下载
Mysql笔记大全
1、SHOW DATABASES:查看所有数据库
2、删除数据库:drop table if exists course; / drop table course 3、创建数据库:
create table department
(dept_name varchar(20),
budget numeric(12,2) check (budget > 0), primary key (dept_name) );
create table course
(course_id varchar(8), title varchar(50), dept_name varchar(20),
credits numeric(2,0) check (credits > 0), primary key (course_id),
foreign key (dept_name) references department (dept_name) on delete set null );
create table prereq
(course_id varchar(8), prereq_id varchar(8),
primary key (course_id, prereq_id),
foreign key (course_id) references course (course_id) on delete cascade,
foreign key (prereq_id) references course (course_id) on delete cascade );
4、删除department表中'Physics'记录(整行)
delete from department where Dept_name = 'Physics';
5、创建表emp,并插入三行数据, CREATE TABLE emp (
NAME VARCHAR(10), sal NUMERIC(10,2) );
INSERT INTO emp VALUES ( 'huang',25); INSERT INTO emp VALUES ('hai',8); INSERT INTO emp VALUES ('jay',50);
更新数据:sal>20的增加20%,否则 增加5%
UPDATE emp SET sal = CASE WHEN sal>20 THEN sal*1.2 ELSE sal*1.05 END; 6、假设全体Comp. Sci.学生都要选课“Weekly seminar”,且课程要2013年秋季学期开出,增加课程开出信息、选课信息。 insert into section
values ('CS-001',1,'Fall',2013,'Taylor',null,null) 已创建 1 行。
insert into takes
select student.ID,T.course_id,'1','Fall','2013',NULL from student,(select course_id from course
where title = 'Weekly seminar') T where student.dept_name='Comp. Sci.' 已创建4行。
7.、删除学生'Brown'的“Weekly seminar”课程的选课记录。 delete from takes
where takes.id in (select student.id from student
where name = 'Brown')
and takes.course_id in (select course_id from course
where title = 'Weekly seminar');
8、将学生表中学分tot_cred>100的学生选出来放进对应系的instructor表中,工资设置为10000.
insert into instructor
select id,name,dept_name,100000 from student
where tot_cred>100;
9、找出并删除所有未被开出过的课程。 delete from course
where course_id not in
(select course_id from section);
10、插入数据。
INSERT INTO book4(book_number) VALUES('A0001');
11、创建表时,设置表的默认值。 CREATE TABLE book4( book_number VARCHAR2(5) DEFAULT NULL, book_name VARCHAR2(30) DEFAULT '未知',
pub_com_bumber VARCHAR2(2) DEFAULT NULL, publishing_date DATE DEFAULT '01-1月-1900', author VARCHAR2(10) DEFAULT NULL, volume NUMBER(3) DEFAULT 0, price NUMBER(7,2) DEFAULT NULL, loan_volume NUMBER(3) DEFAULT 0 );
12、显示当前用户的所有表。 SELECT object_name FROM user_objects WHERE object_type='TABLE';
13、创建带有约束条件(包括外键)的图书表(如果已经存在,先删除): CREATE TABLE book( book_number VARCHAR2(5) CONSTRAINT PK_2 PRIMARY KEY, book_name VARCHAR2(30) NOT NULL, pub_com_number VARCHAR2(2) CHECK(LENGTH(pub_com_number)=2) NOT NULL, author VARCHAR2(10) DEFAULT '未知', publishing_date DATE DEFAULT '01-1月-1900', volume NUMBER(3) DEFAULT 1 CHECK(volume>0), price NUMBER(7,2), CONSTRAINT YS_1 UNIQUE(book_name, author), CONSTRAINT FK_1 FOREIGN KEY(pub_com_number) REFERENCES publishing_company(pub_com_number) ON DELETE CASCADE );
说明:因为两个表同属于一个用户,故约束名不能相重,图书表的主键为“book_number”列,主键名为PK_2。其中,约束条件CHECK(LENGTH(pub_com_number)=2)表示出版社编号的长度必须是2,约束条件UNIQUE(book_name, author)表示“book_name”和“auhtor”两列的内容组合必须惟一。FOREIGN KEY(pub_com_number) REFERENCES publishing_company (pub_com_number) 表示图书表的“pub_com_number”列参照出版社的“pub_com_number”主键列。出版社表为主表,图书表为子表,出版社表必须先创建。ON DELETE CASCADE表示当删除出版社表的记录时,图书表中的相关记录同时删除,比如删除清华大学出版社,则图书表中清华大学出版社的图书也会被删除。 如果同时出现DEFAULT和CHECK,则DEFAULT需要出现在CHECK约束条件之前。
查看约束条件(表-BOOK)
数据字典USER_CONSTRAINTS中包含了当前模式用户的约束条件信息。其中,CONSTRAINTS_TYPE 显示的约束类型为: C:CHECK约束。 P:PRIMARY KEY约束。 U:UNIQUE约束。 R:FOREIGN KEY约束。
其他信息可根据需要进行查询显示,可用DESCRIBE命令查看USER_CONSTRAINTS的结构。
【训练1】 检查表的约束信息:
说明:图书表共有7个约束条件,一个PRIMARY KEY(P)约束PK_2,一个FOREIGN KEY(R)约束FK_1,一个UNIQUE(R)约束YS_1和4个CHECK(C)约束SYS_C003186、SYS_C003187、SYS_C003188和SYS_C003189,4个CHECK约束的名字是由系统命名
使约束条件失效:
ALTER TABLE 表名 DISABLE CONSTRANT 约束名; 使约束条件生效:
ALTER TABLE 表名 ENABLE CONSTRANT 约束名; 【训练1】 使图书表的数量检查失效。 步骤1:使约束条件SYS_C003114(数量>0)失效: ALTER TABLE book DISABLE CONSTRAINT SYS_C003189; 执行结果: 表已更改。 步骤2:修改数量为0: UPDATE book SET volume=0 WHERE book_number='A0001'; 执行结果: 已更新 1 行。
步骤3:使约束条件SYS_C003114生效: ALTER TABLE book ENABLE CONSTRAINT SYS_C003114;
结果:不成功,因为表中有数据不满足该约束条件(必须SET volume为一个大于0的数,才能使约束条件SYS_C003114生效!!)
正在阅读:
数据库笔记01-04
国家公务员考试复习:经济常识总结03-06
皖西学院 2012-2013学年度第二学期线性代数期末考试试卷04-02
第五课 中华文化与民族精神复习导学案01-03
苏教版八下文学常识12-03
体育与健康课程单元教学计划制订的“三要”“三不要” - 图文01-11
2014公务员面试:跟套路模板说再见01-08
葫芦丝社团告家长通知书11-08
基于MC2833P和MC3363DW无线收发信机的设计05-20
百草枯与草甘膦10-24
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据库
- 笔记
- 市公安局2018年度行政执法突出问题专项治理工作总结
- 尔雅大学生心理健康教育答案(一)
- 尿素作业区岗位操作法
- 接入网技术复习题模板
- 喷混植生防护技术在边坡
- 人教版高中化学选修4导学案:3.3盐类的水解 第2课时 酸碱中和滴定
- 夫妻宫星星详解
- BEC阅读技巧2
- 水库调度运用计划
- 人文地理复习资料
- 2015中央电大《中外政治思想史》题库、期末复习题及参考答案(完整版小抄)
- 普通化学复习题(一)1
- 浅议农村学校如何扎实办好家长学校
- 交通网络中疏散路线设计与调度方案数学建模论文 - 毕业论文
- 鲁教版2017八年级上册道法提纲
- 伊利品牌优化曲奇饼干新品的上市推广营销策划方案 - 图文
- 自主招生力与平衡
- 2019年技术改造第二批中央预算内投资项目资金申请报告-烧碱、双氧水等产品扩建项目资金申请报告-资金申请
- 解析商品房产购销合同该怎样起草2019专业版 docx
- Blender Basics for Game Characters - 图文