微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle琐碎笔记2

备注:以下所有操作均在sqlplus中执行.

开始前输入:
spool c:\jiyi.txt;
结束后输入:
spool off;
就会记忆操作的所有记录
save c:\sql.sql;
保存sql脚本
可以使用@c:\sql.sql加载脚本文件
--注释
host cls (window dos下的清屏命令)
--设置行宽
set linesize 120
--设置列宽
col sal for 9999
--设置某列名是八位字符
col ename for a8
命令行中输入反斜线/ 代表执行上一条sql命令
设置pagesize
set pagesize 20
修改输入命令:


oracle 列别名:
select empno as "编号",ename "姓名",sal 月薪 from emp;
带有双引号的别名可以带特殊字符(比如空格),没有双引号的则不可以.

空值问题
select ename,sql*12,sql*12+comm 年收入(年薪+奖金) from emp;
sql中,如果一个表达式含有null(空),则整个表达式为null
oracle中null!=null
解决方案:
select ename,sql*12+ nvl(comm,0) from emp;

此外在oracle中如果想查出字段为null的记录不能使用
列名=null
需要使用: 列名 is null
取消重复记录
select distinct 列名1,列名2 from emp
sql语言大小写不敏感
sql可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写
使用缩进提高语句的可读性.

算术运算符
乘除的优先级高于加减
优先级相同时,按照从左到右运算
可以使用括号改变优先级.

连接符(dual表是oracle提供的一个测试表):
oracle中一般使用单引号进行拼接
select concat('HELLO',' World!!') from dual;
select 'Hello'||'world' from dual;
select username||'的LoginId是:'||loginid from sys_users
select 3+2 from dual
select sysdata from dual

查询表结构
desc 表名(sqlplus命令)
*********************************************

解锁和修改密码:
首先管理员登陆:
sys/密码 as sysdba
或者 / as sysdba
创建临时表空间
create temporary tablespace user_temp
tempfile 'd:\文件目录名\文件名.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
创建表空间
create tablespace user_data
logging
datafile 'd:\文件目录名\文件名.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
显示当前用户:
show user
新建用户:
create user 用户名 account indetified by 密码
分配权限
grant connect,resource,dba to 用户名
解锁:
alter user 用户名 account unlock
改密码:
alter user 用户名 identified by 新密码

sqlplus中使用ed会将操作写入file afiedt.buf文件
Oracle中对字符串大小写敏感
对日期格式敏感
ps:两者需加双引号
select sysdate from dual
查询系统参数(为了查日期格式)
select * from v$nls_parameters
修改日期格式
alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"
比较运算:
= > >= < <= <>
between and 包含边界(需注意的是and前的值必须小于后者)
in() like is null
//转义字符 escape
select * from user where username like '%\_%'
逻辑运算
and or not
优先级


order by 排序 认升序asc,by后面可以跟:列名,表达式,别名,序号select * from user order by username desc nulls last //降序 空值最后多列降序排序的时候desc只作用与离其最近的一列,如想多列都降序则需同时加上

原文地址:https://www.jb51.cc/oracle/209065.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