学习时整理的

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. jquery mobile radio,checkbox button 样式设置

    <label><input type=checkbox ></label>,<input type=checkbox id="checkbox &q ...

  2. [SQL]复制数据库某一个表到另一个数据库中

    SQL:复制数据库某一个表到另一个数据库中 SELECT * INTO 表1 FROM 表2 --复制表2如果只复制结构而不复制内容或只复制某一列只要加WHERE条件就好了 例子:SELECT * I ...

  3. http://blog.csdn.net/krislight/article/details/9391455

    http://blog.csdn.net/krislight/article/details/9391455

  4. PHP性能优化大全(转)

    PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini (1) ...

  5. python平台跨平台开发

    有助于跨平台开发的 os 模块属性: linesep  用于在文件中分隔行的字符串 sep  用来分隔文件路径名的字符串 pathsep 用于分隔文件路径的字符串 curdir  当前工作目录的字符串 ...

  6. javaEE中关于dao层和services层的理解

    javaEE中关于dao层和services层的理解 入职已经一个多月了,作为刚毕业的新人,除了熟悉公司的项目,学习公司的框架,了解项目的一些业务逻辑之外,也就在没学到什么:因为刚入职, 带我的那个师 ...

  7. Linux 命令 创建文件

    1.vi vi 1.txt 会直接创建并打开一个文件1.txt 2.touch touch的作用是更改一个文件或目录的时间.touch 2.txt 如果2.txt不存在,则创建空文件2.txt 3.e ...

  8. php工作笔记2-php编码效率

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍.当然了,这个测试方法需要在十万级以上次执行,效果才明显.其实静态方法和非静态方法的效率 ...

  9. MSSQL 查询数据库所有表的大小, 有助于删除一些没用的表

    SELECT b.name AS tablename , a.rowcnt AS datacount FROM sysindexes a , sysobjects b WHERE a.id = b.i ...

  10. 【转】Selenium 面试题总结(乙醇Blog记录的面试题)

    原文链接:http://www.cnblogs.com/tsbc/p/4922368.html ###selenium中如何判断元素是否存在? - isElementPresent   ###sele ...