Oracle终端登陆
以dba的身份登陆
sqlplus “/as sysdba”
创建用户
create user user0611 identified by user0611;
赋予权限
grant resource,connect to briup;
查看当前用户
show user;
以user0611 登陆(conn username/password;)
conn user0611 /user0611 ;
如果是windows系统需要修改日期格式
alter session set nls_date_language=english;
alter session set nls_language=english;
查询当前用户下所有的表
select table_name from user_tables;
oracle基本查询
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
SELECT 标识 选择哪些列。
FROM 标识从哪个表中选择。
SQL 语言大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
以oracle自带的scott用户登陆
conn scott/tiger
选择全部列
select * from emp;
选择特定的列
select empno,ename,job,mgr,hiredate,sal,comm,deptno
from emp;
使用 DESCRIBE 命令,表示表结构
DESC[RIBE] tablename
desc dept
oracle中的算术运算符
* / + -
乘除的优先级高于加减
优先级相同时,按照从左至右运算
可以使用括号改变优先级
使用数学运算符
select empno,ename,sal,sal*12,comm,sal*12+comm
from emp;
使用括号
SELECT last_name, salary, 12*(sal+100)
from emp;
SQL中的null值
空值是无效的,未指定的,未知的或不可预知的值
空值不是空格或者0。
select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0)
from emp;
去重DISTINCT
select DISTINCT deptno,job from emp;
列的别名:
重命名一个列。
便于计算。
紧跟列名,也可以在列名和别名之间加入关键字‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
AS可以省略
SELECT ename AS name, job j
FROM emp;
连接符:
把列与列,列与字符连接在一起。
用 ‘||’表示。
可以用来‘合成’列。
SELECT ename||job AS "Employees"
FROM emp;
字符串
字符串可以是 SELECT 列表中的一个字符,数字,日期。
日期和字符只能在单引号中出现。
每当返回一行时,字符串被输出一次。
SELECT ename ||' is a '||job
AS "Employee Details"
FROM emp;
过滤和排序数据
在查询中过滤行,使用WHERE 子句,将不满足条件的行过滤掉
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];
WHERE 子句紧随 FROM 子句。
查询部门号是10的员工
select *
from emp
where deptno=10;
字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。
默认的日期格式是 DD-MON-RR
select *
from emp
where ename ='KING';
select *
from emp
where hiredate='17-11月-81'
修改日期格式
alter session set NLS_DATE_FORMAT='yyyy-mm-dd';
select * from emp where hiredate='1981-11-17';
比较运算
= 等于 > 大于 >= 大于、等于 < 小于 <= 小于、等于
<> 不等于 (也可以是 !=)
SELECT ename, sal
FROM emp
WHERE sal <= 3000;
其它比较运算