Oracle相关内容
Oracle的安装
oracle11g的安装
- 解压文件,点击setup.exe
- 选择选项进行安装,选择自己的安装路径。
- 最好选择自己新建一个目录,否则卸载时非常麻烦,最好是全英文路径。
- 先决条件检查,等待…
- 安装,等待…
Oracle核心命令:
sqlplus/as sysdba 表示以Oracle最高身份检查Oracle是否安装成功
oracle解锁命令:
要求:必须以sysDBA的身份登录,才具有解锁权限。alter user scott account unclock //解锁命令
conn scott //连接Scott 此时的密码是默认密码tiger,输入口令:tiger,新口令:自己的新密码。
Oracle卸载:
- 找到注册表
- 找到安装目录 app/下面的文件肯定删除不了,(借助360强力删除,不建议使用)
- c盘–每个软件安装完成后在系统盘里有配置文件,需要手动删除
- 重启笔记本
Oracle的用户:
- scott 普通用户
- sys 超级管理员
- system 系统管理员
PLSQL语言
数据库语句:
--like模糊查询在实际工作里面对于大数据不建议查询使用
select * from emp where ename like '%S'; ---%s表示查询出数据末尾有S的
select * from emp where ename like 'S%'; ---s%表示查询出数据里以S开始的数据
select * from emp where ename like '%S%'; ---%s%查询出数据里面有S的全部数据
select * from emp where ename like '*%'; ---*表示的是占位符
(待补充)
select * from emp; -- 有 14条数据
select * from dept; -- 有4条数据
select * from emp,dept;--2张表数据合并执行 ---结果是什么呢? 执行完产生多少条数据呢?14 *4 =56条数据
--笛卡尔积 :指的是2张以上的表数据列乘积的结果! 笛卡尔积里面有大量的重复数据---时间工作必须避免出现----筛选
-- like模糊查询
--select * from emp where ename like '%S'; -- %S表示查询出数据末尾有S的 !
--select * from emp where ename like 'S%'; --S%查询出数据里面以开始S的数据
--select * from emp where ename like '%S%'; --%S%查询出数据里面有S的全部数据
--select * from emp where ename like '%S_';--*表示的是占位符
-- select * from emp where ename like '_%S'; -- -表示的是占位符
--备注 :like模糊查询在实际工作里面对于大数据不建议查询使用!----优化sql问的很多!
-- 运算符 + - * / % or and bertween ....and
--查询工资大于1000的雇员信息
--select * from emp where sal>1000; --如多在指定条件下查询,不能使用*,既浪费内存,检索效率又低
--select sal from emp where sal>1000;
select sal from emp where sal<=1000;
--计算sal和comm之和
select * from emp;
--select sum(sal,comm ) from emp;
select sal+comm from emp;
select sal-comm from emp;
select sal*comm from emp;
--select sal/comm from emp;--报错,除数不能为0
--找出部门10中的经理(manager)和部门20中的员工(clerk)
select * from emp;
--select ename from emp where (deptno=10,job=MANAGER )and ( deptno=20,job=CLERK )
select ename from emp where (deptno=10 and job='MANAGER' ) or (deptno=20 and job='CLERK' )
select * from emp,dept;
--给列重新取名 关键字as 可以省略
select '姓名' as ename from emp;
--DESC emp;--desc查询表结构(在命令窗口执行)
select '姓名' ename from emp;
--select * from emp where comm<0 or comm<500 --or表示或者关系,有一个条件满足就打印粗来
--select * from emp where comm<0 and comm<500 --and表示两个条件全部满足才能打印输出
--isnull isnotnull
select * from emp where comm is null or comm is not null;
--is not in --between ...and
select * from emp;
--oracle 函数
--select upper(ename) from emp;--将小写转换为大写
--select lower(ename) from emp;--大写转换为小写
--select * from dual;--dual表是Oraclescott用户下面的测试表,和mysql的test表一样
--select Initcap(ename) from emp;--将值的首字母转换为大写
--select concat('excelent','wonderful') from dual; --拼接字符串
select substr('abcde',length('abcde')-3) from dual;--截取字符串??
--??select substr('abcde',length('abcde')-9) from dual;为什么结果是bcde
select replace(ename,'a','1216') from emp;--替换 后者替换前者??
select instr('helloworld','or') from dual;--字符查找函数,第一次出现的位置
select lpad('Smith','10','*') from emp;--填充字符(左边),用* 填充至长度=10
select Rpad('Smith','10','*') from emp;
select trim(' SMITH ') FROM EMP;--去空格 Ltrim,Rtrim
select round(412,-2) from dual;
select round(412,-1) from dual;--Sql代码:四舍五入,个位是0 向左+1向右-1