Oracle从入门到精通 最常用命令

常用sql

改表名 rename table 旧表名 to 新表名 
表头 create table 表名(字段名 类型 约束,..)
增列 alter table 表名 add 列名 类型  约束;
改列 alter table 表名 change 旧列名 新列名 类型 约束
删列 alter table 表名 drop 列名
插行 insert into 表名 values(值1,值2......)
改行 update star set age=22 where id=2
删行 delete from 表名 where 列名=值
查库 show databases;
查字符集 show create database db; 
进库 use lb 查有多少张表:show tables;
查建表语句:show create table 表名
查看表结构 desc 表名;  

但所有行:select*from from1;
查1行:SELECT*FROM star WHERE id=3 WHERE price>3000 HAVING TYPE=1
多行:select*from form1 where id in(1,3,5,7,15,20) HAVING price>3000

模糊 select*from from1 where name like %波_;
区间 select*from from1 where price between 2000 and 6000;  [bɪˈtwin] 
降序 select * from from1 order by price asc升/desc降;
去重并年龄升序SELECT DISTINCT price FROM star ORDER BY 年龄 ASC; 

逻辑和 select * from from1 where price>3000 and age>30;
select*from user where username='张三' and password='123456'
逻辑或 select * from from1 where price>5000 or name like "周%";
逻辑非 select * from from1 where not(name like "周%");

查1列/多个列:SELECT 姓名 FROM star; 
并筛选:SELECT id,年龄 FROM star WHERE 年龄>30; 

聚合算条目数不能有where: select count(*) from from1
聚合算总和值 select sum(price) from from1
聚合最大值 select max(age) from star;
聚合最小值 select min(age) from from1;
分组聚合算平均值 SELECT TYPE, AVG(price)FROM star GROUP BY TYPE;

分组:整个表分组并把年龄*2的结果 单独列出 SELECT*,年龄*2 FROM star
以年龄分组 并把年龄大于30单独统计 SELECT 姓名,年龄>30 FROM star
以分组形式把姓名列出:SELECT TYPE,GROUP_CONCAT(姓名)FROM star GROUP BY TYPE
各个分组身份的平均值 select type,avg(price) from star group by type;
各个分组身份的最大的 select type,min(price) from star group by type;
各个分组身份的条目数 select type,count(*) from star group by type;

各个分组身份的条目数 并大于2的显示条目
select type,count(*)from star group by type having count(*)>2;
每组 条目里年龄大于30的显示条目;WHERE只能在分组前
SELECT TYPE,COUNT(*)FROM star WHERE 年龄>30 GROUP BY TYPE
每组 条目里年龄大于30的 并且条目大于2的 显示条目;HAVING可以分组后再过滤
SELECT TYPE,COUNT(*)FROM star WHERE 年龄>30 GROUP BY TYPE HAVING COUNT(*)>2

多表

