oraclesql语法大全

上传人:第*** 文档编号:67706746 上传时间:2019-01-08 格式:PPT 页数:67 大小:246.50KB
返回 下载 相关 举报
oraclesql语法大全_第1页
第1页 / 共67页
oraclesql语法大全_第2页
第2页 / 共67页
oraclesql语法大全_第3页
第3页 / 共67页
oraclesql语法大全_第4页
第4页 / 共67页
oraclesql语法大全_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《oraclesql语法大全》由会员分享,可在线阅读,更多相关《oraclesql语法大全(67页珍藏版)》请在金锄头文库上搜索。

1、关系数据库标准语言SQL / 1,SQL语言初步 数据查询语句 数据库更新语句 数据定义语句 数据控制语句,什麽是SQL?,SQL:Structured query language 功能:查询、操纵、定义、控制 特点:1、一体化; 2、两种使用方式,统一的语法结构; 方式一、联机交互使用方式; 方式二、嵌入式。 3、高度非过程化; 4、语言简洁,易学易用。,SQL支持关系数据库三级模式,基本表:独立存在的表。每个基表对应一个存储文件,一个表可带若干索引。 存储文件+索引=内模式 视图:是一个虚表。数据库中仅存视图定义,不存对应的数据 。,SQL的三级模式,外模式,模式,内模式,Storefi

2、le1,Storefile2,Storefile3,Storefile4,Basetable1,Basetable2,Basetable3,Basetable4,View1,View2,SQL,用户,SQL命令的种类,DDL,数据定义语言 DML,数据操纵语言 DQL,数据查询语言 DCL,数据控制语言 数据管理命令 事务性控制命令,DDL,数据定义语言,用户创建或重新构建数据库的语言,CREATE INDEX ALTER INDEX DROP INDEX,CREATE TABLE ALTER TABLE DROP TABLE,DML,数据操纵语言,用于在关系数据库对象中操纵数据 INSERT

3、 UPDATE DELETE DQL,数据查询语言 对数据库中的信息寻找和定位 SELECT,DCL,数据控制语言,用于创建与用户访问相关的对象,也控制着用户的权限分配 ALTER PASSWORD改变口令 GRANT为用户授予特权 REVOKE从用户处收回特权,数据管理命令,审计和分析对数据库的操作,并可分析系统的执行过程 START AUDIT STOP AUDIT,事务性控制命令,用户管理数据库的事务命令 COMMIT用于保护数据库的事务 ROLLBACK用于撤消数据库的事务 SAVEPOINT创建一组事务中的撤消点 SET TRANSACTION给事务命名,数据库中的表结构,数据库中的

4、表 数据和基本数据类型,数据库中的表,表:字段、记录、列、主键,customer_tbl,Order_tbl,Products_tbl,Prod_id Prod_desc cost 112 candy 1.35 113 plastic 1.04,Products_tbl,记录,列(字段),主键,数据和基本数据类型,数据是存储在数据库中的信息集合。数据类型用于给特定的数据提供规则。 基本数据类型包括: 字符串 数字 日期和时间值,字符串,定长字符串: CHARACTER(n) 变长字符串: CHARACTER VARYING(n),数字值,BIT(n) BIT VERYING(n) DECIMA

5、L(n,n) INTEGER SMALLINT FLOAT(p) REAL(s) DOUBLE PRECISION(p),日期和时间值,DATE(YEAR,MONTH,DAY) TIME(HOUR,MINUTE,SECOND) INTERVAL TIMESTAMP,NULL值:为空。,数据查询语句,语法: SELECT * | all | column1,column2 FROM table1 ,table2 WHERE condition GROUP BY column1 ORDER BY column2(asc,desc) ,按列取值相等的原则进行分组,按列值进行排序,例1:SELECT

6、* FROM products_tbl WHERE cost 5 例2:SELECT prod_desc,cost FROM products_tbl WHERE prod_id = 119 例3:多表查询 SELECT employee_tbl.emp_name, employee_pay_tbl.position FROM employee_tbl, employee_pay_tbl WHERE employee_tbl.emp_id = employee_pay_tbl.emp_id,SQL中操作符的使用,定义:操作符是保留的字或字符,主要用于比 较和算术运算。 分类:比较操作符,逻辑操

7、作符和算术运算符。 1、比较操作符 包括:=,, , =。 注意比较双方的数据类型。 2、算术运算符 包括:+,-,*,/等。 与数学运算规则一致。,2、逻辑操作符,IS NULL(是否为空) BETWEEN(在某两个值之间) IN(一系列值中) LIKE(相似值的比较) EXITS(是否存在符合条件的数据) UNIQUE(是否唯一) ALL/ANY(一组数据的所有/其中的任何一个) AND/OR(逻辑与/或),IS NULL / IS NOT NULL,WHERE salary IS NULL 工资为空值。 WHERE salary = NULL 工资中含有NULL字符。 例: SELECT

