Oracle基础第二章 SQL语言基础
本章目标 数据类型 SQL 语句类型介绍 SELECT 基础 数据类型 1. 数据类型 a) 数据类型是在设计表结构中需要定义的,选择适当的数据类型可以节省存储空间,提高运算效率。 b) Oracle 数据类型主要包括字符型、数据型、日期 / 时间型、大对象 (LOB) 型等 2. 字
本章目标
数据类型
SQL语句类型介绍
SELECT基础
数据类型
1. 数据类型
a) 数据类型是在设计表结构中需要定义的,选择适当的数据类型可以节省存储空间,提高运算效率。
b) Oracle数据类型主要包括字符型、数据型、日期/时间型、大对象(LOB)型等
2. 字符型
3. 数值型
4. 日期/时间类型
5. 大对象(LOB)类型
SQL语句类型介绍
1. SQL语句类型
a) 数据操纵语言DML (Data Manipulation Language)
i. 用于操作数据
ii. 如:insert into,update,delete
b) 数据定义语言DDL (Data Definition Language)
i. 用于创建对象
ii. 如:create table ,alter table,drop table,create view;
c) 数据控制语言DCL (Data Control Language)
i. 用于访问权限的控制
ii. 如revoke,grant,commit,rollback
2. SELECT语句
a) SELECT语句的基本语法
SELECT 子句
FROM 子句
[WHERE 子句]
b) 说明
i. SELECT 子句:指定查询结果集的列的组成,列表中的列可以来自一个或多个表或视图
ii. FROM 子句:指定要查询的一个或多个表或视图
iii. WHERE 子句:指定查询的条件
3. 相关说明
a) 在本课程中,关键字、子句和语句定义如下:
b) 关键字
i. 是指单个的SQL元素。
ii. 例如,SELECT和FROM都是关键字
c) 子句
i. 是SQL语句的一部分。
ii. 例如,SELECT employee_id,last_name,…就是一个子句
d) 语句
i. 是两个或更多个子句的组合。
ii. 例如,SELECT * FROM employees就是一个SQL语句
4. 相关表
a) 本课程中使用的相关表的信息
i. customers
保存顾客详细信息
ii. product_types
保存商店出售的产品类型
iii. products
保存商品的详细信息
iv. purchases
保存的客户购买产品信息
v. employees
保存员工的详细信息
vi. salary_grades
保存员工薪资等级的信息
vii. promotions
保存促销信息
5. 表的详细信息
a) customers表
i. customer_id INTEGER
ii. first_name VARCHAR2(10)
iii. last_name VARCHAR2(10)
iv. dob DATE
v. phone VARCHAR2(12)
b) product_types表
i. product_type_id INTEGER
ii. name VARCHAR2(10)
c) products表
i. product_id INTEGER
ii. product_type_id INTEGER
iii. name VARCHAR2(30)
iv. description VARCHAR2(50)
v. price NUMBER(5, 2)
d) purchases表
i. product_id INTEGER
ii. customer_id INTEGER
iii. quantity INTEGER
e) employees表
i. employee_id INTEGER
ii. manager_id INTEGER
iii. first_name VARCHAR2(10)
iv. last_name VARCHAR2(10)
v. title VARCHAR2(20),
vi. salary NUMBER(6, 0)
f) salary_grades
i. salary_grade_id INTEGER
ii. low_salary NUMBER(6, 0),
iii. high_salary NUMBER(6, 0)
g) promotions表
i. promotion_id INTEGER
ii. name VARCHAR2(30)
iii. duration INTERVAL DAY(3) TO SECOND (4)
6. 选择所有的列
a) 选择所有的列可以在SELECT关键字后加星号(*),也可以列出所有的列
例如
SELECT *
FROM employees;
b) 查询效果如下图所示:
7. 选择特定的列
a) 可以在SELECT语句中指定列名,使用逗号隔开,这样可以指定表显示某些列,也可以调整列的先后显示顺序
例如
SELECT employee_id,last_name
FROM employees;
b) 查询结果如下图所示:
8. 编写SQL语句
a) 为了构建易读易编的有效语句,其规则和准则如下:
i. SQL语句是不区分大小写的
ii. SQL语句可以是一行,也可以是多行
iii. 关键字不能在两行之间一分为二或缩写
iv. 子句通常放在单独的行中,这样可以增强可读性并且易于编辑
v. 使用缩进是为了增强可读性
vi. 关键字通常使用大写字母输入;所有其它文字都是使用小写输入的
9. 算术表达式
a) 使用算术运算符,可以创建数字和日期数据表达式。
b) 算术表达式可以包含列名、常数值和算术运算符
10. 使用算术运算符
a) 例如
SELECT employee_id,last_name,salary,salary+500
FROM employees;
b) 查询效果如下图所示:
c) 说明
i. 计算产生的salary+500 列并不是employees表的新列,它只是用于标记而已
ii. 在默认情况下,输出显示的新列名称来源于生成该列的计算公式
11. 运算符优先顺序
a) * / + -
b) 乘和除的运算优先级高于加和减
c) 优先级相同的运算符是从左到右进行运算的
d) 可以使用小括号来强制语句做出优先运算,并使语句运算顺序更为清晰
e) 例如
SELECT employee_id,last_name, salary,salary/12 + 100
FROM employees;
f) 查询效果如下图所示:
12. 使用括号
a) 例如
SELECT employee_id,last_name, salary,(salary+10000)/12
FROM employees;
b) 查询效果如下图所示:
SELECT基础
1. Oracle数据库包含多种用户类型,只有数据库管理员(DBA)用户才能对数据库进行管理。
2. Oracle数据库用户类型
a) 数据库管理员
b) 安全员
c) 网络管理员
d) 应用程序开发员
e) 应用程序管理员
f) 数据库用户
3. 数据库管理员
a) 每个数据库都至少有一个数据库管理员。对于大型的数据库,需要一组数据库管理员共同完成。数据库管理员的主要任务是
i. 评估数据库服务器的硬件配置
ii. 安装Oracle数据库软件及补丁
iii. 规划数据库的逻辑存储结构、数据库结构及备份策略
iv. 创建并日常启动或关闭数据库
v. 创建并维护主要的数据库存储结构及数据库对象
vi. 管理用户,维护系统安全
vii. 控制和监控用户对数据库的访问
viii. 监控和优化数据库的行为
ix. 备份和恢复数据库
4. 其他数据库用户类型
a) 安全员
主要管理用户、控制和监控用户对数据库的访问,以及维护数据库的安全
b) 网络管理员
管理Oracle的网络产品
c) 应用程序开发员
负责设计和开发数据库应用程序
d) 应用程序管理员
对指定的应用程序进行管理
e) 数据库用户
数据库用户通过应用程序与数据库打交道,例如:添加、修改和删除数据
5. 默认数据库管理员用户
a) 在安装Oracle数据库时,自动创建用户名SYS和SYSTEM,用户密码在安装时被设定,并自动授予数据库管理员(DBA)的角色。
b) SYS用户
这个账号具有所有数据库管理的功能,所有数据库数据字典中的基本表和视图都存储在用户SYS的方案(Schema)中,这些基本表和视图对于Oracle数据库的操作都非常重要。
c) SYSTEM用户
该账号除了不能用于数据库备份及恢复、数据库升级外,可以执行其他所有的日常管理管理工作。
本章总结
数据类型
SQL语句类型介绍
SELECT基础