学习时整理的

Oracle

1、set linesize 100; 设置长度
2、set pagesize 30; 设置每页显示数目
3、em a.sql 打开记事本
4、@ a 执行文件a中的代码,可指定文件的路径 @d:a.txt
5、conn 用户名/密码 根据用户名和密码连接数据库 如果连接超级管理员(sys) 则应加上as sysdba;
6、show user; 显示当前连接的用户
7、select * from tab; 得到当前用户下的所有表
8、desc temp; 查看表结构
9、/ 继续执行上一个查询语句
clear scr; 清屏

字符函数
10、select upper('coolszy') from dual; 将小写字母转换成大写,dual 为一虚表
11、select lower('KUKA') from dual; 将大写字母转换成小写
12、select initcap('kuka') from dual; 将首字母大写
13、select concat('Hello',' world') from dual; 连接字符串,但没有||好用select concat('Hello','world') from dual;
14、select substr('hello',1,3) from dual; 截取字符串
15、select length('hello') from dual; 求字符串长度
16、select replace('hello','l','x') from dual; 替换字符串
17、select substr('hello',-3,3) from dual; 截取后三位

数值函数
18、select round(789.536) from dual; 四舍五入,舍去小数
19、select round(789.536,2) from dual; 保留两位小数
20、select round(789.536,-1) from dual; 对整数进行四舍五入
21、select trunc(789.536) from dual; 舍去小数,但不进位
22、select trunc(789.536,2) from dual;
23、select trunc(789.536,-2) from dual;
24、select mod(10,3) from dual; 返回10%3的结果

日期函数
25、select sysdate from dual; 返回当前日期
26、select months_between(sysdate,'16-6月 -08') from dual; 返回之间的月数
27、select add_months(sysdate,4) from dual; 在日期上加上月数
28、select next_day(sysdate,'星期一') from dual; 求下一个星期一
29、select last_day(sysdate) from dual; 求本月的最后一天
转换函数
30、select to_char(sysdate,'yyyy') year,to_char(sysdate,'mm'),to_char(sysdate,'dd') from dual;
31、select to_char(sysdate,'yyyy-mm-dd') from dual;
32、select to_char(sysdate,'fmyyyy-mm-dd') from dual; 取消月 日 前面的0
33、select to_char('20394','99,999') from dual; 分割钱 9表示格式
34、select to_char('2034','L99,999') from dual; 加上钱币符号
35、select to_number('123')*to_number('2') from dual;
36、select to_date('1988-07-04','yyyy-mm-dd') from dual;

通用函数
37、select nvl(null,0) from dual; 如果为null,则用0代替
38、select decode(1,1,'内容是1',2,'内容是2',3,'内容是3') from dual; 类似于 switch...case...

事务处理
39、commit; 提交事务
40、rollback; 回滚事务
41、select rownum from table; 在没一列前面显示行号
42、drop table 表名 cascade constraint
on delete casecade 当父表中的内容被删除后,子表中的内容也被删除

43、desc表名 显示表的结构
44、create user [username] identified by [password] 创建新的用户
45、grant 权限1、权限2...to 用户 给创建用户权限
ex:grant create session to [username] 此时只能连接到数据库
grant connect,resource to [username] 此时权限能满足要求
46、alter user [username] identified by [password] 修改用户密码
47、alter user [username] password expired 下次登录时提示修改密码
48、alter user [username] account lock 锁住用户
49、alter user [username] account unlock 解锁锁用户
50、grant select,delete on scott.emp to [username] 把scott下emp表的两个权限给用户
51、revoke select ,delete on scott.emo from [username] 回收权限

另外更全面

