sqlplus / as sysdba
startup
sqlplus scott/tiger
vi .bash_profile
容宽不够 set lines 200 set pages 200 确定数据量: select count(*) from emp; (1) select count(1) from emp; (2) 确定表结构 desc emp; 看两行 select empno,ename from emp; 可以进行数学运算 select empno,ename,sal+300 from emp; 给每一个人加工资
(1)的优先级高 select * from emp; 语言:{ 一 机器语言 二汇编 三C-(c c++ java c#) 四SQL } SQL基本语法: select 标识 选择那些列 from标识从哪个表选择 sql select 语句的功能 列 关系型数据库 起别名: select empno as id from emp; # as加和不加都可以 加是老标准 连接符 || select 'alter user '||ename||' account unlock;' from emp; 过滤和排序数据 在查询中过滤 where select * from emp where ename = 'KING'; 字符中大小写敏感 筛选出 select * from emp where deptno !=30; 查询 是否为空 select * from emp where comm is null; 去重 distinct select distinct deptno from emp; 多重逻辑: select * from emp where job='SALESMAN' or job='CLERK' and sal>1500; 升序排列: select * from emp order by sal; 降序排列: select * from emp order by sal desc; 也可以 跟序号 select * from emp order by 6 desc; 多表查询: select a.ename,b.loc from emp a,dept b where a.deptno=b.deptno;(1)
select emp.ename,dept.loc from emp , dept where emp.deptno=dept.deptno;(2) (1)有表别名,一般都用第一种 去重: select a.ename ,b.loc,a.sal from emp a,dept b where a.sal between 1500 and 2000; 外连接 select a.ename ,b.loc from emp a left join dept b on a.deptno=b.deptno 驱动表和匹配表 两张表都有空值,但是你只想显式一张表里的所有制,包括空值,那么就用这张表做匹配表,另外的那张表做驱动表。在left join 中驱动表在左,在right join 中的驱动表在右,而与之相反的一侧为匹配表。 满外连接
数据关系 集合 线型 树 图 oracle 大小写不明感 隐式转换 系统协助转换的 显式转换 自己写的 定义空值 空值是无效的,未指定的 alter user hr account unlock; alter user hr identified by hr; grant connect to hr; grant resource to hr;
推荐书《oracle开发指南》