目 录
一、 数据库介绍 1
1.1表是数据库中存储数据的基本单位 1
1.2数据库标准语言 1
1.3数据库(DB) 1
1.4数据库种类 1
1.5数据库中如何定义表 1
1.6 create database dbname的含义 1
1.7安装DBMS 1
1.8宏观上是数据-->database 1
1.9远程登录:telnet IP地址 1
1.10 TCP/IP通信协议 2
1.11数据库建连接必须提供以下信息 2
1.12一台机器可跑几个数据库,主要受内存大小影响 2
1.13源表和结果集 2
1.14几个简单命令 2
1.15 tarena给jsd1304授权 2
1.16课程中使用的5个表 3
二、 select from语句 5
2.1 select语句功能 5
2.2 select语句基本语法 5
2.3列别名 5
2.4算术表达式 5
2.5空值null的处理 5
2.6 nvl(p1,p2)函数 5
2.7拼接运算符 || 6
2.8文字字符串 6
2.9消除重复行 6
2.10其他注意事项 6
三、 SQL语句的处理过程 7
3.1 SQL语句处理过程 7
3.2处理一条select语句 7
四、 where子句 8
4.1 where子句后面可以跟什么 8
4.2语法和执行顺序 8
4.3字符串是大小写敏感的,在比较时严格区分大小写 8
4.4 where子句后面可以跟多个条件表达式 8
4.5 between and运算符 8
4.6 in运算符(多值运算符) 8
4.7 like运算符 9
4.8 is null运算符 9
4.9比较和逻辑运算符(单值运算符) 9
4.10多值运算符all、any 9
4.11运算符的否定形式 9
五、 order by子句 10
5.1语法和执行顺序 10
5.2升降序 10
5.3 null值在排序中显示 10
5.4 order by后面可以跟什么 10
5.5多列排序 10
六、 单行函数的使用 11
6.1数值类型 11
6.2日期类型 11
6.3字符类型 13
6.4转换函数 14
6.5其他注意事项 14
七、 SQL语句中的分支 15
7.1分支表达式 15
7.2分支函数 15
八、 组函数 16
8.1报表统计常用 16
8.2缺省情况组函数处理什么值 16
8.3当组函数要处理的所有值都为null时 16
8.4行级信息和组级信息 16
九、 group by子句 17
9.1语法和执行顺序 17
9.2分组过程 17
9.3常见错误 17
9.4多列分组 17
十、 having子句 18
10.1语法和执行顺序 18
10.2执行过程 18
10.3 where和having区别 18
十一、 非关联子查询 19
11.1语法 19
11.2子查询的执行过程 19
11.3常见错误 19
11.4子查询与空值 19
11.5多列子查询 20
十二、 关联子查询 21
12.1语法 21
12.2执行过程 21
12.3 exists 21
12.4 exists执行过程 21
12.5 not exists 22
12.6 not exists执行过程 22
12.7 in和exists比较 22
十三、 多表查询 23
13.1按范式要求设计表结构 23
13.2多表连接的种类 23
13.3交叉连接 23
13.4内连接 23
13.5外连接 25
13.6非等值连接 27
13.7表连接总结 27
十四、 集合 28
14.1表连接主要解决的问题 28
14.2集合运算 28
14.3集合运算符 28
14.4子查询、连接、集合总结 29
十五、 排名分页问题 30
15.1什么是rownum 30
15.2 where rownum<=5的执行过程 30
15.3 where rownum=5的执行过程 30
十六、 约束constraint 31
16.1约束的类型 31
16.2 primary key:主键约束 31
16.3 not null:非空约束 31
16.4 unique key:唯一建约束 31
16.5 references foreign key:外键约束 32
16.6 check:检查约束 34
十七、 事务 35
17.1 transaction 35
17.2定义 35
17.3事务的特性:ACID 35
17.4事务的隔离级别 35
17.5数据库开发的关键挑战 35
17.6锁的概念 36
17.7 Oracle的锁机制 36
17.8事务不提交的后果 36
17.9回滚事务rollback 36
17.10保留点savepoint 36
十八、 数据库对象:视图view 37
18.1带子查询的create table 37
18.2带子查询的insert 37
18.3定义缺省值:default 37
18.4 视图view 38
18.5视图的应用场景 38
18.6视图的分类 39
18.7视图的维护 39
十九、 数据库对象:索引index 41
19.1创建index 41
19.2扫描表的方式 41
19.3索引的结构 41
19.4为什么要使用索引 42
19.5哪些列适合建索引 42
19.6索引的类型 42
19.7哪些写法会导致索引用不了 43
二十、 数据库对象:序列号sequence 44
20.1什么是sequence 44
20.2创建sequence 44
20.3缺省是nocycle(不循环) 44
20.4缺省cache 20 44
二十一、 其他注意事项 46
21.1删除表,删除列,删除列中的值 46
21.2多对多关系的实现 46
21.3一对多(两张表) 46
21.4一对一 46
21.5数据库对象 46
12.6缺省(默认)总结: 46