02.oracle函数
1数值型函数
1.01.返回绝对值.abs()
1.02.返回正负值.sign()
1.03.返回较大的最小整数.ceil()
1.04.返回较小的最大整数.floor()
1.05.返回x的y次幂.power(x,y)
1.06.返回常量e的y次幂.exp(y)
1.07.返回以x为底的y的对数.log(x,y)
1.08.返回以常量e为底的y的对数.ln(y)
1.09.返回x除以y的余数.mod(x,y)
1.10.返回四舍五入后的值.round()
1.11.返回截取后的值.trunc()
1.12.返回x的平方根.sqrt(x)
1.30.三角函数
2字符型函数
2.01.返回字符的ASCII码.ASCII()
2.02.返回ASCII码为x的字符.CHR(x)
2.03.连接两个字符串.CONCAT()
2.04.把每个单词首个字母变为大写.INITCAP()
2.05.将整个字符串转换为小写.LOWER()
2.06.将整个字符串转换为大写.UPPER()
2.07.把每个单词首个字母变为大写.NLS_INITCAP()
2.08.把整个字符串转换为小写.NLS_LOWER()
2.09.将整个字符串转换为大写.NLS_UPPER()
2.10.字符串中搜索字符位置(全角算1字符).INSTR()
2.11.字符串中搜索字符位置(全角算2字符).INSTRB()
2.12.返回字符串的长度(全角算1字符).LENGTH()
2.12.返回字符串的长度(全角算2字符).LENGTHB()
2.13.返回字符串的长度(其它).LENGTHC().LENGTH2().LENGTH4()
2.14.在左边添加字符.LPAD()
2.15.在右边添加字符.RPAD()
2.16.删除左边字符串.LTRIM()
2.17.删除右边字符串.RTRIM()
2.18.替换子字符串.REPLACE()
2.19.字符串语音表示形式.SOUNDEX()
2.20.截取子字符串(全角算1字符).SUBSTR()
2.21.截取子字符串(全角算2字符).SUBSTRB()
2.22.替换子字符.TRANSLATE()
2.23.删除左边和右边字符串.TRIM()
3日期函数
3.01.返回系统当前日期.sysdate
3.02.返回指定月数后的日期.add_months()
3.03.返回本月最后一天的日期.last_day()
3.04.返回2个日期间隔月数.months_between()
3.05.返回时区的对应时间.NEW_TIME()
3.06.四舍五入后的期间第一天.round()
3.07.返回日期所在期间的第一天.trunc()
3.08.返回下周某一天的日期.NEXT_DAY()
3.09.提取时间日期中数据.extract()
3.10.返回会话中的日期和时间.localtimestamp
3.11.返回当前会话时区中的当前日期和时间.current_timestamp
3.12.返回当前会话时区中的当前日期.current_date
3.13.返回数据库时区设置.dbtimezone
3.14.返回当前会话时区.SESSIONTIMEZONE
3.29.变动日期时间数值.INTERVAL
4转换函数
4.01.字符串转换为rowid值.chartorowid()
4.02.rowid值转换字符串.ROWIDTOCHAR()
4.03.字符串语言字符集转换.CONVERT()
4.04.16进制转换为二进制.HEXTORAW()
4.05.二进制转换为16进制.RAWTOHEX()
4.06.数字或日期转换为字符串.TO_CHAR()
4.07.字符串转换为日期型.TO_DATE()
4.08.字符串转换为数字型.TO_NUMBER()
4.09.半角转化为全角.TO_MULTI_BYTE()
4.10.全角转化为半角.to_single_byte()
4.11.字符集名称转为ID.nls_charset_id()
4.12.字符集ID转为名称.nls_charset_name()
5聚组函数
5.01.统计平均值.AVG()
5.02.统计合计值.SUM()
5.03.统计标准误差.STDDEV()
5.04.统计方差.VARIANCE()
5.05.统计查询所得的行数.count()
5.06.统计最大值.MAX()
5.07.统计最小值.MIN()
6分析函数
6.00.oracle分析函数
6.01.连续求和分析函数.sum(...) over(...)
6.02.排序值分析函数.RANK()和dense_rank()
6.03.排序后顺序号分析函数.ROW_NUMBER()
6.04.取上下行数据分析函数.lag()和lead()
7其它函数
7.01.返回数据类型、字节长度和在内部的存储位置.DUMP()
7.02.返回表达式列表中最大值.greatest()
7.03.返回表达式列表中最小值.least()
7.04.为空值赋值.nvl().nvl2()
7.05.返回当前会话对应的数据库用户名.user
7.06.返回当前会话所对应的用户id号.uid
7.07.返回当前会话上下文属性.userenv()
7.08.条件取值.decode()
7.09.相等返回空.NULLIF()
7.10.返回列表第一个不为空的表达式.COALESCE()
7.11.返回当前行号.rownum
7.12.指定一个外部二进制文件.BFILENAME()
7.13.返回X的大小(字节)数.VSIZE(X)
7.14.条件取值.case when then end
7.15.产生32位的随机数.sys_guid()
7.16.返回系统数据.SYS_CONTEXT()
7.17.生成随机数值或者字符串dbms_random
7.18.取得Internet中的主机名和IP地址

本人用的最多的函数有:

1.count(*),count(distinct 列名); 统计总量

2.to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');

3.to_date(日期字符串,'yyyy-mm-dd hh24:mi:ss');

4.sum(数值表达式);

5.nvl(表达式,0); 如果表达式为空时赋值为0,否则不变

