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可以获得该模式所包含的数据表