本系列是作为学习笔记,用于记录学习过程,加深学习印象,以及自己重新回顾学习内容只用,参考书籍为《oracle 11g从入门到精通(第二版)》,如果需要深入学习,请购买原书籍,谢谢!

1、sql语言简介

sql全称是结构化查询语言,英文structured query language,它是一种在关系型数据库中定义和操作数据的标准语言。

1.1 sql语言特点

sql是一种非过程化语言,能让用户不用考虑诸如数据的存储格式和数据的存储路径等复杂问题就能按照自己的要求在高层数据结构上操作。

通过sql语句,程序员或者数据库管理员可以进行如下的主要工作:

  • 建立数据库的表格,比如设置表格可以使用的空间;
  • 改变数据库的系统环境变量
  • 针对讴歌数据库或者表格,赋予用户权限
  • 对数据库表格建立索引值
  • 修改数据库表格结构(新建、删除或者修改表格字段)
  • 对数据库进行数据的新建
  • 对数据库进行数据的删除
  • 对数据库进行数据的修改
  • 对数据库进行数据的查询

sql语言的特点

1)综合统一:数据库的主要功能是通过数据库支持的数据语言来实现‘

2)集合性: sql运行用户在高层的数据结构上工作,而不对单个记录进行操作,可以操作记录集。

3)统一性: sql为许多任务提供了统一的命令,方便学习;

数据库的操作任务通常包括:

  • 查询数据
  • 在表中插入、修改和删除记录
  • 建立、修改和删除数据对象
  • 控制对数据和数据对象的读写
  • 保证数据库一致性和完整性

4)高度非过程化:sql只提做什么,不提怎么做,用户无需了解存储路径及物理地址,这样减轻用户负担,提高效率。

5)语言简单,易学易用:整个sql只用9个命令动词即可实现对数据库及数据的查询和管理,如下表所示:

sql的功能 命令动词
数据定义 CREATE,DROP,ALTER
数据操作 SELECT,INSERT,UPDATE,DELETE
数据控制 GRANT,REVOKE

6)同语法结构不同使用方式: 第一种是交互式应答使用,第二种通过预编译sql进行执行。

7)是所有关系数据库的公共语言: 由于多有主要的关系型数据库管理系统都支持sql,用户可以将使用sql的部分从一个RDBMS转移到另一个,方便移植。

1.2 sql语言分类

1)数据查询语言DQL

用于检索数据库中的数据,主要是select语句

2 数据操作语言DML

用于该表数据库中的数据,主要包括INSERT、UPDATE和DELETE这3条语句

  • INSERT:用于将数据插入到数据库中
  • UPDATE:用于更新数据库中已经存在的数据
  • DELETE: 用于删除数据库中已经存在的数据

3)事务控制语言TCL

用于维护数据的一致性,包括COMMIT、ROLLBACK和SAVEPOINT这3条语句

  • COMMIT:用于提交对数据库的修改
  • ROLLBACK:用于取消对数据库的修改
  • SAVEPOINT: 用于设置保存点

4) 数据定义语言DDL

用于建立、修改和删除数据库对象。如:使用CREATE TABLE语句创建表;使用ALTER TABLE语句修改表结构;使用DROP TABLE语句删除表;

5) 数据控制语言DCL

用于执行权限授予和权限回收操作,主要包括GRANT和REVOKE

  • GRANT 给用户或角色授予权限
  • REVOKE 回收用户或角色所具有的权限

1.3 sql语言的编写规则

1) sql关键字不区分大小写,可以使用大写格式、小写格式或者大小写混用,如:


select empno,ename,sal from scott.emp;
SELECT empno,ename,sal FROM scott.emp;
SELect empon,ename,sal FRom scott.emp;

以上三条语句均是可行的,是一样的效果。

2) 对象名和列名不区分大小写,可以使用大写,小写,大小写混用


select empno,ename,sal from scott.emp;
select EMPNO,ENAME,SAL from SCOTT.EMP;
select EMPno,ename,sAL from scott.emp;

以上三条语句均是可行的,且是一样的效果

3)字符值区分大小写,sql中应用字符值时,大小写不同


select * from scott.emp where job = 'SALESMAN';
select * from scott.emp where job = salesman;

查询结果不一致。

