*所学课本为数据库系统概念(第6版)由耶鲁大学、利哈伊大学和印度理工学院的几个外国人编的。
1、SQL查询语言概览:数据定义语言(DDL)、数据操纵语言(DML)、完整性、视图定义、事务控制、嵌入式SQL和动态SQL、授权。
bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
int
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
smallint
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。
tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。
-
建表:
create table instructor(id varchar(7),name varchar(20) not null, /*不允许空值*/dept_name varchar(20),salary numeric(8,2),primary key(id), /*主码(或称主键),其属性必须非空且唯一,即实体完整性*/foreign key(dept_name) references department); /*外码,取值必须对应于外关系department中在主码属性上的取值,即参照完整性)*/ - 插入数据:
insert into instructor
values(10211,‘Mike’,‘biology’,66000);
- 增加属性:alter table r add ad;
- 删除属性: alter table r drop ad;
- 删除元组:delete from instructor; /*删除instructor关系中的所有元组*/
- 删除关系:drop table instructor;
两个删除操作的区别:对以上删除操作,drop比delete更强,前者保留关系instructor,但是删除所有元组。后者不仅删除元组,还删除关系instructor的模式。
*关于插入与删除操作,还有很多其他特性,后面有更详尽的讲解。
本笔记采用的例子为大学数据库的模式。总共有11个表,包括:classroom,department,course,instructor,section,teaches,student,takes,advisor,time_slot和prereq。