oracle-sql培训

上传人:今*** 文档编号:108198813 上传时间:2019-10-22 格式:PPT 页数:32 大小:1.88MB
返回 下载 相关 举报
oracle-sql培训_第1页
第1页 / 共32页
oracle-sql培训_第2页
第2页 / 共32页
oracle-sql培训_第3页
第3页 / 共32页
oracle-sql培训_第4页
第4页 / 共32页
oracle-sql培训_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《oracle-sql培训》由会员分享,可在线阅读,更多相关《oracle-sql培训(32页珍藏版)》请在金锄头文库上搜索。

1、ORACLE数据库教程,学习方法比学习知识更重要,-毁人不倦语录,2016年6月,SQL学习篇,SQL-101,培训内容简介,1、sql概念与分类 2、数据定义语言(DDL) 3、DML(Data Manipulation Language,数据操作语言) 4、数据查询语言(DQL:Data Query Language) 5、函数 6、约束与索引,好的学习方法就是用最简单的方法,学到尽可能多的知识,-毁人不倦语录,系统环境及知识准备,系统环境 Oracle数据库9i或以上版本 安装PL/SQL Developer数据库集成开发工具,建议使用英文版 知识准备 对于PL/SQL Develope

2、r的使用有一定了解,知道如何登录Oracle,如何使用command和SQL窗口的操作。 对于SQL基础知识篇(SQL-001)中的知识有一定的了解。,SQL部分,1、概念: 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统; 2、 SQL语言基本分类: 1)数据定义语言(DDL): 包括:create table、alter table、drop table等; 2)DML(Data Manipulation Language,数据操作语言):用于检索或者修

3、改数据。 DML包括: INSERT:用于增加数据到数据库; UPDATE:用于从数据库中修改现存的数据 DELETE:用于从数据库中删除数据。,SQL部分,3)数据查询语言(DQL:Data Query Language): 其语句,也称为“数据检索语句“,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。 4)DCL(Data Control Language,数据控制语言):用于定义数据库用户的权

4、限。 DCL包括: ALTER PASSWORD GRANT REVOKE CREATE SYNONYM,SQL部分,5)事务处理语言(TPL): 它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK 6)指针控制语言(CCL): 它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作,SQL部分,3、基本语法 3.1.create Create table Create sequence Create view(后面讲) Crea

5、te index (后面讲),SQL部分,3.1.1 Create table (建表) 语法: CREATE TABLE table_name( column_name1 data_type, column_name2 data_type,. );,SQL部分,表名和列的命名规则 1)必须以字母开头 2)长度不能超过30个字符 3)不能使用oracle的保留字 4)只能使用如下字符 A-Z,a-z,0-9,$,#等 Oracle中字段的数据类型 字符型 char 最大2000个字节 定长 char(10) 张三后面添加6个空格把10个字节填满 varchar2 范围 最大4000个字节 变长

6、 char 查询的速度极快浪费空间,查询比较多的数据用。 varchar2 节省空间 (oralce中基本都用这个) 数字 number 范围- 10的38次方到10的38次方,可以是整数也可以是小数 number(4)最大表示四位整数-9999到9999 number(5,2)表示5为有效数字 2为小数的一个小数-999.99到999.99,SQL部分,日期 date 包含年月日和时分秒 7个字节 图片 blob 二进制大对象 图像/声音 4G Create table例子:创建一个员工表 create table dengxianglei_EMP (empno NUMBER(4),-员工号

7、 ename VARCHAR2(10),-员工姓名 job VARCHAR2(9),-职位 mgr NUMBER(4),-上级领导 hiredate DATE,-入职日期 sal NUMBER(7,2),-工资 comm NUMBER(7,2),-奖金 deptno NUMBER(2)部门编号); create table dengxianglei_DEPT ( deptno NUMBER(2) not null, dname VARCHAR2(14), loc VARCHAR2(13) );-为后面准备,SQL部分,CREATE SEQUENCE(创建序列) 创建序列: CREATE SEQ

