Oracle 11g xe版本---总结1
一、创建用户和授予权限
1.1 环境:
- Oracle 11g xe
- 第三方图形客户端: PLSQL
- Windows 10
- 必须登录 HR 用户,下面的查询会使用到 HR 中的表。
1.2 SQL 语句
创建用户:create user 用户名 identified by 用户名;
分配权限或角色:grant connect,resource to 用户名;
取消权限或角色:revoke 权限/角色 from 用户名;
1.3 常用系统预定义角色
connect:临时用户
resource:更为可靠的正式用户
dba:数据库管理员角色,拥有管理数据库的最高权限
注意:角色是具有名称的一组权限的组合。
二、SQL 语言的总结
2.1 SQL可以做什么?
- 数据库数据的增删改查操作(CRUP)
- 数据库对象的创建,修改和删除操作
- 用户权限/角色的授予和取消
- 事务控制
2.2 SQL语言的分类
- DQL (数据查询语句)select
- DML(数据操作语句)insert、update、delete
- DDL(数据定义语句)create、alter、drop、rename
- DCL(数据控制语句)grant、revoke
- TCL(事务控制语句)savepoint、rollback、commit
【注意】数据操作语句针对表中的数据,而数据定义语句针对数据库对象(表、索引、视图、触发器、存储过程、函数、表空间等)
2.3 select 查询语句
2.3.1 字段别名
1)重命名查询结果中的字段,以增强可读性;
2)别名如果含有空格或其他特殊字符或大小写敏感,需用双引号引起来;
3)as 可以省略。
2.3.2 去除重复行
在搜索字段名前,加一个 distinct 关键字
例如:select distinct deptno from emp;
2.3.3 排序---order by
排序包括升序(asc,默认升序,该关键字可不写)和 降序(desc)
例如:select empno,ename,sal from emp order by sal; --------以sal升序进行排序
select empno,ename,sal from emp order by sal desc; --------以sal降序进行排序
2.3.4 where 字句
举例:
select * from emp where deptno = 10;
select * from emp where ename = ‘SMITH’;
select * from emp where hiredate = ‘02-4月-81’;
注意:
1)字符串和日期值要用单引号括起来
2)字符串大小写敏感
3)日期值格式敏感!!!
其他关键字:
- between… and… ------界于两值之间(包括边界)
- in(value,value…) ------出现在集合中
- like ------模糊查询(%表示零个或多个字符 _表示一个字符,特殊字符可使用escape标识符查找)
- is null -------为空值
- not is null -------不为空
2.3.5 逻辑运算符
例如:select * from emp where deptno = 10 and sal > 1000;
2.3.6 SQL优化问题
and:把检索结果较少的条件放到后面
or :把检索结果较多的放到后面
2.3.7 四种运算符
重要:算术 > 连接 > 比较 > 逻辑
优先级:
- * /
- + -
- ||
- >, <, >=, <=, <>不等于
- is [not] null ,like [not], in(set)
- [not] between… and…
- not
- and
- or
【注】:
- 不等于也可以使用 != 和 ^=来显示
- between… and… 是从上限到下限,而且都是闭区间,包含了上限和下限
- in(set) 犹如多个 or 表达式组合而成
- % 表示零个或多个字符,_表示一个占位符。 ---------举例:select last_name from employees where last_name like ’%05’;
- escape 关键字 :可以用该关键字标识符搜索实际的%和_符号。使用escape选项,该选项指定换码符是什么。 ------举例:select last_name,job_id from employees where job_id like ‘SA\_%’ escape ‘\’;
2.3.8 使用函数
函数分为:
单行函数:字符函数、数值函数、日期函数、转换函数、通用函数
多行函数:sum(),avg() ----仅适用数值型。 count(),max(),min() -----适用任何类型数据
2.3.8.1 单行函数
字符函数:
大小写处理函数:
- lower(char) -----转换为小写
- upper(char) -----转换为大写
- initcap(char) -----首字母大写
字符处理函数:
- concat(char1,char2) -----连接字符串
- substr(char,pos,len) -----取子字符串,取char字符串下标位置为pos起,len个字符
- length(str) -----求字符串长度
- instr(char,substr[,pos]) -----查找字符串位置,例如: instr(‘worldwide’,’d’)
- lpad(char1,len,char2) | rpad(char1,len,char2) --------左填充和右填充。char1 左边|右边 填充【len-length(char1)】个 char2 字符。
- trim(trim_character from trim_source) ----- 从一个字符串中去除头(leading)或尾(trailing)或头尾两侧(both)的字符(默认头尾两侧)
- ltrim(char,set) -----左剪裁
- rtrim(char,set) -----右剪裁
- replace(char,search_str,replace_str) -----字符串替换
【注意】:
- trim 举例:去除头,select trim(leading ‘H’ from ‘HelloWorldH’) from dual; 其他类似
- dual 表是一个虚拟的表,实际上,它并不存在。
数值函数:
1、round(arg1,arg2) | round(arg):
- 四舍五入指定小数的值,arg1--数据类型,原数字;arg2---整数类型,小数点保留的位数,可以是一个负数,负数表示指定整数的位置。
- arg--数据类型,原数字;四舍五入保留整数。
2、trunc(arg1,arg2):截断指定小数的值,不做四舍五入处理。
- arg1:数字类型。原数字。 arg2:整数类型。小数点保留的位数,可以使一个负数。负数则表示指定整数的位置。
trunc(arg1):四舍五入保留整数。 arg1:数字类型。原数字。 arg2:整数类型。小数点保留的位数。
3、mod(arg1,arg2):取余,也就是取模。 arg1:数字类型。被除数。 arg2:数字类型。除数。
日期函数:
转换函数:
其他函数:
2.3.8.2 多行函数
Oracle 11g xe版本---总结1的更多相关文章
- Oracle 11g XE release2安装与指导
今天上午我安装了Oracle 11g企业版,发现太占内存了,考虑到MS SQL有express版本,所以寻思着尝试尝试Oracle 11g的express版本,就是EX版本.下面是具体的安装步骤. 1 ...
- Oracle 11g XE 与 Oracle SQL Developer 的配置与使用(重制版)
Oracle 11g XE 与 Oracle SQL Developer 的配置与使用(重制版) 前提概要 项目上需求要适应Oracle数据库,当然这和某EF框架也有关. 因为Oracle 的表名和列 ...
- Oracle 11g XE 是 Oracle 数据库的免费版本
Oracle 11g XE 是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g XE 提供 Windows 和 Linux 版本. 做为免费的 Oracle 数据库版本,XE 的限制是 ...
- [转载]在rhel 6 x86_64 上安装oracle 11g xe
原文地址:在rhel 6 x86_64 上安装oracle 11g xe作者:pccom Oracle 11g xe for linux目前只有x86_64 版本,没有i386, i686 版本,如果 ...
- 在 Windows 下安装 Oracle 11g XE (Express Edition)
Oracle 11g XE 是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g XE 提供 Windows 和 Linux 版本. 做为免费的 Oracle 数据库版本,XE 的限制是 ...
- oracle 11g XE 学习版添加scott用户方法全步骤
安装企业版的orcale是不是太费时费力了?若只是学习用途的话,不妨试试轻便版的XE版本,同样是官网下载的,但是这个安装起来比完整版简便多了. 首先,你得先安装好orcale 11g XE 版本:(这 ...
- Linux下Oracle 11G XE 安装笔记
操作系统 [oracle@RAC02 ~]$ lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:cor ...
- vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5
前言: mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行.招行.工商.支付宝等均已全面支持mac os了),windows上的经典常用软件:qq.飞信.旺旺.有道词典.有道云笔 ...
- CentOS随笔 - 3.CentOS7安装Oracle 11g xe
前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 由于手上很多项目都是采用Oracle在进行开发, 所以安装Oracle成为必然. 当然有朋友会想为什么不安装1 ...
随机推荐
- book-rev8 Chapter 0 Operating system interfaces
Chapter 0 第0章 Operating system interfaces 操作系统接口 The job of an operating system is to share a comput ...
- Vue axios post 传参数,后台接收不到为 null
由于axios默认发送数据时,数据格式是Request Payload,而并非我们常用的Form Data格式,后端未必能正常获取到,所以在发送之前,需要使用qs模块对其进行处理. cnmp inst ...
- python中的__init__方法
init()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是init()参数值可以有多种形式. __init__方法使用 ...
- SELECT INTO (insert into) 和 INSERT INTO SELECT (insert into select) 两种表复制语句
1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from T ...
- 屏幕录制 -- web前端
前端使用html5.ffmpeg实现录屏摄像等功能 https://tong-h.github.io/2018/11/06/streamcapture/ JSCapture – 基于 HTML5 实现 ...
- 数据库中的blob是什么类型?
数据库中的blob是什么类型? BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器. 在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类 ...
- PCA python 实现
PCA 实现: 参考博客:https://blog.csdn.net/u013719780/article/details/78352262 from __future__ import print_ ...
- Visual Studio 2019更新到16.1.6
Visual Studio 2019更新到16.1.6 此次更新主要是修复几个安全漏洞,如CVE-2019-1077(VS自动更新漏洞).CVE-2019-1075(ASP.net Core欺骗漏洞) ...
- S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
使用ApkIDE反编译修改后,重新编译生成APK报错: > 正在编译Apk... - - 失败:S: WARNING: Could not write to (C:\Users\Administ ...
- java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
报错: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Meth ...