热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle基础第二章SQL语言基础

本章目标数据类型SQL语句类型介绍SELECT基础数据类型1.数据类型a)数据类型是在设计表结构中需要定义的,选择适当的数据类型可以节省存储空间,提高运算效率。b)Oracle数据类型主要包括字符型、数据型、日期时间型、大对象(LOB)型等2.字

本章目标 数据类型 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.revokegrantcommitrollback

2. SELECT语句

a) SELECT语句的基本语法

SELECT 子句

FROM 子句

[WHERE 子句]

b) 说明

i. SELECT 子句:指定查询结果集的列的组成,列表中的列可以来自一个或多个表或视图

ii. FROM 子句:指定要查询的一个或多个表或视图

iii. WHERE 子句:指定查询的条件

3. 相关说明

a) 在本课程中,关键字、子句和语句定义如下:

b) 关键字

i. 是指单个的SQL元素。

ii. 例如,SELECTFROM都是关键字

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数据库时,自动创建用户名SYSSYSTEM,用户密码在安装时被设定,并自动授予数据库管理员(DBA)的角色。

b) SYS用户

这个账号具有所有数据库管理的功能,所有数据库数据字典中的基本表和视图都存储在用户SYS的方案(Schema)中,这些基本表和视图对于Oracle数据库的操作都非常重要。

c) SYSTEM用户

该账号除了不能用于数据库备份及恢复、数据库升级外,可以执行其他所有的日常管理管理工作。

本章总结

数据类型

SQL语句类型介绍

SELECT基础

推荐阅读
  • Navicat Premium中MySQL用户管理:创建新用户及高级设置
    本文作为Navicat Premium用户管理系列的第二部分,主要介绍如何创建新的MySQL用户,包括设置基本账户信息、密码策略、账户限制以及SSL配置等。 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 本文探讨了六项Java特性,它们虽然强大,但在不当使用时可能会给应用程序带来严重问题。文章基于作者Nikita Salnikov Tarnovski多年的应用性能调优经验,提供了对这些特性的深入分析。 ... [详细]
  • FTP作为一种传统的文件传输协议,广泛用于不同设备间的文件交换。然而,随着网络安全需求的提升及传输效率的要求,选择合适的FTP客户端变得尤为重要。本文将介绍如何利用WinSCP这款强大且安全的工具,实现两台电脑之间的文件高效传输。 ... [详细]
  • 对于初次购买阿里云服务器的新手用户来说,如何高效地利用服务器资源并成功部署网站是一个重要的课题。本文将详细指导您完成从购买服务器到网站上线的六个关键步骤。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 惠普战86 Pro G2:新一代商用台式机的性能与设计解析
    惠普战86 Pro G2台式机以其卓越的性能和紧凑的设计,满足了现代商务环境的需求。本文将详细介绍这款商用台式机的各项特点,包括其强大的硬件配置、精美的外观设计以及出色的稳定性和安全性。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • MySQL 8.0 新特性详解:免费视频教程上线
    本文介绍了一套在慕课网上发布的免费视频教程,深入解析 MySQL 8.0 的核心新功能,包括增强的安全性、用户管理、新的索引类型、CTE 和窗口函数等。 ... [详细]
  • 本文探讨了Java中有效停止线程的多种方法,包括使用标志位、中断机制及处理阻塞I/O操作等,旨在帮助开发者避免使用已废弃的危险方法,确保线程安全和程序稳定性。 ... [详细]
  • 本文详细介绍了Oracle RMAN中的增量备份机制,重点解析了差异增量和累积增量备份的概念及其在不同Oracle版本中的实现。通过对比两种备份方式的特点,帮助读者选择合适的备份策略。 ... [详细]
  • 最新进展:作为最接近官方声明的信息源,本文吸引了大量关注。若需获取最新动态,请访问:lkhill.com/ccie-version-5-update ... [详细]
  • System Center Operations Manager 2007(简称SCOM 2007)作为MOM 2005的升级版,不仅整合了监控与管理功能,还显著简化了操作流程,提供了更加全面和精准的服务管理。 ... [详细]
author-avatar
仇顺嵐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有