1.oracle表名和列名规范:
<1>. 必须以字母开头。
<2>. 长度不能超过30个字符。
<3>. 不能使用oracle关键字。
<4>.只能使用如下字符: A-Z 、a-z、$、#。
2.oracle的数据类型:
<1> . 字符型: char: 定长 最大长度为2000字符 特点:占空间、查询效率高。
varchar2: 可变长度 最大长度为4000字符 特点:省空间、查询效率相对较低。
clob: 字符型大对象
<2>. 数字类型: number 可以表示整数,也可以表示小数。
<3>. 日期类型: date 包含年月日和时分秒
timestamp 精度高
<4>. 图片类型: blob 二进制数据,可以存放图片/声音。
3.oracle对表的修改操作:
<1>. 添加一个字段: alert table 表名 add (列名 数据类型)
<2>. 修改字段的长度: alert table 表名 modify (字段名 数据类型)
<3>. 删除一个字段: alert table 表名 drop column 字段名
4.oracle删除一张表:
<1>. 方式一: delete from 表名 : 删除所有记录,表结构还在,写日志可以恢复,速度慢。
<2>. 方式二: drop table 表名: 删除表的结构与数据。
<3>. 方式三: truncate table 表名: 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
5. oracle查询取消重复的行: select distinct 列名1、列名2、列名3 ...... from 表名。
6. oracle基本查询:
(1). 使用算数表达式: eg: select sal*12 from emp.
(2). 使用列的别名: eg:select ename "姓名", sal*12 as "年收入" from emp.
(3). 处理null值: 使用nvl()函数来处理: eg: select sal*12 +nvl(comm,0)*12 from emp.
(4). like操作符: %:表示0到多个字符 _: 表示单个字符.
7. 复杂查询:
(1). 数据分组 - max()、min()、avg()、sum()、count(). eg: select max(sal) from emp;
(2). group by 和 having子句: group by 用于对查询的结果分组统计.
having 用于限制分组显示结果.
8. 数据分组的总结:
(1). 分组函数只能出现在选择列表、having、order by子句中。
(2). 如果在select语句中同时包含了有group by,having,order by ,那么他们的顺序是group by ,having,order by.
(3). 在选择列中如果有列、表达式、和分组函数,那么这些列和表达式必须有一个出现在group by子句中,否则就回出错:
eg: select deptno,avg(sal),max(sal) from emp group by deptno having avg(sal) <2000; 这里deptno就一定要出现在group by中。