热门标签 | 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基础

推荐阅读
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 深入解析数据库中的存储过程与触发器技术
    本文深入探讨了数据库中的存储过程与触发器技术。存储过程是一组预编译的SQL语句,经过优化后存储在数据库服务器中,以提高执行效率。在大型数据库系统中,通过调用存储过程的名字,用户可以快速执行复杂的操作,从而提升系统的性能和响应速度。此外,触发器作为一种特殊的存储过程,能够在特定事件发生时自动执行,进一步增强了数据库的自动化管理和数据完整性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 使用SQL命令创建数据库及其语句解析
    使用 `CREATE DATABASE` 命令可以创建一个新的数据库,并指定其名称。该 SQL 语句用于初始化数据库结构,执行后将生成一个新的数据库实例,用于存储相关的数据对象和表。在本例中,通过执行 `CREATE DATABASE 课程管理1`,系统将创建一个名为“课程管理1”的数据库,以便后续的数据管理和操作。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
  • 近期,针对Axis2默认凭据漏洞的攻击案例在安全社区引起了广泛关注。这些攻击通常利用Axis2的默认用户名和密码进行渗透测试,技术手段相对固定。本文在综合分析多个案例的基础上,详细探讨了该漏洞的安全风险,并提出了有效的防范措施,以帮助企业和开发者加强Web服务的安全防护。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 双因子安全机制与WiFi万能钥匙的较量:解析其背后的对抗策略
    几乎所有智能手机用户都熟悉类似“WiFi万能钥匙”的应用程序。这款应用凭借庞大的下载量,不仅在各大应用商店中占据显著位置,还长期稳居下载排行榜前列。然而,随着双因子认证等高级安全机制的普及,这类应用面临着前所未有的挑战。本文将深入探讨双因子安全机制与WiFi万能钥匙之间的对抗策略,分析其背后的技术原理和安全风险。 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • a16z深入解析:代币设计的常见误区、优化策略及未来趋势分析
    a16z深入解析:代币设计的常见误区、优化策略及未来趋势分析 ... [详细]
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社区 版权所有