Oracle自学自学笔记
- 格式:doc
- 大小:161.00 KB
- 文档页数:34
一、数据类型:二、表空间和数据文件的关系:文件组成:数据文件,控制文件,数据库日志文件数据文件:.dbf 包含全部数据库数据(表,索引等),一个数据文件仅与一个数据库关联。
一旦建立,只增不减。
表空间(TableSpace):一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。
一个数据文件只能和一个表空间关联。
每一个数据库都有一个SYSTEM表空间,可以设置除SYSTEM表空间外的所有表空间在线,离线属性状态。
段(SEGMENT):数据段,索引段,退回段,临时段。
区:磁盘空间分配最小单位。
由连续的数据块组成。
数据块:数据库I/O的最小单位,最小数据组织单位与管理单位。
数据块大小由db_block_size决定。
用select name,value from v$parameter wherename='db_block_size'查询数据块大小。
三、表空间:创建:CREATE TABLESPACE MYSPACEDATAFILE'E:/Data/A.ORA'SIZE10M,'E:/Data/B.ORA'SIZE5MEXTENT MANAGEMENT LOCAL 本地管理表空间UNIFORM SIZE1M 每个分区统一大小扩充表空间:ALTER TABLESPACE MYSPACEADD DATAFILE'E:/Data/C.ORA'SIZE10M四、常用语句:修改某个字段为主键:alter table student add constraint pk primary key (pkid)修改某个字段为非空:alter table student modify(pkid primary)五、备份和恢复:分类:逻辑备份(IMP&EXP)、物理备份(脱机及联机备份)、利用RMAN(Recovery Manager)的增量物理文件系统备份。
Cai123 Cai123之后点了“高级安装”安装位置:正在检查操作系统要求...要求的结果: 5.0,5.1,5.2,6.0 之一实际结果: 6.1检查完成。
此次检查的总体结果为: 失败<<<<问题: Oracle Database 11g 未在当前操作系统中经过认证。
建议案: 确保在正确的平台上安装软件。
结果安装不了上网查了一下,改一下相关配置文件就可以啦!变成:警告内容为:我点了下一步,无视它警告记下这边输入的东西:一直默认,直到:要勾选再一直默认:直到,选“所有用户都使用同意口令”这里因为没有账号,所以默认下一步:到后来有一步是要点“口令管理”其实,上图把所有的勾都去掉也没关系,他是为了安全问题吧,默认锁住所有用户。
到时候比如我们突然想用tsmsys用户了,只要通过alter user tsmsys account unlock。
就可以启用。
有写用户只需要输入: scott/tiger这样就可以进入,而有些如sys则需要:sys/Cai123 as sysdba 才可以登录,是因为,后者是系统管理员,所以要明确指出是sysdba,而前者只是普通管理员。
再如system/Cai123也不用as sysdba 因为它也是普通管理员。
其实上图中的grant dba是一个所谓的角色。
一个角色含有一组权限。
角色可以理解为职位用desc ribe可以查看表格的情况。
sql server 和oracle的区别oracle命令大全sys/"Cai123 as sysdba"假如说,我们目前实例没有打开,则:sqlplus/nolog(这是在不启动实例的情况下登录)connect sys/Cai123 as sysdba(只要是以sys身份登录的,都默认是sysdba)然后启动:startup 【首先把实例启动起来紧接着打开控制文件然后打开数据文件。
当我们进行】(startup mount 启动数据库文件同时启动控制文件,但是不启动数据文件)作业第五题,创建复杂视图:SQL> CREATE VIEW COM_VIEW (DEPARTMENT_NAME,MIN_SALARY,MAX_SALARY, AVR_SALARY) 2 AS SELECT DEPARTMENT_NAME,MIN(SALARY),MAX(SALARY),AVG(SALARY) FROM EMPLOYES,DEPARTMENTS WHERE DEPARTMENTS.DEPARTMENT_ID=EMPLOYEES.DEPARTMENT_ID GROUP BYDEPARTMENTS.DEPARTMENT_NAME;视图已创建。
Oracle基础学习笔记主要是9i,部分会涉及10g的东西。
有点乱,大家慢慢看吧,对入门的学习还是挺基础的。
一、结构一个Oracle服务由实例(instance)和数据库(database)组成,数据库和实例是一对多的关系,即一个实例只可以管理一个数据库,而一个数据库可以被多个实例同时管理着,如在RAC环境中。
(1)实例1、由一组进程和内存结构组成2、5个基本进程:dbwr(数据文件写), lgwr(日志文件写),smon(系统恢复和控制),pmon(服务进程监控),chk(检查点),3、其他进程:arch(归档日志写),job作业进程等4、内存:SGA和PGA5、SGA包括share pool-lib cache: sql, pl/sql,-dictionary cache: 数据字典缓存db buffer:-nk_cache block 是nk的表空间使用的buffer-recycle_cache:经常不驻留内存的对象缓冲区-keep_cache:经常驻留内存的对象缓冲区relog buffer: redo log 文件缓存large buffer:share模式下为uga所使用java buffer:jvm使用streem buffer( 10g)最大比例的是db_cache_size,上面没有列出db_cache_size,是因为其被nk_cache包含了,若db_block_size =8k,则db_cache_size就是8k_cache。
6、参数SGA_MAX_SIZE : SGA最大内存SHARED_POOL_SIZE : share pool 的大小DB_CACHE_SIZE : db cache 的大小DB_RECYCLE_CACHE_SIZE: 经常不驻留内存的对象缓冲区DB_KEEP_CACHE_SIZE: 经常驻留内存的对象缓冲区LOG_BUFFER : log buffer 的大小LARGER_POOL_SIZE : large buffer的大小JAVA_POOL_SIZE : java buffer的大小Db_2K_cache_size : block size 为2k的表空间的数据缓冲Db_4K_cache_size : block size 为4k的表空间的数据缓冲Db_8K_cache_size : block size 为8k的表空间的数据缓冲Db_16k_cache_size : block size 为16k的表空间的数据缓冲Db_32K_cache_size : block size 为32k的表空间的数据缓冲若db_block_size为nk,则参数db_nk_cache_size无意义,nk的cache size由db_cache_size确定。
Oracle超详细学习笔记-----员⼯培训------1.最简单的查询--例SELECT *FROM employees;DESC employees;SET linesize 600;SET PAGESIZE 50;--例2SELECT table_name FROM user_tables;--查询数据库中所有表名--2.查询特定的列--例SELECT employee_id,fisrt_name,last_name.salaryFROM employees;--3.在SELECT⼦句中使⽤直接量--例SELECT 5FROM employees;-----------------------SELECT 5FROM dual;--这是Oracle提供的伪表--例2:SELECT 'Hello Oracle SQL'--在Oracle中如何表⽰字符串常量FROM employees;SELECT 'Hello Oracle SQL'--在Oracle中如何表⽰字符串常量FROM dual;--例3:SELECT 'Hello Oracle''s SQL'--⽤两个连续单引号进⾏单引号转义FROM employees;--4在SELECT⼦句中使⽤算术表达式--例1:查询员⼯的编号、姓名和年薪SELECT employee_id,fist_name,last_name,salry,salary*12FROM employees;--例2:SELECT 5/2FROM dual;--5.给例定义别名--例1:SELECT employee_id AS idFROM employees;--例2:SELECT employee_id AS "Id"--双引号中的字符原样显⽰FROM employees;--例3:SELECT employee_id,fist_name,last_name,salry,salary*12 AS annual_salary FROM employees;--例4:SELECT employee_id,fist_name,last_name,salry,salary*12 AS "annual salary" FROM employees;--如果别名有特殊字符必须使⽤双引号--6.字符串的链接运算符--例:SELECT employee_id||''||fist_name,last_name,salry,salary*12 AS annual_salary FROM employees;--7.过滤重复记录--例1:SELECT DISTINCT department_idFROM employees;--例2:SELECT DISTINCT department_id,job_idFROM employees;--第⼆章过滤查询和结果集排序--1.使⽤WHERE⼦句过滤记录--例1:SELECT *FROM employeesWHERE salary > 8000;--例2:SELECT employee_id,first_name,last_name,salary FROM employeesWHERE salary = 17000;--例3:SELECT employee_id,first_name,last_name,salary FROM employeesWHERE salary <> 17000;-- !=--⽐较运算符号:>,>=,<,<=,=,!=或<>--例4SELECT employee_id,first_name,last_name,salary FROM employeesWHERE salary >=2500 AND salary <= 17000;--逻辑运算符:AND,OR,NOT--2.在WHERE⼦句中使⽤字符串和⽇期--例1:查询职位ID为st_clerk的员⼯信息SELECT employee_id,job_id,first_name,FROM employeesWHERE job_id = 'ST_CLERK';--表中字段的值是区分⼤⼩写的--例2:查询1998年7⽉9⽇⼊职的员⼯信息SELECT employee_id,job_id,first_nameFROM employeesWHERE hire_date = '09-7⽉-1998';--⽇期直接量必须以字符串的形式来体现--Oracle的⽇期是格式敏感的--标准⽇期表⽰DD-MM-RR--3.其他⽐较运算符--1)BETWEEN AND--例1:查询⼯资在【2500,7000】上的员⼯信息SELECT employee_id,job_id,first_name,salaryFROM employeesWHERE salary BETWEEN 2500 AND 7000;--包含边界值--第⼀个值要⼩于第⼆个值--练习:查询1998年⼊职的员⼯信息SELECT employee_id,job_id,first_name,salary,hire_dateFROM employeesWHERE hire_date BETWEEN '01-1⽉-1998' AND '31-12⽉-1998';--2) IN--例1:查询职位ID是ST_CLERK或者ST_MAN的员⼯SELECT employee_id,job_id,first_name,salary,hire_dateFROM employeesWHERE job_id IN ('ST_CLERK','ST_MAN');--例2SELECT employee_id,job_id,first_name,salary,hire_dateFROM employeesWHERE NOT job_id IN ('ST_CLERK','ST_MAN');----------------------------------------------------------------------------SELECT employee_id,job_id,first_name,salary,hire_dateFROM employeesWHERE job_id NOT IN ('ST_CLERK','ST_MAN');--3)LIKE--例1:模糊查询SELECT employee_id,job_id,first_name,salary,hire_dateFROM employeesWHERE job_id LIKE 'ST%';--通配符:%任意多个字符,_⼀个字符。
韩顺平oracle学习笔记第0讲:如何学习oracle一、如何学习oracleOracle目前最流行的数据库之一,功能强大,性能卓越。
学习oracle需要具备一定基础:1.学习过一门编程语言(如:java ,c)2.最好学习过一门别的数据库(sql server,mysql , access)教程推荐:oracle使用教程,深入浅出oracle记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程;索引,约束和事物。
期望目标:1 学会安装、启动、卸载oracle2 使用sql *plus工具3 掌握oracle用户管理4 学会在oracle中编写简单的select语句第1讲:基础语法内容介绍:1.为什么学习oracle2.介绍oracle及其公司的背景3.学会安装、启动、卸载oracle4.oracle开发工具5.Sql*plus的常用命令6.oracle用户管理一、主流数据库包括:●微软:sql server 和 access●瑞典:mysql AB公司●IBM公司:DB2●美国sybase公司:sybase●IBM公司:infromix●美国oracle公司:oracle(目前最流行的之一)二、oracle安装,启动及卸载1.系统要求:操作系统最好为windows2000内存最好在256M以上硬盘空间需要2G以上2.oracle安装会自动的生成sys和system两个用户说明:○1Sys用户是超级用户,具有最高权限,具有sysdba角色,create database 的权限,默认密码是manager○2System 用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是 change_on_install○3一般讲,对数据库维护,使用system用户登录就可以了3.启动oracle右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener4.卸载oracle1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭2、开始->程序->Oracle - oracle的版本号,我的是10ghome->Oracle Installation Products->Universal Installer 卸载oracle3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。
oracle 笔记摘要:一、Oracle 简介1.Oracle 的发展历程2.Oracle 的产品和服务二、Oracle 数据库的基本概念1.数据库管理系统2.关系型数据库3.Oracle 数据库的结构三、Oracle 数据库的安装与配置1.安装Oracle 数据库的前提条件2.安装过程及注意事项3.配置Oracle 数据库四、Oracle 数据库的管理1.数据库的启动与关闭2.数据库的备份与恢复3.用户与权限管理五、SQL 语言基础1.SQL 简介2.SELECT 查询语句3.INSERT、UPDATE 和DELETE 操作语句六、PL/SQL 编程1.PL/SQL简介2.存储过程与函数3.触发器与异常处理七、Oracle 数据库的应用1.Oracle 数据库在企业级应用中的优势2.Oracle 数据库在典型行业的应用案例正文:一、Oracle 简介Oracle(甲骨文)公司成立于1977 年,总部位于美国加州,是全球著名的数据库软件及解决方案供应商。
Oracle 的产品和服务涵盖了数据库、应用软件、中间件、云计算等领域,广泛应用于企业、政府、金融、医疗等各个行业。
二、Oracle 数据库的基本概念1.数据库管理系统:数据库管理系统(DBMS)是一种用于存储、检索和管理数据的计算机软件。
它提供了对数据的高效组织、存储、检索、更新和维护功能。
2.关系型数据库:关系型数据库是基于关系模型的数据库,采用表格形式存储数据,并通过SQL(结构化查询语言)进行操作。
Oracle 数据库是一种关系型数据库,具有强大的数据管理功能和高度的数据安全性。
3.Oracle 数据库的结构:Oracle 数据库由物理结构和逻辑结构组成。
物理结构包括数据库文件、数据块、表空间等;逻辑结构包括表、视图、索引等。
三、Oracle 数据库的安装与配置1.安装Oracle 数据库的前提条件:首先,需要确保计算机硬件满足Oracle 数据库的最低要求;其次,需要获取Oracle 数据库的安装文件,这些文件通常可以从Oracle 官网下载。
关于Oracle的学习笔记,可能包括以下几个重要部分:数据库创建和管理:创建用户和表空间。
以超级管理员的身份登录,创建表空间,创建用户,给用户授权,使用新用户进行查询测试。
数据定义语言(DDL)用于建立、修改、删除数据库对象,包括创建语句(CREATE)、修改语句(ALTER)、删除语句(DROP)。
例如,使用CREATE TABLE创建表,使用ALTER TABLE修改表,使用DROP TABLE删除表等。
数据库查询:数据查询语言(DQL)用于查询所需要的数据。
排序查询结果。
例如,使用SELECT语句查询员工信息,并按升序排序。
排序可使用NULLS FIRST和NULLS LAST来选择空的信息的位置。
字符串拼接。
通过“||”实现字符串的拼接。
例如,查询所有员工姓名并在后面加一个“a”。
当字符串拼接遇到空的时候,空会自动变成一个空字符串。
数据库数据操作:数据操作语言(DML)用于改变数据库数据,包括INSERT、UPDATE、DELETE三条语句。
使用DISTINCT去重。
例如,SELECT DISTINCT name, id FROM A,作用于多列。
数据库高级特性:使用PARTITION BY在保留全部数据的基础上,只对其中某些字段做分组排序。
虚拟表DUAL是一个虚表,虚拟表,是用来构成SELECT的语法规则,Oracle保证DUAL里面永远只有一条记录。
数据库控制和管理:数据控制语言(DCL)用于数据库的控制和管理。
事务控制语言(TCL)用于数据库事务的控制。
以上内容只是Oracle学习笔记的一部分,实际上Oracle数据库系统的学习还包括很多其他的内容,如索引管理、视图、存储过程、触发器等高级数据库对象的管理和使用,以及数据库性能优化、安全性管理等内容。
一.验证Oracle已经安装完成了,首先得确认程序里有这些个选项,有四个选项:Oracle Installation Products、集成管理工具、配置和移植工具(管理员用得比较多)、应用程序开发。
Oracle也可以形成一种层次性的链接(Directory Manager),对于我们来说用得最多是sqlplus,而OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM),他是微软提出的,在用VB开发时可能要用,对于我们来说不须管。
当启动sqlplus时会提示输入用户名和口令,所谓的sqlplus是Oracle的一个客户端。
Oracle大多数命令都用命令来实现,所以比较难使,就如同unix比windows难使。
口令你输入tiger,建议就用它,因为以后去企业里Oracle 9i就是用的这个口令。
当你看到SQL>命令符时说明已经进入到了Oracle的命令行了。
图形版的sqlplus,命令行的sqlplus,还有一个就是通过网页访问Oracle的服务,启动sqlplus,端口号是5560,URL是http://127.0.0.1:5560/isqlplus。
isqlplus非常有用,比如说你的机器上没有装上Oracle,就可以通过键入别人的IP,然后登陆到他的机器上来做实验,当然也可以安装特定的客户端软件实现。
说实在的Oracle的这个客户端太难看了,并且要记好多好多的命令,所以专门有一类公司专门为Oracle开发客户端。
有一个比较著名的客户端叫Toad,当然Oracle还有一个客户端PL/SQL Develplor,这个用的也非常多。
数据库管理时常用T oad(英文蛤蟆的意思),如果有声卡的话,你启动一次它就叫一次。
对我们来说sqlplus足够使了。
以后有机会我使用一下PL/SQL Develplor,不过这个也不好使,因为你同时必须装上Oracle,还不如isqlplus 好呢。
以超级管理员身份链接数据库的方法是再命令行下敲入命令:sqlplus sys/口令as sysdba。
Sys和system的区别是sys是数据库管理者,system是数据库所有者,sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户,system用户拥有dba,sysdba等角色或系统权限,system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,这一点类似Linux里面的sudo 的感觉,从登录信息里面我们可以看出来。
sys用户必须以as sysdba或as sysoper形式登录。
然后输入命令alter user scott account unlock;它的意思是将Scott用户解锁,以后关于dba 的用到一个学一个,没必要从头到尾的去学它。
二.SQL语言是在数据库下进行操作的语言,它本身是一个标准语言,有国际标准。
有两套一个是SQL1992,SQL1999。
大多数数据库既支持旧的标准也支持新的,很多也是用的旧的SQL语言写程序的,对于我们来说新旧都要学,而且对大多数数据库系统来说都是通用的,只不过不同数据库有一个轻微的改变,这就是最郁闷的地方,没办法到时候查手册或google一下。
SQL全称为Structured Query Language,即机构化查询语言,它被定义为第四代语言。
为什么叫第四代语言,因为我们知道第三代语言也得有if else for 等这些流程控制语句,也就是你得告诉它干什么且怎么干。
第四大只用告诉它我要干什么,不用去控制它怎么干,这样的语言学起来当然十分easy。
我们共有四类语句要学:数据操作语言语句[Data manipulation language,DML],会话控制语句[session control statement],数据定义语言语句[Data definition language,DDL]以及事务控制语句[transaction control statement]。
查询语句只有一句话就是select语句,这是最重要的一条语句。
以后只要遇到相应的select语句一律背过,企业再面试时其他语句一般不会怎么考但这条语句是必考的。
如果考你SQL语句肯定会考这条select语句不是别的。
你跟别人交流的时候,别说我写过几条dml语句,而因详细的说到底是什么语句,比如insert语句、update语句等。
选择的意思是从表里把数据拿出来,展现出来。
听起来似乎挺简单的,但你要从表里拿数据得首先知道有几张表,每张表里有些什么内容。
第一步要做的就是熟悉一下实验用的数据,这些数据Oracle都给自带了,直接用就行了。
首先第一条语句desc emp,描述一下emp这张表,会分别列出所有字段(表头),empno 雇员编号,ename 雇员名字,job 雇员工种,mgr 经理人,hiredate 雇员入职日期,sal 薪水,comm 津贴,奖金,deptno 所属部门编号。
表还有一部分叫类型,也就是相对应字段的类型,这些都是Oracle已经定义好的,我们直接用。
现在先用别人建立好的表,然后再自己建表。
NUMBER指数字,VARCHAR指字符型,Oracle7以前在用,现在常用的是VARCHAR2它支持各种可变字符串,可以更好的表示各国文字,DATE指日期,NUMBER(7,2)指七位数字有两位小数。
desc dept 部门表,它有三个字段DEPTNO 部门编号,DNAME 部门名称,LOC部门所在位置。
Desc salgrade工资等级表,许多公司都实行的是工资等级制,分几级工资,GRADE 工资等级,HISAL该等级最高工资,LOSAL该等级最低工资。
以上简要的介绍了三张表,如果想更详细的了解里面的数据,教大家第一个select语句:seclect * from 表名;。
*表示把表里所有的数据都取出来,分号表示语句结束。
尽量多熟悉各张表之间的关系,以及表内部各字段之间的关系,越熟悉越好。
如果要算纯数据,可以采用dual这张表,它就一条记录,一个字段。
你如果用其他表计算的话会有好多条重复结果,记录。
字段是不能有空格的,如果非要空格可以将整个字段用双引号括起来,这样的话引号里面就可以加上各种各样的字符了。
如果没加引号的话那样做是不对的。
再没有加双引号的时候结果字段名会以大写字母显示出来,但加了双引号就保持住了原来的形式不变。
没有就是null值,即便是0也与空值大不一样。
0是有值但为0,null是没有值。
任何含有空值的表达式最后的结果都是空值。
SQL里面有一个字符串链接符||,它的作用跟Java里的+一样,所有被链接的都会转换为字符串显示出来。
如select ename||sal from emp;它的意思是将结果sal转换为字符串后链接到ename后面。
在任何数据库的SQL语句里面都是用单引号括起来表示一个字符串序列。
如果字符串里本来就有单引号,再解析时就会出错。
可以用两个单引号来代替一个单引号,这样就可以正确显示了。
关键字distinct是指选择不重复的记录,如果修饰多个字段时表示选择该多个字段的组合不重复的显示出来。
where叫过滤条件,它会过滤掉一些记录,等值判断用=,不等值判断注意是<>而不是Java语句里的不等号。
字符串比较是比较字符的ASCII码,挨个比较。
做比较时还可以用关键字between and,注意的是包括边界值的。
and也可把两个过滤条件连接起来。
下面来讲空值的处理,你可以直接用where +字段+is null来取出是空值的,取出不是空值的多加一个not就行。
这种处理方式非常像我们的说话习惯。
in然后跟着某个字段的取值是括号括起来各值之间用逗号隔开。
可以使用and、or,not连接起各个查询条件。
日期处理起来稍微麻烦一些,由于现在还没有学日期函数,所以采用另外一种方式—一个特殊的字符串。
你就按它的日期写法来写如‘20-2月-07’,然后系统就按照字符串来比较即可。
年份可以写全如‘20-2月-2007’,它能认出来。
以后我们可以写成任何形式的日期格式都能处理。
模糊查询是这样的,比如找出名字里含有al的,有点像正则表达式。
使用关键字like,可以通配符%,代表0个或多个字符,_代表一个字母。
如果名字里就含有一个%,则使用转义字符\%的形式,当然可以自己指定转义字符方法是select * from emp where ename like'_A$%%' escape '$';。
排序用到的一个关键字是order by,默认的是按升序排列,如果想降序排列可以采用如下形式:select * from dept order by deptno desc;desc是降序的英文缩写。
升序排列可不写也可加上asc。
还可以加入where先过滤了再排序,按照几个字段进行排序时,用逗号分隔开,如下:select ename ,job,empno,sal ,deptno from emp order by deptno,sal desc;意思是先将表按照deptno升序排列,然后相同的deptno内部再按照sal降序排列。
三.SQL函数,函数就是Java里的方法,有参数有返回值。
现在讲的是单行函数,第一个叫做lower,作用是转换为小写;第二个叫upper,作用是转为大写;第三个叫substring,取子串。
这几个函数都是对字符串进行操作的,传递进去的参数就是字段名。
如select lower(ename) from emp;还有一个函数叫chr,它是把一个数字转为字符:select chr(86) from dual;将86代表的字符显示出来,与之对应的是将一个字符转为对应的ASCII码,叫ascii,如:select ascii(‘A’) from dual;就是将A的码值显示出来。
round函数是四舍五入的作用,如select round(43.535435) from dual;结果就为44。
还有一个重载的带两个参数的方法如select round(43.535435,4) from dual;四舍五入到小数点后4位,结果位44.5354,第二个参数可以是负数表示四舍五入到小数点前多少位。
其他函数可以不用记住,但要知道有这么个函数,然后取手册中可以查到,但下面讲的一个函数最好记住它。
to_char是将字段内容显示为字符,可以对显示的形式进行格式控制,比如select to_char(sal, '$99,999,999.9999') from emp;就是以后面给定字符形式显示出来,小数点后的四位会强制显示,而前面的没有的位数就不显示,这就是9的含义。