Oracle常用的一些语法、命令和函数

一、常用语法
view plaincopy to clipboardprint?
--1. 删除表时级联删除约束  
drop table 表名 cascade constraint     
--2. 当父表中的内容被删除后,子表中的内容也被删除  
on delete casecade  
--3. 显示表的结
一、常用语法
view plaincopy to clipboardprint?
--1. 删除表时级联删除约束  
drop table 表名 cascade constraint     
--2. 当父表中的内容被删除后,子表中的内容也被删除  
on delete casecade  
--3. 显示表的结构  
desc 表名   
--4. 创建新的用户  
create user [username] identified by [password]   
--5. 给用户分配权限  
grant 权限1、权限2...to 用户  
ex:grant create session to [username]   --此时只能连接到数据库   
   grant connect,resource to [username] --此时权限能满足要求  
   grant select,delete on scott.emp to [username]  
--6. 回收权限  
revoke select ,delete on scott.emo from [username]  
--7. 修改用户密码   
alter user [username] identified by [password]  
--8. 下次登录时提示修改密码  
alter user [username] password expired  
--9. 锁定用户  
alter user [username] account lock  
--10. 解锁被锁定的用户  
alter user [username] account unlock 

--1. 删除表时级联删除约束
drop table 表名 cascade constraint  
--2. 当父表中的内容被删除后,子表中的内容也被删除
on delete casecade
--3. 显示表的结构
desc 表名
--4. 创建新的用户
create user [username] identified by [password]
--5. 给用户分配权限
grant 权限1、权限2...to 用户
ex:grant create session to [username]   --此时只能连接到数据库
   grant connect,resource to [username] --此时权限能满足要求
   grant select,delete on scott.emp to [username]
--6. 回收权限
revoke select ,delete on scott.emo from [username]
--7. 修改用户密码
alter user [username] identified by [password]
--8. 下次登录时提示修改密码
alter user [username] password expired
--9. 锁定用户
alter user [username] account lock
--10. 解锁被锁定的用户
alter user [username] account unlock 二、常用命令
view plaincopy to clipboardprint?
--1. 设置显示宽度  
set linesize 100;  
--2. 设置每页显示条数  
set pagesize 30;  
3. 用记事本打开  
em a.sql  
--4. 执行文件a中的代码,可指定文件的路径 @d:a.txt  
@ a  
--5. 根据用户名和密码连接数据库 如果连接超级管理员(sys) 则应加上as sysdba;  
conn 用户名/密码  
--6. 显示当前连接的用户  
show user;  
--7. 得到当前用户下的所有表  
select * from tab;  
--8. 查看表结构  
desc temp;  
--9. 继续执行上一个查询语句  
/  
--10. 清屏  
clear scr; 

--1. 设置显示宽度
set linesize 100;
--2. 设置每页显示条数
set pagesize 30;
3. 用记事本打开
em a.sql
--4. 执行文件a中的代码,可指定文件的路径 @d:a.txt
@ a
--5. 根据用户名和密码连接数据库 如果连接超级管理员(sys) 则应加上as sysdba;
conn 用户名/密码
--6. 显示当前连接的用户
show user;
--7. 得到当前用户下的所有表
select * from tab;
--8. 查看表结构
desc temp;
--9. 继续执行上一个查询语句
/
--10. 清屏
clear scr; 三、常用函数
·字符函数 
view plaincopy to clipboardprint?
--1. 将小写字母转换成大写,dual 为一虚表  
select upper('coolszy') from dual;  
--2. 将大写字母转换成小写  
select lower('KUKA') from dual;  
--3. 将每个单词的首字母大写,其他位置的字母小写  
select initcap('kuKA aBc') from dual;  
--4. 连接字符串,但没有||好用  
select concat('Hello',' world') from dual;  
--5. 截取字符串,第二个参数是从第几个字母开始截取(从1开始,如果是一个负数,则从结尾数起),第三个参数是需要截取的字母的个数  
select substr('hello',2,3) from dual;  
--6. 求字符串长度  
select length('hello') from dual;  
--7. 替换字符串  
select replace('HELLO','L','x') from dual; 

