一、常用语法
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;