8、UENCE 序列名 INCREMENT BY n START WITH n MAXVALUE/ MINVALUE n|NOMAXVALUE CYCLE|NOCYCLE CACHE n|NOCACHE; create sequence cux_store_limit_t_s minvalue 1-默认是1 maxvalue 2147483647-默认9999999999999999999999999999 start with 20000-默认1 increment by 1-默认1 CYCLE-默认循环 cache 10; -默认20 create sequence CUX_store_lim

9、it_T_S;(也可以这样建),SQL部分,3.1.2 drop Drop table table_name; Drop SEQUENCE seq_name; Drop index index_name; Drop view view_name;,SQL部分,3.1.3 alter 添加字段(学生所在班级classid)(添加add) alter table student add(classid number(2); 修改字段的长度(修改modify) alter table student modify(xm varchar2(12); 删除一个字段 alter table student

10、 drop column sal; 字段如何改名字 -先删除 a)alter table student drop column sal; -再添加 b)alter table student add (salary number(7,2); 表名修改 rename student to stu;,SQL部分,3.2.DML 3.2.1. insert(插入数据) -所有字段都插入 insert into dengxianglei_EMP values (CUX_store_limit_T_S.Nextval, 小红, 会计, 5, sysdate, 2000, 500, 20);,SQL部分

11、,部分字段插入 insert into dengxianglei_EMP (empno, ename, job, mgr, sal, comm, deptno) values (CUX_store_limit_T_S.Nextval, 小明, 会计, null,-空值 2000, 500, 20);,SQL部分,3.2.2 UPDATE -将员工号为1的员工名字改为小胡 UPDATE DENGXIANGLEI_EMP T SET T.ENAME=小胡, T.sal=5000 WHERE T.EMPNO=1; 3.2.3 delete -删除员工号为2的员工信息删除 delete from DE

12、NGXIANGLEI_EMP T where t.empno=2; delete from DENGXIANGLEI_EMP;删除表中所有记录,表结构还在,写日志,可以恢复,速度慢 drop table DENGXIANGLEI_EMP;删除表结构和数据 truncate table DENGXIANGLEI_EMP;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快,SQL部分,3.3 DQL(数据查询语言,sql最主要的部分) Select查询语法: SELECT “栏位名” FROM “表格名” ; Distinct(去重) Where(条件) And or Innot

13、 in Between and select * from dengxianglei_EMP t where t.empno between 4 and 7; Like Order by Count,SQL部分,Union union allIntersectMinus select * from dengxianglei_EMP t where t.empno = 5 intersect select * from dengxianglei_EMP t where t.empno = 6; select * from dengxianglei_EMP t where t.empno = 5

14、union select * from dengxianglei_EMP t where t.empno = 5; select * from dengxianglei_EMP t where t.empno = 5 union all select * from dengxianglei_EMP t where t.empno = 5; select * from dengxianglei_EMP t where t.empno = 6 minus select * from dengxianglei_EMP t where t.empno = 5;,SQL部分,Group by、havin

15、g select t.sal from dengxianglei_EMP t group by t.sal having t.sal=2000; Exists not exists select * from dengxianglei_EMP o where exists (select x from dengxianglei_dept t where t.deptno = o.deptno); Decode Decode (a,b,c,d);decode(a,b,c,d,e) Case select t.ename,case t.ename when 小红 then sal * 1 when

16、 小明 then sal * 2 else sal end new_sal from dengxianglei_emp t;,SQL部分,表连接(多表查询) 笛卡尔积(a表记录条数*b表记录条数) select * from dengxianglei_emp,dengxianglei_dept; 规定:多表查询的条件是 至少不能少于 表的个数-1 才能排除笛卡尔集 (如果有N张表联合查询,必须得有N-1个条件,才能避免笛卡尔集合) SELECT e.ename, e.sal, d.dname FROM dengxianglei_emp e, dengxianglei_dept d WHERE e.deptno = d.deptno; 自连接(内联),SQL部分,左连接、右连接 select 属性列表 from 表1 lift/right outer join 表2 on 表1.属性=表2.属性; 左连接查询

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号