大连网站制作的,百度云附件 wordpress,建设网站的风格,蓝韵网络专业网站建设怎么样#x1f33b;#x1f33b; 目录 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)1.1 标识符、关键字、函数等1.1.1 数值类型#xff1a;1.1.2 字符串类型#xff1a;1.1.3 日期类型1.1.4 大的数据类型--适合保存更多的数据 1.2 运算符1.3 函数---预定义函数、自定义函数 目录 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)1.1 标识符、关键字、函数等1.1.1 数值类型1.1.2 字符串类型1.1.3 日期类型1.1.4 大的数据类型--适合保存更多的数据 1.2 运算符1.3 函数---预定义函数、自定义函数1.3.1 数值函数---进行数值操作1.3.2 字符串函数1.3.3 日期函数1.3.4 转换函数1.3.5 其他函数 1.4 单表多表查询1.5 分页查询 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)
1.1 标识符、关键字、函数等 1标识符—数字、字母、下划线、#2关键字3数据类型 1.1.1 数值类型 1 Mysql—int double1 Oracle—number:整数和小数number(n)–整数number(m,n)–小数m表示小数的整体位数n表示小数点之后的位数 1.1.2 字符串类型 Mysql—char varchar Oracle—char varchar2 nchar nvarchar2 char nchar – 定长类型向此类型的字段中添加字符串的时候如果字符串的长度不够指定的长度那么自动补齐空格 varchar2 nvarchar2 – 变长类型向此类型的字段中添加字符串的时候不会补齐空格添加的字符串是多长那么空间就是多长 varchar2和nvarchar2–占4000字节通常一个数字或者一个字母对应一个字节使用此两个类型可以保存4000个字母或者数字在Oracle中默认三个字节一个汉字 varchar2(n) — n表示字节个数能放的汉字个数n/3 varchar2(n char) — n表示汉字个数 char和nchar—占2000字节char(n char) — n表示汉字个数 1.1.3 日期类型 Mysql – date datetime Oracle – date timestamp 1.1.4 大的数据类型–适合保存更多的数据 Mysql — text tinytext longtext 存更多的字符串 blob longblob 存非字符串的内容比如图片、音频等 Oracle — clob long 存更多的字符串 blob 存非字符串的内容比如图片、音频、视频等 1.2 运算符 A、算术运算 - * / mod() B、关系判断运算 /! C、逻辑判断运算and or not D、特殊运算is null is not null like in between…and not like not between…and 1.3 函数—预定义函数、自定义函数 在Oracle中函数的运行需要使用标准的sql格式在Oracle中为了补齐标准的sql设置了一个dual的虚拟表 聚合函数—统计函数count() avg() sum() max() min() 单行函数 1.3.1 数值函数—进行数值操作 数学函数– abs()绝对值 四舍五入round() 截取数值函数trunc()–只删除不进位 floor()–比指定数值小的最大整数 ceil()–比指定数值大的最小整数 power() log() 1.3.2 字符串函数 字符串截取–substr() 字符串长度–length() 大写转小写lower() 小写转大写upper() 首字母大写其他小写initcap() 字符串串联concat() || 1.3.3 日期函数 sysdate – 系统时间 给月份增加值add_months() 四舍五入日期round(date,’month/year’) 1.3.4 转换函数 在Oracle中日期格式是日-月-年而且月上还有一个汉字‘月’比如14-5月-19 19年5月14日 字符串转日期 select to_date(2023-05-07,YYYY-MM-dd) from dual;字符串转数值–to_number(数值字符串,格式字符串) select to_number(123,9G999) from dual;
select to_number(56,023,780,999,999,999) from dual;日期转字符串、数值转字符串to_char SELECT to_char(sysdate,YYYY-MM-dd) from dual;
SELECT to_char(123456789,999,999,999) from dual;1.3.5 其他函数 Oracle自带模板表 与null有关的函数 select nvl(comm,0) from emp;nvl()函数将null转成指定的值 nvl2()函数当第一个参数值不为null时显示第二个参数的结果当第一个参数值为null时显示第三个参数的结果 select nvl2(comm,salcomm,sal) from emp;与case when then结构有关的函数 select job,case job when CLERK then 文员when SALESMAN then 销售员when MANAGER then 经理when ANALYST then 分析员when PRESIDENT THEN 总裁end job1
from emp;代替以上格式的函数 select job,decode(job,CLERK,文员,SALESMAN,销售员,MANAGER,经理,ANALYST,分析员,PRESIDENT,总裁) job1
from emp;1、DDL—数据库定义语言create drop alter 2、DML—数据库操作语言insert delete update 3、DQL—数据库查询语言select CREATE TABLE t_person(pid NUMBER(5) primary key,pname VARCHAR2(3 CHAR),psex CHAR(1),pbirthday DATE,psal NUMBER(5,2),pbir timestamp
);SELECT * FROM t_person;INSERT INTO t_person VALUES(1004,张易得,3,1-5月-1995,333.993,SYSDATE)1.4 单表多表查询 单表查询简单查询、子查询、连接查询 多表查询连接查询、子查询 -- 查询员工中没有奖金的员工信息
SELECT * FROM EMP WHERE COMM IS NULL OR COMM 0-- 子查询的结果如果出现在外查询的Where部分那么子查询的结果就是where的条件值
-- 子查询的结果如果出现在外查询的from部分那么子查询结果就是表
--如果子查询出现在where部分子查询结果只有一个值那么把子查询就看作是这个值
--如果子查询出现在where部分子查询结果是一列多个值那么把子查询看做同类型多个值--查询员工工资比平均工资高的员工的信息SELECT * FROM EMP WHERE SAL (select AVG(SAL) from EMP)-- 查询Smith、allern同部门的其他员工信息select DEPTNO from EMP where ENAME SMITH OR ENAME ALLEN;SELECT * FROM EMP
WHERE DEPTNO IN (select DEPTNO from EMP where ENAME SMITH OR ENAME ALLEN)
AND ENAME SMITH AND ENAME ALLEN;--查询每位员工姓名以及领导的姓名SELECT * from emp e,emp m where e.empno m.mgr() --()ORACLE 特有的加上相当于左查询SELECT * from emp e LEFT JOIN emp m ON e.empno m.mgr --左查询1.5 分页查询 在Oracle中实现分页没有limit关键字rowid保证表中数据的唯一性Rownum是查询结果的行号分页实现 – 第一页每页4个行号从1到4
select empno,ename,job,mgr,hiredate,sal,comm,deptno
from (select rownum r,emp.* from emp) te
where te.r between 1 and 4;