MySQL多表 商品表的外键和分类表的主键
添加一个外键:alter table 表名 add foreign key(外键字段的字段名) references 主键表名 (主键字段名) ['ɔ:ltə] [ˈfɒrən][ˈrefrənsiz]  [ˈkætəgɔri]
alter table star add foreign key(type)references category(cid)
删除一个外键:alter table 表名 drop foreign key 约束名
ALTER TABLE star DROP FOREIGN KEY star_ibfk_1

- 一对多(重点)
  - 应用场景:学生和班级、商品和分类、用户和订单
    - 建表原则:在多的一方添加一个外键,指向一的一方的主键
- 多对多(重点)
  - 应用场景:商品和订单、学生和选课
  - 建表原则:创建一张第三方表,该表除了id字段之外,还至少得有两字段,分别作为外键指向两张表的主键
- 一对第一
  - 应用场景:人和身份证号
  - 建表原则:先当成一对多来处理,再给多的一方的外键字段添加一个唯一约束

交叉查询得到的结果是一个笛卡尔积,这个结果中包含错误数据。
select*from star,category

连接查询:为了筛选交叉查询中获取带的正确数据(重点)
  其实就是在交叉查询的基础上添加一个条件进行筛选正确数据

满足条件则显示,不满足则不显示 两种结果一样
隐式内连接查询 查询结果是a的外键star.type=b的主键(cid)/两个int相同就显示 b的主键对应的数据(cname) 简写的结果一模一样只是精简了代码
  - select * from a表,b表where 条件(a表的外键=b表的主键)

SELECT*FROM star,category WHERE star.type=category.cid
SELECT*FROM star s,category c WHERE s.type=c.cid 可以用别名简化
显式 内连接查询 显示里面的,on只能用主外键关联作为条件,如果还有其它条件,后面加where
  - select * from a表 inner join b表 on 条件

SELECT*FROM star s JOIN category c ON s.type=c.cid
SELECT*FROM star s JOIN category c ON s.type=c.cid 简化

外连接查询:显示主表 的所有数据,从表 的数据若满足条件则显示,不满足则以null显示
- 左外连接:以join左边的表为主表/star
select * from a表left outer join b表 on 条件

SELECT*FROM star s LEFT  OUTER JOIN category c ON s.type=c.cid
- 右外连接:以join右边的表为主表 /category
  - select * from a right outer join b on 条件
SELECT*FROM star s RIGHT  OUTER JOIN category c ON s.type=c.cid

子查询(重点)
定义:一个select语句中嵌套另外一个完整的select语句,也就是说一个select语句作为另外一个select语句的条件

1--先查出最高身价明星 2再根据最高身价查出明星信息
SELECT MAX(price) FROM star
SELECT*FROM star WHERE price=5050
子查询就可以合并成一句查询 嵌套
SELECT*FROM star WHERE price=(SELECT MAX(price)FROM star)

--1查宝宝的身价2.以宝宝的身份去查询身价大于这个数的明星信息--
SELECT price FROM star WHERE NAME="宝宝"
SELECT*FROM star WHERE price>5000
SELECT*FROM star WHERE price>(SELECT price FROM star WHERE NAME="宝宝")

--1查出小白的类别2 根据这个类别查同类别明星信息--
SELECT TYPE FROM star WHERE NAME="小白"
SELECT*FROM star WHERE TYPE=2
SELECT*FROM star WHERE TYPE=(SELECT TYPE FROM star WHERE NAME="小白")
SELECT*FROM star WHERE TYPE=(SELECT TYPE FROM star WHERE NAME="小白")AND NAME!="罗永浩"//后面还可以加上不等于的语句

SELECT*FROM star WHERE TYPE=(SELECT cid FROM category WHERE cname="宝剑队"); //查所有类别为宝剑队的明星

联合查询(了解):合并两个select语句查询到的结果集

- union,去重
- union all,不去重

分页查询(重点)

- 关键字:limit a,b
  - a代表从第几个下标开始查询
SELECT*FROM star LIMIT 0,4; //第二次 4,4
  - b代表查询多少条数据,也就是每页显示的数据条数
- 将客户端传入的要查询的页数"page"转换成a
 a=(page-1)*b
对明星进行按价格从高到低排序,然后取第一个明星信息
SELECT * FROM star ORDER BY price DESC LIMIT 0,1

SELECT ename,job FROM emp WHERE deptno=10 //10号部门员工和工作
SELECT deptno,AVG(sal)FROM emp GROUP BY deptno 以部门分组 查出平均工资

Oracle数据库 [ˈɒrəkl]

安装

安装全部下一步,检查先决条件时的网络配置需求,勾选用户已验证,最后一步更改两个用户名 把是否锁定帐户勾取消设置密码 密码 scott 密码tiger hr 密码hr

连接

http://pc5268-20140727:1158/em/ 用户名sys 密码root 连接身份sysdba 也可以用ip地址

instantclient_12_1目录下 dos执行 sqlplus scott/tiger@192.168.44.68:1521/orcl 第一次要输用户名和密码scott 密码tiger

用NavicatPremium要在工具->选项->环境->OCI环境,填instantclient_11_2\oci.dll 下载的 软件和下载的版本要一致32/64位

sql基础常识

在Oracle的学习之中,重点使用的是SQL语句,而所有的SQL语句都要在scott用户下完成,这个用户下一共有四张表,可以使用:

SELECT * FROM tab;

表结构详解

1、 部门表:dept [dɪˈpɑ:tmənt]department

名称 类型 描述
1 DEPTNO NUMBER(2) 表示部门编号,由两位数字所组成
2 DNAME VARCHAR2(14) 部门名称,最多由14个字符所组成
3 LOC VARCHAR2(13) 部门所在的位置

2、 雇员表:emp [ɪmˈplɔɪi:] employee

名称 类型 描述
1 EMPNO NUMBER(4) 雇员的编号,由四位数字所组成
2 ENAME VARCHAR2(10) 雇员的姓名,由10位字符所组成
3 JOB VARCHAR2(9) 雇员的职位 包括管理 管理的管理
4 MGR NUMBER(4) 上级的字段 雇员对应的领导编号,领导也是雇员
5 HIREDATE
一、SQL ...........................................................................................................................................................8 1.1、基本概念: ...................................................................................................................................8 1.2、数据库安全 : ...............................................................................................................................8 1.3、基本的SQL SELECT 语句 .............................................................................................................8 1.4、SELECT语句 ...................................................................................................................................9 1 、语法: .......................................................................................................................................9 2、SQL语句说明: .........................................................................................................................9 3、数字和日期都可以使用数学运算符建立表达式。 ...............................................................9 4、定义空(NULL)值 ...................................................................................................................9 5、别名 ...........................................................................................................................................9 6、spool +路径 ...........................................................................................................................10 7、连接操作符: || ...................................................................................................................10 8、文本字符串 .............................................................................................................................10 9、DISTINCT .................................................................................................................................10 1.5、SQLPLUS 与 SQL 的关系 ...........................................................................................................10 1、SQLPLUS命令的功能: ...........................................................................................................10 2、查询 SQLPLUS 命令 ...............................................................................................................10 3、SQLPLUSW 在 WINDOWS 下运行的分析器。 .........................................................................10 4、SQLPLUS 命令: ..................................................................................................................... 11 1.6、单行函数 .....................................................................................................................................12 1、character字符类型函数: ...................................................................................................12 2、number数字类型函数 .............................................................................................................15 3、时间类型函数: (date) .......................................................................................................15 1.7 、嵌套函数: ..................................................................................................................................21 1. 通用函数: .......................................................................................................................21 2. 条件表达式: ...................................................................................................................24 3. 从多表中显示数据: .......................................................................................................25 1.8、用字函数产生的总计 .................................................................................................................26 1.9、子查询: .....................................................................................................................................28 2.0、替换变量: .................................................................................................................................29 1.& .................................................................................................................................................29 2.&& ...............................................................................................................................................29 2.1.环境变量: ...................................................................................................................................29 2.2 格式化命令: ................................................................................................................................30 2.3 做脚本文件的过程: ....................................................................................................................31 2.3 数据操作语句: ............................................................................................................................31 1. 插入 ...................................................................................................................................31 2. 删除 ...................................................................................................................................31 3. 更新 ...................................................................................................................................31 4. MERGE语句 .........................................................................................................................32 5. 事务(transaction) : ...................................................................................................32 2.4 创建和管理表 ................................................................................................................................33 1、表(TABLE)基本的存储单位,由行和列组成。 ...............................................................33 2 、方案:一个用户所有对象的命名集合。 .............................................................................34 3、CTAS(子查询建表) : ...........................................................................................................34 4、截取: .....................................................................................................................................35 5、给表加注释:COMMENT ...........................................................................................................36 6、约束条件: .............................................................................................................................36 2.5.视图 (VIEW) .............................................................................................................................37 2.6、序列: .........................................................................................................................................39 2.7、索引: .........................................................................................................................................40 2.8 控制用户的访问 ............................................................................................................................41 1.数据库的安全性 .......................................................................................................................41 2.角色: .......................................................................................................................................41 3.使用集合操作 ...........................................................................................................................42 4.ORDER BY 子句: .....................................................................................................................42 5.GROUP BY 子句的增强 .............................................................................................................43 6.GROUPING 函数 .........................................................................................................................43 2.9 高级子查询 ....................................................................................................................................44 1. 成对子查询: ...................................................................................................................44 2.层次查询 ...................................................................................................................................44 二、Management: .......................................................................................................................................45 1.Oracle的构件和组件 .......................................................................................................................45 2.数据库的物理结构: .......................................................................................................................46 1.控制文件 ...................................................................................................................................46 2. 数据文件 ...........................................................................................................................46 3. 重做日志文件 ...................................................................................................................46 4. data file 数据文件: .................................................................................................46 5. 作用:存放数据。 ...........................................................................................................46 6. 数据文件大小可以扩展。 ...............................................................................................46 7. tablespace 表空间:一个或多个数据文件的逻辑组成。 .........................................46 8. redo log file 重做日志文件 .....................................................................................46 9. control file 控制文件 ...............................................................................................46 10. parameter file 初始化参数文件 ...............................................................................46 11. password file 口令文件 ...........................................................................................47 12. archived log file 归档日志文件 .............................................................................47 3.instance 实例/例程 .......................................................................................................................47 4、进程结构 .........................................................................................................................................49 1. 用户进程:开始于数据库用户请求连接数据库 ...........................................................49 2. 服务进程:与ORA实例连接,开始于用户会话的建立。 .............................................49 3. 后台进程:当ORA实例启动时启动 .................................................................................49 1. DBWR 数据库写进程 .......................................................................................................49 2. LGWR 重作日志写进程 ...................................................................................................50 6.CKPT 检查点进程 .................................................................................................................50 7.ARCn 归档进程(可选) .....................................................................................................50 8.LOGICAL STRUCTURE 逻辑结构 ............................................................................................50 5、OEM ORACLE 企业管理器 ...............................................................................................................51 6.管理ORA实例 .....................................................................................................................................51 7.启动过程: .......................................................................................................................................52 1. NOMOUNT 实例启动阶段 ...................................................................................................52 2. MOUNT 数据库装载阶段 ...................................................................................................52 3. OPEN 打开数据库 .............................................................................................................52
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值