--1. 将小写字母转换成大写,dual 为一虚表
select upper('coolszy') from dual;
--2. 将大写字母转换成小写
select lower('KUKA') from dual;
--3. 将每个单词的首字母大写,其他位置的字母小写
select initcap('kuKA aBc') from dual;
--4. 连接字符串,但没有||好用
select concat('Hello',' world') from dual;
--5. 截取字符串,第二个参数是从第几个字母开始截取(从1开始,如果是一个负数,则从结尾数起),第三个参数是需要截取的字母的个数
select substr('hello',2,3) from dual;
--6. 求字符串长度
select length('hello') from dual;
--7. 替换字符串
select replace('HELLO','L','x') from dual; ·数值函数 
view plaincopy to clipboardprint?
--1. 四舍五入  
select round(789.536) from dual;  
select round(789.536,2) from dual;  
select round(789.536,-1) from dual;  
--2. 舍去小数,但不进位  
select trunc(789.536) from dual;  
select trunc(789.536,2) from dual;    
select trunc(789.536,-2) from dual;    
--3. 求余  
select mod(10,3) from dual; 

--1. 四舍五入
select round(789.536) from dual;
select round(789.536,2) from dual;
select round(789.536,-1) from dual;
--2. 舍去小数,但不进位
select trunc(789.536) from dual;
select trunc(789.536,2) from dual; 
select trunc(789.536,-2) from dual; 
--3. 求余
select mod(10,3) from dual; ·日期函数 
view plaincopy to clipboardprint?
--1. 返回当前日期    
select sysdate from dual;  
--2. 返回两个日期之间的月数  
select months_between(sysdate,'16-6月 -09') from dual;  
--3. 返回加上指定月数后的日期   
select add_months(sysdate,4) from dual;  
--4. 返回当前日期之后的下一个星期一的日期   
select next_day(sysdate,'星期一') from dual;  
--5. 求本月的最后一天   
select last_day(sysdate) from dual; 

--1. 返回当前日期 
select sysdate from dual;
--2. 返回两个日期之间的月数
select months_between(sysdate,'16-6月 -09') from dual;
--3. 返回加上指定月数后的日期
select add_months(sysdate,4) from dual;
--4. 返回当前日期之后的下一个星期一的日期
select next_day(sysdate,'星期一') from dual;
--5. 求本月的最后一天
select last_day(sysdate) from dual; ·转换函数
view plaincopy to clipboardprint?
--1. to_char  
select to_char(sysdate,'yyyy') year,to_char(sysdate,'mm'),to_char(sysdate,'dd') from dual;    
select to_char(sysdate,'yyyy-mm-dd') from dual;  
select to_char(sysdate,'fmyyyy-mm-dd') from dual; --取消月和日前面的0    
select to_char('20394','99,999') from dual; --分割钱 9表示格式    
select to_char('2034','L99,999') from dual; --加上钱币符号  
--2. to_number  
select to_number('123')*to_number('2') from dual;    
--3. to_date  
select to_date('1988-07-04','yyyy-mm-dd') from dual;   

--1. to_char
select to_char(sysdate,'yyyy') year,to_char(sysdate,'mm'),to_char(sysdate,'dd') from dual; 
select to_char(sysdate,'yyyy-mm-dd') from dual;
select to_char(sysdate,'fmyyyy-mm-dd') from dual; --取消月和日前面的0 
select to_char('20394','99,999') from dual; --分割钱 9表示格式 
select to_char('2034','L99,999') from dual; --加上钱币符号
--2. to_number
select to_number('123')*to_number('2') from dual; 
--3. to_date
select to_date('1988-07-04','yyyy-mm-dd') from dual;   ·通用函数 
view plaincopy to clipboardprint?
--1. 如果为null,则用0代替  
select nvl(null,0) from dual;  
--2. 类似于 switch...case...  
select decode(2,1,'内容是1',2,'内容是2',3,'内容是3') from dual; 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值