达内oracle.docx
《达内oracle.docx》由会员分享,可在线阅读,更多相关《达内oracle.docx(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、郭爱军 guoaj 172.16.20.252 oracle(商业数据库) oracle 甲骨文 IBM DB2 IBM sqlserver MIC 微软 mysql(开源免费) sun 甲骨文 FILE 增 删 改 查 数据效率 数据维护 恢复 DBMS 数据库管理系统 DB 数据库 (基本单元 表 二维表) RDBMS 关系型数据库管理系统 RDB 关系型数据库 基于二维表的数据库 表头 行 列 字段名 字段 字段值 sql 语句分类 struct query language select 语句 2 select ddl 语句 数据定义语言 create drop alter dml 语
2、句 数据操作语言 insert delete update tcl 语句 事务控制语句 commit rollback savepoint dcl 语句 数据控制语言 grant revoke (DBA) oracle 登录到远程机数据库 telnet 192.168.0.23 telnet 192.168.0.20 telnet 192.168.0.26 telnet IP openlab open123 sun280% sqlplus sqlplus 是oracle 公司提供的操作数据库的一个小工具 负责输入sql语句 返回操作结果。 openlab open123 SQL 查询一张表的数
3、据 需要了解表的结构 SQLdesc 表名; desc s_emp; SQL!clearSQL desc s_emp; Name Null? Type - - - ID 员工编号 NOT NULL NUMBER(7) LAST_NAME 姓 NOT NULL VARCHAR2(25) FIRST_NAME 名 VARCHAR2(25) USERID VARCHAR2(8) START_DATE 入职日期 DATE COMMENTS 备注 VARCHAR2(255) MANAGER_ID 领导的员工编号 NUMBER(7) TITLE 职位 VARCHAR2(25) DEPT_ID 部门编号 N
4、UMBER(7) SALARY 月薪 NUMBER(11,2) COMMISSION_PCT 提成 NUMBER(4,2) select 语句 A from 子句 1.从表中查询一个字段的值出来 select 字段名 from 表名; select salary from s_emp; 2.如何查询多个字段 select 字段名1,字段名2 from 表名; 查询 first_name,salary select first_name,salary from s_emp; 3.如何把表中所有的字段对应的值查询出来 select id,first_name,last_name, userid,s
5、tart_date,comments,manager_id, title,dept_id,salary,commission_pct from s_emp; * 号可以代表所有的字段名 select * from s_emp; 4.sql中字段 数学运算 + - * / select salary,salary+salary*0.2 from s_emp; select salary,salary-salary*0.2 from s_emp; 小括号 可以改变逻辑优先级 select salary,100+salary*12 from s_emp; select salary,(100+sal
6、ary)*12 from s_emp; 注意 / 没有取整特性 select salary,salary/30 from s_emp; 5.sql 中字符串 1.sql中的字符串 是以单引号 引起来的一串字符 a hello world 2.字符的拼接 oracle字符串拼接符 | select first_name,last_name from s_emp; select first_name|last_name from s_emp; 在first_name 和 last_name 之间拼接一个下划线 _ select first_name|_|last_name from s_emp;
7、3.在 first_name 和 last_name 之间拼接一个 thiss SELECT first_name|last_name from s_emp; 转义 - %d % SELECT first_name|last_name from s_emp; 在 first_name 和 last_name 之间拼接两个 thiss SELECT first_name|last_name from s_emp; SELECT first_name|last_name from s_emp; 6.别名 给字段 或者表达式 起另一个名字 select first_name name from s_
8、emp; SQLedit 进入一个标准vi ZZ 保存退出 或者 :wq select salary,salary*12 yearsal from s_emp; 别名 和字段名 或者表达式 都会被默认处理成大写 select salary sal,salary*12 year sal from s_emp;/error 一个字段 或者表达式的别名只能有一个 为了让别名能原样显示 -双引号 select salary sal,salary*12 year Sal from s_emp; 7.NULL值的处理 #define NULL (void*)0 if(pa=NULL) int *pa=NU
9、LL; int paa=NULL; NULL 值这个字段上没有值 就是NULL age 1.salary*(1+commission_pct/100)*12 select commission_pct from s_emp; select salary,salary*12 from s_emp; 2.select salary,salary*12, salary*(1+commission_pct/100)*12 yearsal from s_emp; 3.nvl 空值处理函数 nvl(par1,par2) 当par1为NULL 则返回par2的值 如果par1不为 NULL 则返回par1的
10、值 可以处理任何类型 但要求par1 par2类型一致 select salary,salary*12, nvl(salary*(1+commission_pct/100)*12,0) yearsal from s_emp; /logic error null 和任何值做运算 都是NULL NULL要尽早处理 否则结果是NULL select salary,salary*12, salary*(1+nvl(commission_pct,10)/100)*12 yearsal from s_emp; 8.数据的排重显示 -distinct select salary from s_emp; se
11、lect distinct salary from s_emp; select title,salary from s_emp; 联合排重 当多个字段的值 联合相同则排除 select distinct title,salary from s_emp; select id from s_emp; select distinct id,salary from s_emp; B where 子句 对表中的数据 进行限制返回-根据条件返回 符合where条件就返回 不符合where就被过滤掉 1.select id,salary from s_emp; select id,salary from s
12、_emp where 1=1; select id,salary from s_emp where 1=2; -no rows selected /* 注释*/ 2.找出工资大于 1200的员工的id first_name salary select id,first_name,salary from s_emp where salary1200; select id,first_name,salary from s_emp where salary = = = != 5.sql中提供的运算符 a.表达区间 a,b where 字段 between a and b; 1200=salaryb
13、and c d ab or c d 1. 1200,1400 select id,first_name,salary from s_emp where salary=1200 and salary1200 and salary1200 and dept_id=41 or dept_id=42; select id,first_name from s_emp where salary1200 and (dept_id=41 or dept_id=42); 可以通过小括号 改变逻辑优先级 4.运算符的对立面问题 = = = != = between a and b not between a an
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle
限制150内