6.substr(字符串,起始值,数值); 截取字符串

6.1 instr(字符串,查询的字符,起始位置) 获取某字符或字符串的位置

7.decode(条件,值1,result1,值2,result2,default); 类似于 switch...case...

8.translate(字符串,要替换的字符,替换成的字符); 替换字符

9.ceil(数值); 返回较大的最小整数.如:2.2 --> 3
10.floor(数值); 返回较小的最大整数.如:2.2 --> 2
11.round(数值,小数点前后数值); 返回四舍五入后的值. 如:round(123.567,2) --> 123.57
12.trunc(数值,小数点前后数值); 返回截取后的值. 如:trunc(123.567,2) --> 123.56

13.add_months(时间,数值); 获取某时间的年份 如:add_months(sysdate,-3) -->返回上三个月的此时的时间

另:

select add_months(last_day(sysdate)+1,-2) from dual; 获取上个月的第一天

select add_months(last_day(sysdate),-1) from dual; 获取上个月的最后一天

另一种:select trunc(ADD_MONTHS(SYSDATE, -1),'MM'), trunc(SYSDATE,'MM') from dual;

注意:1.两时间相减是得天,如果要得秒,就必须再乘以24*60*60即可

2.获取时间中的年月日:to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd');

3.对于是否字符串的数值型数据,都可以用like '%139%'来抽取数据

4.to_date(translate(substr('[08/九月/2009:16:44:01+8000]', 2, 19),'九月','09'),'dd/mm/yyyy hh24:mi:ss');将字符串抽取并转换成时间格式.

在oracle中查询表中各列数据信息:注意表名必须大写

select column_id, column_name, data_type, data_length, data_precision, data_scale,nullable,data_default from user_tab_columns where table_name = 'ACC_NBR' order by column_id

oracle常用命令大全及心得的更多相关文章

  1. Oracle常用命令大全(很有用,做笔记)

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  2. 收集整理的oracle常用命令大全

    一.Oracle的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  3. Oracle常用命令大全

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  4. Oracle 常用命令大全

    一.如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图.数据字典名称是大写的英文字符. 数 ...

  5. Oracle 常用命令大全(持续更新)

    数据库 ----数据库启动 & 关闭 启动数据库 SQL> startup nomount; SQL> alter database mount; SQL> alter da ...

  6. db2常用命令大全

    #显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...

  7. 来不及解释!Linux常用命令大全,先收藏再说

    摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...

  8. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  9. Ubuntu常用命令大全(转)

    点评:Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件 ...

随机推荐

  1. Sorry, but the Android VPN API doesn’t currently allow TAP-based tunnels.

    Sorry, but the Android VPN API doesn’t currently allow TAP-based tunnels. Edit .ovpn configfile “dev ...

  2. 【转】Linux查看内存大小和插槽

    原文https://wsgzao.github.io/post/linux-memory/ Linux 查看内存的插槽数,已经使用多少插槽,每条内存多大,已使用内存多大 dmidecode | gre ...

  3. nginx日志分割脚本

    [root@localhost nginx]# cat logs/nginx.pid 5118[root@localhost nginx]# kill -QUIT 5118-QUIT : 关闭进程-H ...

  4. ubuntu 13.10 monodevelop3 安装

    版本 ubuntu 13.10 桌面模式默认:unity :文件管理器:nautilus

  5. Java陷阱之assert关键字

    Java陷阱之assert关键字   一.概述   在C和C++语言中都有assert关键,表示断言. 在Java中,同样也有assert关键字,表示断言,用法和含义都差不多.   二.语法   在J ...

  6. sencha touch+phonegap+node.js打包

    这讲我们来讲解下如何使用phonegapa创建项目环境并通过她们将sencha touch打包成app,这里我们只讲解打包android的apk,打包ios的过程有点类似,但是需要在mac环境下,最后 ...

  7. 基于mini2440的Tslib的移植

    软件平台: win7系统,虚拟机ubuntu12.04 mini2440开发板 tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波.去抖.校准等功能 ...

  8. c代码读取目录信息

    #include <stdio.h> #include <sys/types.h> #include <dirent.h> int main(void) { DIR ...

  9. CString转string

    如题,找了半天... //CString转string USES_CONVERSION; CString temp; temp = _T("kjdsaflkjdlfkj"); ch ...

  10. 关于C中struct和union长度的详解

    这几天看<代码大全>中的第十三章---不常见的数据类型,里面讲解到了C语言中的struct以及对指针的解释,联想到以前看过相关的关于C语言中stuct长度的文章,只是现在有些淡忘了,因此今 ...