8、 emp_id, emp_name FROM employee_tbl WHERE emp_phone IS NULL,BETWEEN,WHERE salary BETWEEN 200 and 300 工资在200到300之间,包括200和300。 IN WHERE salary IN (200,300,400) 工资必须是200,300,400之中的值。,LIKE,使用匹配符将一个值同其相似的值比较。 匹配符包括:- 代表一个字符。 % 代表多个字符。 如: WHERE salary LIKE -00 查找00作为后两位数的值。 WHERE salary LIKE 200% 查找200作为前

9、三位数的值。,EXISTS,查询在指定表中是否存在一行符合某种条件的数据。 WHERE EXISTS (SELECT employee_id FROM employee_tbl WHERE employee_id = 3333),UNIQUE,在特定的表中搜索每一行是否唯一。 WHERE UNIQUE (SELECT salary FROM employee_tbl WHERE employee_id = 3333) 测试满足条件的工资是否有重复数据。,ALL/ANY,与某个数据集中所有数据 / 任何一个进行比较。 WHERE salary all (SELECT salary FROM em

10、ployee_tbl WHERE city = INDIAN),AND/OR,AND连接的条件必须都满足。 OR连接的条件至少满足一个。 如:SELECT * FROM products_tbl WHERE cost 10 and cost 30 如:SELECT * FROM products_tbl WHERE prod_id = 7725 or prod_id = 2345,库函数,函数通常是列名或表达式相连系的命令。 1、统计函数 2、字符函数 3、算术函数,1、统计函数,统计函数:用于提供统计信息,如:累加、总和、平均值。 主要的统计函数: COUNT:统计行数或不为NULL的列数。

11、 SUM:求和。 MAX:求最大值。 MIN:求最小值。 AVG:求平均值。,COUNT,语法: COUNT(*)|(DISTINCT|ALL|COLUMN NAME) 注意:DISTINCT统计唯一的行; DISTINCT不能用于COUNT(*),只能用 于COUNT(column_name),举例:,SELECT COUNT(*) FROM EMPLOYEE_TBL 统计雇员表中所有行数 SELECT COUNT(EMP_ID) FROM EMPLOYEE_TBL 统计所有雇员身份证号 SELECT COUNT(DISTINCT SALARY) FROM EMPLOYEE_PAY_TBL

12、统计唯一行数,SUM:仅用于数字类型。,语法: SUM( DISTINCT COLUMN NAME) 举例: SELECT SUM (SALARY) FROM EMPLOYEE_PAY_TBL 计算工资总和 SELECT SUM (DISTINCT SALARY) FROM EMPLOYEE_PAY_TBL 计算没有重复工资总和,AVG:确定一组数据的平均值,语法: AVG(DISTINCT COLUMN NAME) 举例: SELECT AVG(SALARY) FROM EMPLOYEE_PAY_TBL 计算工资的平均值 SELECT AVG(DISTINCT SALARY) FROM EM

13、PLOYEE_PAY_TBL 计算唯一的工资平均值,MAX和MIN,语法: MAX( DISTINCT COLUMN NAME ) MIN ( DISTINCT COLUMN NAME ) 举例: SELECT MAX(SALARY) FROM EMPLOYEE_PAY_TBL 计算最高的工资 SELECT MAX(DISTINCT SALARY) FROM EMPLOYEE_PAY_TBL 计算最高的工资,例:表DTUDENT_TBL,数学平均值 总成绩最高值 语文成绩最低值 数学成绩总和 表中的数据行数,1. SELECT AVG(maths) FROM STUDENT_TBL 2. SE

14、LECT MAX(total) FROM STUDENT_TBL 3. SELECT MIN(comp) FROM STUDENT_TBL 4. SELECT SUM(maths) FROM STUDENT_TBL 5. SELECT COUNT(*) FROM STUDENT_TBL,2、字符函数,UPPER(character string):将指定字符串中的小写字母换成大写字母。 LOWER (character string): 将指定字符串中的大写字母换成小写字母。 SUBSTRING (colunm name,startposition,length) 从指定字符串中取字符。,例:

15、,SELECT UPPER(CITY) FROM EMPLOYEE_TBL SELECT LOWER (CITY) FROM EMPLOYEE_TBL SELECT SUBSTRING(EMP_ID,1,3) FROM EMPLOYEE_TBL SELECT SUBSTRING(EMP_ID,5,3) FROM EMPLOYEE_TBL,3、算术函数,ABS(绝对值)、SIN、COS、TAN、 EXP(指数)、SQRT(开方)、 POWER(幂) 语法:函数名(表达式) 例:SELECT SQRT(MATHS) * 10 FROM STUDENT_TBL,数据库更新语句,INSERT 给表填充

16、数据 UPDATE 更新已存在的数据 DELETE 删除表中的数据,INSERT 给表填充数据,语法: INSERT INTO table_name VALUES(value1,value2,.) 例: products_tbl:prod_id varchar(10) prod_desc varchar(25) cost number(6,2) 输入数据: INSERT INTO products_tbl VALUES(7725,LEATHER,26.99),UPDATE 更新已存在的数据,语法: UPDATE table_name SET column_name = value WHERE condition 例:UPDATE products_tbl SET prod_id = 1001 WHERE prod_desc = coat,DELETE 删除表中的数据,语法: DELETE FR

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

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