4)sql语句较长时,可以分行编写,当sql语句输入完毕,以分号结束即可。

2、用户模式

在Oracle中,为了便于管理用户所创建的数据库对象(如数据表、索引、视图等),引入模式概念,这样某个用户所创建的数据库对象就都属于该用户模式。

2.1 模式与模式对象

模式是一个数据库对象的合集,为数据库用户所有。模式与所创建用户同名,一个模式内部不能之积分访问其他模式的数据库对象,在拥有访问权限的情况下,也需要指定模式的名称才能访问其他模式的数据对象。

是由用户创建的逻辑结果,用于存储和应用数据。如段(segment)或者用户用有的其他数据对象,包括约束、试图、同义词、过程、程序包等。

2.2 实例模式scott

Oracle提供的scott模式,就是给用户提供一些实例表和数据来展示oracle数据库的一些特性。

该模式演示了一个很简单的公司人力资源管理的数据结构。查询数据字典视图USER_TABLES可以获得该模式所包含的数据表

学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式的更多相关文章

  1. UNP学习笔记(第三章:套接字编程简介)

    本章开始讲解套接字API. 套接字地址结构 IPv4套接字地址结构 它以sockaddr_in命名,下面给出它的POSIX定义 struct in_addr { in_addr_t s_addr; } ...

  2. 【Unity Shaders】学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert

    [Unity Shaders]学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert 转载请注明出处:http://www.cnblogs.com/-867259 ...

  3. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第三章:变换

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第三章:变换 学习目标 理解如何用矩阵表示线性变换和仿射变换: 学习在 ...

  4. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  5. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  6. 20155234 2610-2017-2第九周《Java学习笔记》学习总结

    20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...

  7. #学习笔记#e2e学习使用(二)

    前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...

  8. python3.4学习笔记(七) 学习网站博客推荐

    python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...

  9. #学习笔记#e2e学习使用(一)

    本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...

随机推荐

  1. 【概率论】5-9:多项式分布(The Multinomial Distributions)

    title: [概率论]5-9:多项式分布(The Multinomial Distributions) categories: - Mathematic - Probability keywords ...

  2. biplot双标图

    biplot 双标图 在页面中全部崩溃 句法 biplot(coefs) biplot(coefs,Name,Value) h = biplot(___)   描述 例 biplot(coefs)在矩 ...

  3. 2019 ASP.NET / ASP.NET Core 学习路线 (有中文翻译)

    1. 点击此处查看 一个了不起的.NET Core 库.工具.框架和软件的集合 2. 以下路线 适用于 ASP NET 与 ASP NET Core (建议另存为到本地, 然后再查看) 点击此处查看 ...

  4. Promethues实战-简易教程系列

    1.监控概述 2.Promethues基础 3.Promethues初体验

  5. 【转】JVM类装载机制的解析,热更新的探讨(二)

    同样,一个Class对象必须知道自己的超类.超级接口.因此,Class对象会引用自己的超类和超级接口的Class对象.这种引用一定是实例引用.(实际上,超类.超级接口的引用也存储在常量池中,但为了区分 ...

  6. spring boot修改代码后无需重启设置,在开发时实现热部署

    Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)(spring-boot-devtools) 热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构, ...

  7. phpexcel 导出xsl乱码

    在header前面加上 ob_end_clean(); ob_end_clean();//清除缓冲区,避免乱码 header('Content-Type: application/vnd.ms-exc ...

  8. Win10下轻松安装centos7.0(推荐)

    Windows10下安装centos7.0虚拟机环境 Windows10自带了一个类似Vmware虚拟化产品Hyper-V管理器 如果没有找到这个的小伙伴可以从菜单中的windows管理工具找到如图: ...

  9. Mysql| 组合where子句过滤数据(AND,OR,IN,NOT)

    ysql 允许使用多个where子句,组合where子句允许使用两种方式使用:AND 和OR子句的方式使用.数据库中的操作符号:AND , OR , IN , NOT. AND:SELECT * FR ...

  10. 服务端高并发分布式架构 ESB 企业服务总线

    服务端高并发分布式架构演进之路 - 个人文章 - SegmentFault 思否 https://segmentfault.com/a/1190000018626163 ESB 企业服务总线讲解 ht ...