oracle学习笔记(全)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N
模糊查询like
select last_name
from s_emp
where last_name like '%N%';
%:匹配0个或多个
?:匹配0个或1个
_:匹配单个字符
_briup
SELECT last_name
FROM s_emp
WHERE last_name LIKE
2:先定位到要插入语句的行
i 插入的内容
i where dept_id=42;
删除某一行:del
先定位到你要删除的行
del
start fileName:执行脚本文件
@ fileName :执行脚本文件
get fileName:脚本文件
的内容输出到工具上
save fileName:将buffer中sql保存到
'/_%' escape '/';
and
or
查询41,42号部门的员工,
或者工资大Leabharlann 2000; select last_name,salary,dept_id
from s_emp
where dept_id in(41,42)
or salary>2000;
not and or
select last_name name,salary
from s_emp
order by salary desc;
select last_name,salary
from s_emp
order by salary desc,
last_name asc;
select commission_pct,last_name
Program unit:Pl/sql编程
主键:唯一识别表中记录
取值唯一、非空
外键:建立表和表的关联关系
取值必须是所关联列中的值或空
视图:映射
序列数:
索引:
同义词:
oracle制造业、项目计费、oracle政府财经、oracle人力资源、oracle金融、决策支撑、
from s_emp;
select last_name,commission_pct,
(salary+commission_pct)*12
from s_emp;
处理空值:nvl()
select last_name,commission_pct,
(salary+nvl(commission_pct,0))*12
from s_emp;
nvl(commission_pct,1)
commission_pct如果为空,该函数处理的
结果就是后面设置的值
如果不为空,就是它本身的值
select name from s_dept;
select distinct name from s_dept;
distinct:去除重复行
select LOWER('SQL Course')
from dual;
转化成大写
select UPPER('SQL Course')
from dual;
Ngao
select last_name
from s_emp
where lower(last_name)='ngao';
select dept_id ,title
from s_em;
替换:
2:先定位到错误的行
c/emps/emp
查看上次运行的sql语句:l
执行上次的sql语句:/
追加:
先定位到错误的行
a 追加的内容
插入:
select dept_id ,title
from s_emp;
select last_name
from s_emp
where upper(last_name)='NGAO';
select INITCAP('SQL Course')
from dual;
字符串长度的函数length
select length('SQL Course')
from dual;
3W:What,Why,How
SDL:软件开发实验室(Software Development Laboratories,SDL
oracle:甲骨文
IBM:Eclipse
BEA:Weblogic,tomcat
SUN:JBuilder,Netbeans,IDE
DB:DataBase,RDBMS
conn system/
查看当前的用户
show user
给briup用户权限
grant resource,connect to briup;
conn briup/briup
show user
查看系统时间的格式
select sysdate from dual;
将系统时间改为英文的格式
* 开发工具:Oracle JDeveloper,Oracle Designer,Oracle Developer,等等
2.企业应用软件(主要竞争对手:德国SAP公司。)
* 企业资源计划(ERP)软件。已有10年以上的历史。2005年,并购了开发企业软件的仁科软件公司(PeopleSoft)以增强在这方面的竞争力。
文件中
spool fileName
select * from s_emp;
show user;
spool off;
SELECT last_name, dept_id, start_date
FROM s_emp
ORDER BY last_name desc
对工资进行升序排序:
from s_emp;
select last_name,salary*12 "Sal"
from s_emp;
select last_name,salary*12+100 as sal
from s_emp;
SELECT last_name, salary,
12 * salary + 100
FROM s_emp;
SELECT last_name, salary,
12 * (salary + 100)
FROM s_emp;
字符串的连接:||
select first_name||last_name
from s_emp;
select
first_name||' of '||last_name "Name"
dba用户
sqlplus system/密码
创建用户
create user briup
identified by briup
telnet 172.16.0.30
boss
boss
su - oracle
oracle
sqlplus briup/briup
conn briup/briup
from s_emp
order by 1 asc;
限制查询:where
查询41号部门的所有员工的信息
select last_name,dept_id
from s_emp
where dept_id=41;
工资大于2000的员工的信息
select last_name,salary
查询员工的全名,并且以大写的形式
显示,并且全名的长度大于30字符
select first_name||last_name name,upper(first_name)
from s_emp
DB2,Sybase,Mysql,sql servler
甲骨文公司主要的产品目前分为两大类:
1.服务器(服务器)及工具(主要竞争对手:IBM、微软)
* 数据库服务器:2007年最新版本Oracle 11G
* 应用服务器:Oracle Application Server
from s_emp;
查看员工的员工id,全名和职位名称,
全名和职位名称合并成一列显示,
且格式为:姓 名,职位名称
select id,
first_name||last_name||','||title "Employ"
from s_emp;
select last_name,salary,commission_pct
SELECT * from s_dept;
select last_name,salary
from s_emp;
查询员工表中所有对应的部门编号?
select last_name,dept_id
from s_emp
查询所有员工的年薪
select last_name,salary*12 sal
pl/sql:过程化的语言
四种分层:
一个Oracle服务器
一个个oracle数据库
一张张的数据表
一条条的数据记录
五种sql分类:
1:数据查询语句
select
2:数据操作语句
insert,delete,update
3:数据定义语句
create,alter,drop,
关系型数据库
一个认知:
认知oracle,是一门数据库
提供产品和服务的厂商 甲骨文
ERP:企业资源管理
二种概念:
数据库:数据的仓储,
存放数据
关系型数据库:
数据库中数据对象存在一定的关系
三个名字:
sql:一门语言,第四语言,
只关心做什么,而不关心如何做
sql*plus:工具,
alter session set
nls_date_language=english;
select sysdate from dual;
执行脚本文件:
start 地址/oracle1.sql
select table_name
from user_tables;
查看表的结构:
desc s_dept;
rename,truncate
4:事物控制的语句
commit,rollback,savepoint
5:权限有关的语句
grant,revoke
六种对象:
table:存放数据
view:
sequence:生成主键的值
index:增加检索效率
Synonym:别名
select last_name,dept_id
from s_emp
where dept_id not in(41,42,43);
查询空的时候用 is
查询奖金为空的员工的信息
select last_name, commission_pct
from s_emp
where commission_pct is not null;
* 客户关系管理(CRM)软件。自1998年开始研发这种软件。2005年,并购了开发客户关系管理软件的希柏软件公司(Siebel)。
why:
为什么学数据库?
存储数据和处理数据,在应用程序中的重要性(打战)
what:
学生选课系统
学生表 学生的信息
课程表 课程的信息
老师表 老师的信息
from s_emp
where salary>2000;
工资在2000到4000之内这些员工的信息
select last_name,salary
from s_emp
where salary not BETWEEN 2000
and 4000;
查询41,42,43号部门的员工 in(list)
查询所有所在部门的编号和职位,去除重复的
select distinct dept_id,title
from s_emp;
登录到sql*plus这种工具的方式
1:sqlplus 用户名/密码
2:sqlplus
用户名
密码
3:打开运行sql命令行
conn 用户名/密码
PL/SQL:Procedure Language/SQL
select table_name from user_tables;
sqlplus "/as sysdba"
oracle两种用户sys,system
sys:具有最高的权利,相当于公司的董事长
system:权利也很高,
操作数据库的权限,相当于公司的总裁
查询工资大于2000的并在41号部门的,
或者在44号部门的员工
select last_name,dept_id,salary
from s_emp
where dept_id=41
and salary>2000
or dept_id=44;
第三章:单值函数
dual:虚表
转化成小写