网站大量收购独家精品文档,联系QQ:2885784924

数据库读书笔记.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库读书笔记

基本类型: Char(n):固定长度,指定长度n; Varchar(n):可变长度,指定最大长度n; Int:整数类型; Smallint:小整数类型; Numeric(p,d):定点数,p是位数(加上一个符号位),d是精度,小数点右边的位数; Real,double,precision:浮点数与双精度浮点数; Float(n):精度至少为n位的浮点数。 创建关系:create table create table department (dept_name varchar(20), Building varchar(15), Budget numeric(12,2), Primary key(dept_name)); primary key(a1,a2,…….an):primary key声明表示属性a1,a2,….an构成关系的主码。主码属性必须非空且唯一。 foreign key(b1,b2,…….bn)references table1:foreign key声明表示关系中任意元组在属性(b1,b2,……bn)上的取值必须对应于(在…之中)关系table1中某元组在主码属性上的取。 数据加载:insert insert into table1 values(a1,a2,….an); 删除元组:delete delete from table1 删除student中符合谓词p1的 where p1 元组 更新:update update instructor set salary=salary*1.05 where salary70000 (update instructor set salary =case when salary=100000 then salary*1.05 else salary*1.03 end) case语句的一般格式: case when p1 then r1 when p2 then r2 ….. when pn then rn else r0 end 删除关系:drop table drop table table1; 删除table1的元组和模式 为已有关系增减属性:alter table 加:alter table r add A D; 其中r是现有关系的名字,A是待添加属性的名字,D是待添加属性的域。关系中的所有元组在新属性上的取值将被设为null。 减:alter table r drop A D; 强行删除重复:distinct Select distinct dept_name From instructor 基本查询语句: select a1,a2,……an from table1,table2,……tablen where p; a为属性,table为关系,p为table间的谓词。 = 1 \* GB3 ①通过from子句定义了一个在该子句中所列出关系上的笛卡尔积 = 2 \* GB3 ②where子句中的谓词用来限制笛卡尔积所建立的组合。允许使用逻辑连词and,or,not,逻辑连词的运算对象是包含比较运算符,=,=,,=,的表达式。可以用比较运算符来比较字符串、算术表达式、特殊类型,如日期类型 = 3 \* GB3 ③输出select指定的属性 自然连接:natural join Select name,course_id From instructor natural join teaches; 只考虑那些在两个关系模式中都出现的属性上取值相同的元组对,这样的属性只出现一次。列出顺序为:先是两个关系模式中的共同属性,然后是那些只出现在第一个关系模式中的属性,最后是那些只出现在第二个关系模式中的属性。 指定属性的自然连接:table1 join table2 using(a1,a2) 在有的情况,两个关系之间有两个以上的相同属性名称,但是意义不同,如course.id和student.id。 select name,title from(instructor nature join teaches)join course using (course_id) select a1,a2 相同的属性列会出现两次 from table1 join table2 on p1 更名运算:as as子句既可以出现在select子句中,又可以出现在from子句中。主要用于:?把一个长的关系名替换成短的?使用于需要比较同一个关系中的元组情况,自己跟自己进行笛卡尔积运算。 select distinct T.name from instructor as

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档