Oracle基本操作总结
- 格式:docx
- 大小:34.09 KB
- 文档页数:15
oracle基础知识总结Oracle是一种关系型数据库管理系统(RDBMS),常用于企业级应用程序的开发和部署。
它具有强大的数据存储和管理能力,以及高度可靠和安全的特性。
以下是对Oracle基础知识的总结。
1. Oracle架构:Oracle数据库由多个组件构成,包括实例、进程、内存结构和物理存储结构。
实例是数据库运行的一个副本,它由后台进程和共享内存所组成。
进程是用来执行具体任务的实例的子进程。
内存结构包括SGA(System Global Area)和PGA(Process Global Area),用于存储数据和共享信息。
物理存储结构包括数据文件、控制文件和重做日志文件。
2. 数据库对象:数据库对象是存储在数据库中的数据或程序的结构。
常见的数据库对象包括表、视图、索引、序列和存储过程。
表是存储数据的基本单位,由列和行组成。
视图是基于一个或多个表的查询结果的虚拟表。
索引是提高查询性能的数据结构,基于某一列或多列的值创建。
序列是用于产生唯一序号的对象。
存储过程是存储在数据库中的一组SQL语句。
3. SQL语言:SQL(Structured Query Language)是用于操作数据库的标准语言。
它包括数据定义语言(DDL)、数据操作语言(DML)和数据控制语言(DCL)。
DDL用于创建、修改和删除数据库对象,如CREATE TABLE、ALTERTABLE和DROP TABLE。
DML用于查询和操作数据,如SELECT、INSERT、UPDATE和DELETE。
DCL用于控制数据库访问权限,如GRANT和REVOKE。
4. 数据类型:Oracle支持多种数据类型,包括字符型、数值型、日期型、布尔型和大型对象型。
常见的字符型数据类型包括CHAR和VARCHAR2,用于存储字符数据。
数值型数据类型包括NUMBER、INTEGER和FLOAT,用于存储数值数据。
日期型数据类型包括DATE和TIMESTAMP,用于存储日期和时间数据。
超详细oracle教程菜鸟入门手册1. 什么是Oracle数据库Oracle数据库是全球领先的关系型数据库管理系统之一,被广泛应用于数据存储、数据处理和数据分析领域。
Oracle数据库可以在多种操作系统上运行,包括Windows、Linux、UNIX等。
Oracle数据库提供了丰富的功能和工具,支持高并发、高可用、高安全的数据存储和处理。
2. Oracle数据库的安装## 2.1 下载Oracle数据库安装包在Oracle官网下载对应版本的Oracle数据库安装包,根据操作系统选择对应的版本。
## 2.2 安装Oracle数据库双击安装包,按照提示进行安装。
需要注意的是,在安装过程中需要设置管理员账号和密码,以及数据库实例名称等信息。
## 2.3 配置Oracle数据库安装完成后,需要进行一些配置工作,包括设置环境变量、创建监听器等。
具体步骤可以参考Oracle官方文档。
3. Oracle数据库的基本操作## 3.1 登录Oracle数据库使用SQL*Plus或其他数据库管理工具登录Oracle数据库,输入管理员账号和密码即可。
## 3.2 创建表使用CREATE TABLE语句创建表,指定表名、字段名、数据类型等信息。
## 3.3 插入数据使用INSERT INTO语句插入数据,指定表名和插入的数据内容。
## 3.4 查询数据使用SELECT语句查询数据,可以指定查询条件、排序方式等。
## 3.5 更新数据使用UPDATE语句更新数据,可以指定更新条件和更新的数据内容。
## 3.6 删除数据使用DELETE语句删除数据,可以指定删除条件。
4. Oracle数据库的高级功能## 4.1 数据库备份和恢复Oracle数据库支持多种备份和恢复方式,包括数据文件备份、在线备份、冷备份等。
在数据库出现故障或数据丢失的情况下,可以通过备份文件进行恢复。
## 4.2 数据库性能优化Oracle数据库提供了多种性能优化工具,包括AWR报告、SQL调优等。
oracle数据库菜鸟教程Oracle数据库是一种关系型数据库管理系统,被广泛应用于企业级数据管理和处理领域。
对于初学者而言,了解Oracle数据库以及如何使用它可能会感到有些困惑。
因此,本文将为初学者提供一个简明扼要的Oracle数据库菜鸟教程,旨在帮助他们快速入门。
第一部分:Oracle数据库概述首先,让我们来了解一下Oracle数据库的基本概念。
Oracle数据库是一种关系数据库管理系统(RDBMS),它基于集中式数据模型,其中数据存储在多个表中,并通过关系连接进行检索和操作。
Oracle数据库具有高度的可扩展性、可靠性和安全性,并可适用于各种规模的应用程序。
Oracle数据库使用结构化查询语言(SQL)作为其主要查询和操纵语言。
SQL是一种标准化的语言,用于在关系数据库中完成各种操作,包括数据检索、插入、更新和删除。
Oracle数据库还提供了一个图形用户界面(GUI)工具,称为Oracle SQL开发人员。
该工具可用于编写、执行SQL语句以及管理数据库对象,如表、视图、索引等。
第二部分:Oracle数据库安装和配置在使用Oracle数据库之前,首先需要安装和配置它。
下面是一些简单的步骤,可以帮助您完成这个过程:1. 下载Oracle数据库软件:您可以从Oracle官方网站上下载适合您操作系统的Oracle数据库软件。
2. 安装Oracle数据库软件:打开下载的软件包,并按照向导中的说明进行安装。
在安装过程中,您需要选择一些配置选项,如数据库实例名称、监听器端口等。
3. 创建Oracle数据库实例:在安装完成后,您需要创建一个数据库实例来存储和管理您的数据。
通过运行配置助手或使用命令行实用程序可以进行此操作。
4. 配置网络连接:如果您希望从远程计算机连接到Oracle数据库,需要配置网络连接设置。
这包括设置监听器以侦听来自客户端的连接请求。
5. 测试连接:最后,您可以使用Oracle SQL开发人员或其他SQL客户端工具来测试您的数据库连接是否正常工作。
系统权限在doc命令中启动Oracle(注意下文中<>为不存在只是为了标识)其中的一些权限为系统权限(都是用超级管理员授予的)1:启动SQL*PLUS:在相应盘符下输入:sqlplus / as sysdba;<默认的用户是SYS>2:启动监听器在相应盘符下输入:lsnrctl start(我的电脑默认在D盘下)3:启动实例在相应盘符下输入:oradim -starup -sid sjbitdb(我的电脑默认在D盘下)4:展示当前用户名在SQL语句中输入:show user;5:创建用户在SQL语句中输入:create user <用户名> identified by <用户密码> ;6:为用户创建会话权限在SQL语句中输入:grant create session to <用户名>;7:使用用户登录在相应盘符下语句中输入:sqlplus <用户名>/<密码> 注意后面没有分号。
8:为用户创建表权限在SQL语句中输入:grant create table to <用户名>;9:为用户创建表空间权限在SQL语句中输入:grant unlimited tablespace to <用户名>;(unlimited是没有任何限制的意思)10:创建表在SQL语句中输入:create table <表名称> (<列名> <数据类型>);(举例)11:向表中插入数据在SQL语句中输入:insert into <表名称> values(<值>);(举例)12:查询表中的数据在SQL语句中输入:select * form <表名称>;13:删除表在SQL语句中输入:drop table <表名称>;14:撤销用户的会话权限在SQL语句中输入:revoke create session fr om <用户名>;15:撤销用户的创建表权限在SQL语句中输入:revoke create table from <用户名>;16:撤销用户的创建表空间权限在SQL语句中输入:revoke unlimited tablespace from <用户名>;17:查询当前用户拥有哪些系统权限在SQL语句中输入:select * from user_sys_privs;(实际上展示的是一个视图) 18:删除用户:在SQL语句中输入:drop user <用户名>;19:把某个系统权限权限授权给所有用户:在SQL语句中输入:grant (create session<会话权限也就是允许某管理员登录的权限>) 、(create table<创建表权限>)、(unlimited tablespace<创建表空间权限>) 、(create any table<创建任意表权限>) to public;对象权限简单来说超级管理员拥有的权限叫做系统权限,普通用户拥有的权限叫做对象权限。
OracleDDL语句及基本操作DDL语句create、alter、drop、truncate数据定义 (DDL) 部分⼀、create语句基本语法:CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)常⽤的字段类型有CHAR 固定长度的字符串VARCHAR2 可变长度的字符串NUMBER (M,N) 数字型M是位数总长度, N是⼩数的长度DATE ⽇期类型INT 整数型创建表时要把较⼩的不为空的字段放在前⾯, 可能为空的字段放在后⾯,创建表时可以⽤中⽂的字段名, 但最好还是⽤英⽂的字段名,创建表时可以给字段加上默认值, 例如 DEFAULT SYSDATE这样每次插⼊和修改时, 不⽤程序操作这个字段都能得到动作的时间创建表时可以给字段加上约束条件例如:不允许重复 UNIQUE , 主键 PRIMARY KEY ,外键Foreign key⼆、alter语句语法 ALTER (改变表, 索引, 视图等)1.改变表名ALTER TABLE 表名1 TO 表名2;2.增加字段ALTER TABLE表名 ADD 字段名(列)字段名描述;增加⼀列ALTER TABLE table_name ADD column_1 DATE NOT NULL;ALTER TABLE table_name ADD column_2 VARCHAR2(44) DEFAULT '';ALTER TABLE table_name ADD column_3 number(28,10);增加多列ALTER TABLE table_nameADD (column_1 type constraint,--列名类型约束column_2 type constraint,...);3.删除字段删除⼀列ALTER TABLE table_name DROP COLUMN column_name;删除多列ALTER TABLE table_name DROP (column_1,column_2,...);4.修改表⾥字段的定义描述ALTER TABLE表名 MODIFY 字段名字段名描述;5.给表⾥的字段加上约束条件ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名);5.把表放在或取出数据库的内存区ALTER TABLE 表名 CACHE;ALTER TABLE 表名 NOCACHE;三、drop语句基本语法:DROP (删除表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)删除表和它所有的约束条件DROP TABLE 表名 CASCADE CONSTRAINTS四、 TRUNCATE (清空表⾥的所有记录, 保留表的结构)TRUNCATE 表名;。
固定资产模块客户化开发总结一、基本数据库结构和基本功能操作2、最常用的表及表之间的关系:(1)FA_ADDITIONS_B:主键: ASSET_ID, ASSET_NUMBER, TAG_NUMBER;通常都是使用ASSET_ID与其他表进行关联的;主要信息: 资产编号(ASSET_NUMBER)、类别(ASSET_CATEGORY_ID)、Asset(2)FA_BOOKS:主键: TRANSACTION_HEADER_ID_IN;一个帐簿BOOK_TYPE_CODE下的一个资产ASSET_ID可能对应多条记录,但是只有一条是有效的(DATE_EFFECTIVE和DATE_INEFFECTIVE,注意:不同有效期的帐簿信息在有效期首尾时间点是重合的,此处有点迷惑不知道系统为什么这么做,在程序中取数时要考虑清楚);一般业务一个资产只在一个帐簿下;主要信息: 所属帐簿(BOOK_TYPE_CODE)、原始成本(ORIGINAL_COST)、现值(COST)、残值(SALVAGE_VALUE)、启用时间(DATE_PLACED_IN_SERVICE)和按比例分摊日期(3)FA_DISTRIBUTION_HISTORY:主键: DISTRIBUTION_ID;一个帐簿BOOK_TYPE_CODE下的一个资产ASSET_ID可能对应多条分配行;当一条资产不能分配给两个以上的分配行时:只有一条分配行信息是有效的(DATE_EFFECTIVE和DATE_INEFFECTIVE,注意:不同有效期的分配行信息在有效期首尾时间点是重合的,此处存在同上一样的迷惑);当一条资产可以分配给两个以上的分配行时:一个帐簿下的一个资产可能同时有两个有效的分配行,在取数时将会变得复杂,尤其是按照分配行信息来统计数据时,目前还没有深入了解;主要信息: 数量(UNITS_ASSIGNED)、科目(CODE_COMBINATION_ID)、地点(4)FA_TRANSACTION_HEADERS:主键: TRANSACTION_HEADER_ID;一个帐簿BOOK_TYPE_CODE下的一个资产ASSET_ID会有多条事务处理信息;当一个资产发生转移、报废、调整或者新增资产时,都会产生一笔或多笔事务处理;事务处理的发生时间是DATE_EFFECTIVE;根据发生时间所在的该帐簿的哪个资产会计期间中来判断是哪个会计期间发生的事务处理;主要信息: 事务处理类型(TRANSACTION_TYPE_CODE)、发生时间(DATE_EFFECTIVE)等;(5)FA_DEPRN_DETAIL:主键: DISTRIBUTION_ID、BOOK_TYPE_CODE、PERIOD_COUNTER;一个帐簿BOOK_TYPE_CODE下的一个资产ASSET_ID在同一个资产会计期间同一个分配行上只有一笔折旧;当资产发生转移时,资产的折旧费用发生的分配行相应的对应到新的分配行上;当资产发生完全报废时,在报废当月依然提折旧,下月开始将不再提折旧;部分报废时只是折旧费用按报废比例减少而已;主要信息: 折旧运行时间(DEPRN_RUN_DATE)、折旧金额(DEPRN_AMOUNT)、年累计(6)FA_RETIREMENTS:主键: RETIREMENT_ID;TRANSACTION_HEADER_ID_IN;一个帐簿BOOK_TYPE_CODE下的一个资产ASSET_ID可能对应于多笔报废,有可能是完全报废或者部分报废;DATE_EFFECTIVE标志了报废的先后顺序,这个和事务处理记录中的DATE_EFFECTIVE是一致的,也可以用来判断所在的分配行是哪个、在哪个会计期间以及对应的是那笔帐簿信息;主要信息: 报废价值(COST_RETIRED)、报废状态(FR.STATUS)、报废类型(73、基本功能操作:(1)新增资产:新增资产有两种方法,一是从应付发票导入,二是手工新增;从应付发票导入:先在应付模块中运行请求生成Mass Additions的数据,然后在FA的Mass Additions菜单中进行资产的增加操作;手工增加资产:可以在资产工作台的查询界面或者查询结果界面点“新增”按钮或者“快速增加”按钮来增加资产;也可以使用SQL*LOADER和接口程序将资产信息导入到表FA_MASS_ADDITIONS中,然后在FA的Mass Additions菜单中类似应付发票导入的操作来新增资产;(2)修改资产基本信息:资产工作台-> 查询-> 打开,如下图界面中的所示,这里就可以修改资产的基本信息了;这里的修改只是更新了表FA_ADDITIONS_B和FA_ADDITIONS_TL的数据;(3)修改资产的帐簿信息:资产工作台-> 查询-> 帐簿-> 选择帐簿,鼠标点到Depreciation中或者Method中,如下页图界面所示,这样就可以修改资产的帐簿信息了;其中包括了对现值的调整、残值的调整、启用日期和按比例分摊方法的更改以及折旧方法等的修改;这里的没一个更改都会产生一笔事务处理,也就是说这里的每一次修改操作,除了在表FA_BOOKS中增加一笔记录以外,还会在表FA_TRANSACTION_HEADERS生成一笔记录;而且FA_BOOKS表中的记录的TRANSACTION_HEADER_ID_IN等于FA_TRANSACTION_HEADERS表中记录的TRANSACTION_HEADER_ID;而修改之前的帐簿信息的记录会被设置DATE_INEFFECTIVE值以使之失效;修改完成后,对应于修改时所选择的那个帐簿,所修改的资产的最新的帐簿信息就是修改后的信息;可以使用FA_BOOKS中的DATE_EFFECTIVE和DATE_INEFFECTIVE字段来区分新旧帐簿信息;(4)修改资产来源行:资产工作台-> 查询-> 来源行,如下图界面所示,这样就可以修改资产的来源行信息了;其中包括了发票编号、描述、供应商、采购订单号等的修改;也可以新增发票行;这里的操作将新增或者修改表FA_ASSET_INVOICES中的记录,该表与表FA_ADDITIONS_B使用ASSET_ID关联(多对一);(5)修改资产的分配行信息:资产工作台-> 查询-> 分配,如下图界面所示,这样就可以修改资产的分配行信息了;其中包括了数量、人员、科目和地点信息,修改时,在已有一个分配行上填写一个负的数量,然后新增一个分配行填写一个正的数量以及要修改的人员,科目和地点信息,然后保存即可;这里的操作将涉及表FA_DISTRIBUTION_HISTORY和表FA_TRANSACTION_HEADERS,两个表都会新增一条记录;表FA_DISTRIBUTION_HISTORY中的TRANSACTION_HEADER_ID_IN等于FA_TRANSACTION_HEADERS表的TRANSACTION_HEADER_ID;除了新增记录外,系统还会去修改原来的分配行信息:如果是数量全部转移,那么将会更新原来的分配行信息的TRANSACTION_HEADER_ID_OUT字段更新为新增记录的TRANSACTION_HEADER_ID_IN的值,并设置DATE_INEFFECTIVE以便标志这个分配行的有效期;如果数量部分转移,会使得同时有两条有效的分配行,此处暂且不考虑;修改完成后,再次进入分配界面时显示的已经时最新的分配行信息了,可以使用DATE_EFFECTIVE和DATE_INEFFECTIVE字段来区分新旧分配行信息以及标志每个分配行信息的有效期;(6)报废资产:资产工作台-> 查询-> 报废,如下页图界面所示,在这里可以进行资产的报废操作;输入帐簿、报废日期以及Comments,然后填写报废的信息,存盘后就完成了一笔报废;其中可以填写的信息有报废数量、报废类型、报废金额、报废方法以及一些卖出信息;如果报废金额等于现值那么是完全报废,否则为部分报废;这个操作牵涉的表有FA_RETIREMENTS和FA_TRANSACTION_HEADERS,当发生一笔报废时,会在表FA_RETIREMENTS中新增一条记录,在FA_TRANSACTION_HEADERS中新增一条或者多条记录(何时产生一条记录何时产产生多条记录还未完全明了,初步确定和该报废是金额减少或者数量减少有关);表FA_RETIREMENTS的TRANSACTION_HEADER_ID_IN和表FA_TRANSACTION_HEADERS的TRANSACTION_HEADER_ID关联;两个表的新增记录的DATE_EFFECTIVE是相同的;另外,该界面可以做报废的取消的操作,通过按钮“恢复”或“取消报废”来实现(关于这个内容不是很确定);注意:当报废了之后马上进行取消操作时(此时按钮叫“取消报废”),那么两个表中都不会产生新记录(之前创建的记录会被删除);如果报废之后有计算损益(菜单Depreciation中Calculate Gains and Losses),再去取消报废(此时按钮叫“恢复”),那么将在表FA_TRANSACTION_HEADERS中再多增加一条取消报废的事务处理,而表FA_RETIREMENTS原来增加的报废记录的报废金额将被更新为0;取消报废时要先把原来的报废记录查询出来才能操作;报废和取消报废的操作都将直接影响资产的折旧的计提以及原值和净值,想查询一条资产的所有报废信息,可以在这个界面用菜单上的查找所有来实现,或者使用F11和Ctrl+F11实现;(7)查询资产的财务信息:查询-> 财务信息,在这里可以查询到一个资产的所有的财务信息包括帐簿信息,分配信息,来源信息,事务处理信息,折旧信息和成本变更信息;此界面只提供查询功能,不能做任何更新、插入和删除操作;(8)历史事务处理查询:查询-> 事务处理历史,在这里可以查询某资产的所有事务处理信息,包括资产的新增、帐簿信息的变更、分配行的变更、报废等;此处可以查看会计科目信息(菜单Tools-> View Accounting);(9)运行折旧:折旧-> 运行折旧,在这里运行当前资产会计期间的某个帐簿的折旧,选择帐簿后,期间自动带出,可以选择是否关闭该帐簿的当前资产会计期间,注:只能运行某个帐簿当前的会计期间的折旧;(10)回滚折旧:折旧-> 回滚折旧,在这里将提交一个请求以回滚某帐簿的折旧,回滚的折旧是该帐簿的当前的期间的;(11)创建日记帐:日记帐-> 标准,在这里将提交一个请求以创建日记帐到总帐,可以选择要创建的帐簿和期间;(12)其他操作还有待实践;4、附件:参考下面的资产的Trace文件:AssetTrance.sql。
oracle 命令操作内容包括三大项:1.oracle基本操作语句2.SQLServer基本操作语句3.各种数据库连接方法**************************************************oracle基本操作语句********************************************************打开服务器net start oracleservicebinbo打开监听器lsnrctl start关闭服务器net stop oracleservicebinbo关闭监听器lsnrctl stop======================================================== =======清屏clear screen****************************************************************数据字典===========desc user_views(关键词)****************************************************************======================================================== =======查看当前用户的角色SQL>select * from user_role_privs;======================================================== =======查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;======================================================== =======查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;======================================================== =======换用户conn as sysdbasystsinghuasqlplus "sys/tsinghua as sysdba"conn sys/zl as sysdba======================================================== =======修改表结构alter table test modify(name not null);alter table test add(name varchar2(20));alter table test drop column sex;alter table test set unused column sex;alter table test drop unused columns;======================================================== =======更改用户密码sql>alter user 管理员identified by 密码;======================================================== =======创建表空间的数据文件sql>create tablespace test datafile 'd:oraclebinbo.dbf' size 10m;======================================================== =======创建用户sql>create user 用户名identified by 用户名;======================================================== =======bfile类型实例创建目录create directory tnpdir as 'c:';删除目录drop directory tnpdir授权grant read on directory tn pdir to scott;建表create table bfiletest(id number(3), fname bfile);添加数据insert into bfiletest values(1,bfilename('TMPDIR','tmptest.java'));======================================================== =======查看用户sql>show user======================================================== =======检查语句是否有错show error======================================================== =======锁定用户sql>alter user 用户名account lock======================================================== =======解除用户sql>alter user 用户名account unlock======================================================== =======删除用户sql>drop user zl;======================================================== =======给用户创建表权限sql>grant create table to 用户名;======================================================== =======授管理员权限sql>grant dba to 用户名;======================================================== =======给用户登录权限sql>grant connect to 用户名======================================================== =======给用户无限表空间权限sql>grant unlinmited tablespace to 用户名;======================================================== =======收回权限sql>revoke dba from 用户名;======================================================== =======查看用户下所有的表SQL>select * from user_tables;======================================================== =======查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere instr(object_name,'LOG')>0;======================================================== =======查看某表的创建时间SQL>select object_name,created from user_objects whereobject_name=upper('&table_name');======================================================== =======查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&table_name');======================================================== =======查看放在ORACLE的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;======================================================== =======再添加一个表空间的数据文件sql>alter tablespace test add datafile 'd:oracletest1.dbf' size 10m;======================================================== =======建表 SQL>create table studen(stuno int,stuname varchar(8) not null,stubirth date default to_date('1987-5-9','YYYY-MM-DD'));向表结构中加入一列 SQL>alter table studen add(stuphoto varchar(9));从表结构中删除一列 SQL>alter table studen drop column stuphoto;修改表一列的长度 SQL>alter table studen modify(stuno number(4));隐藏将要删除的一列 SQL>alter table studen set unused column stuphoto;删除隐藏的列 SQL>alter table studen drop unused columns;向表中加入约束 SQL>alter table studen add constraint pk primary key(stuno);删除约束 SQL>alter table studen drop constraint pk;======================================================== =======创建表sql>create table 用户名(name varchar2(20),password varchar(20)) tablespace 空间名;======================================================== =======添加字段sql>alter table test add(column_x char(10) not null);======================================================== =======更改字段sql>alter table emp modify(column_x char (20));======================================================== =======删除字段如待删除域属于某个索引,则不允许删除操作,必须将此域先设置为NULL。
1.在对oracle数据操作之前,需要了解oracle的类型,oracle的常用类型有:2.登录创建好的用户,然后在表空间中建立表,以userinfo表为例:--创建表create table userinfo(id number(6,0),usernam varchar2(20),userpwd varchar2(20),email varchar2(30),regdate date);表建立成功之后,查看是否建表成功,有很多方法,列举我常用的两个方法:方法一:在控制台输入desc userinfo 回车, 可以成功查询出新建表字段的类型方法二:使用图形化工具直接查询表select * from userinfo;3.添加字段alter table table_nameadd column_name datatype;table_name是表名称, column_name是列名称, datatype是数据类型eg:添加一个字段remark字段,是varchar2类型,长度为100alter table userinfoadd remarks varchar2(100);查看表结构:给字段添加注释comment on column 表.列 is '列注释';eg:comment on column new_uesrinfo.remarks is '注释';在plsql上面的运行结果:4.修改表字段名称和表名--给字段改名alter table table_namerename column column_name To new_column_name; --修改表的名字rename table_name to new_table_name;5.删除字段alter table table_namedrop column column_name;6.更改字段长度,类型eg:修改remarks字段修改字段的长度alter table userinfomodify remarks varchar2(150);eg:修改字段类型a.如果表中没有数据alter table 表名 modify(字段名1 类型,字段名2 类型,字段名3 类型.....)b.如果表中有数据(分为四步)--修改原字段名ALTER TABLE 表名 RENAME COLUMN 字段名A TO 字段名B;--添加一个和原字段同名的字段"字段名A",添加的字段ALTER TABLE 表名 ADD 字段名目标类型;--将"字段名B"的数据更新到新建字段"字段名A"中UPDATE 表名 SET 字段名A = TIRM(字段名B);--更新完成后,删除原备份字段"字段名B"ALTER TABLE 表名 DROP COLUMN 字段名Beg:例如将上表的remarks字段修改为number(32,2)alter table userinfo rename column remarks to remarks_tmp;alter table userinfo add remarks number(32,2);update userinfo set remarks = trim(remarks_tmp);alter table userinfo drop column remarks_tmp;7.删除数据,删除表--删除表数据truncate table table_name;delete from table_name这里truncate和delete的区别是,truncate是截断了表,它的效率比delete要快--删除表的结构drop table table_name;。
oracle基本操作Oracle是一种关系数据库管理系统,它是世界上最受欢迎的企业级数据库。
它被各种企业广泛使用,它的功能非常强大,包括数据安全、访问控制、事务处理、性能优化、数据备份和恢复等。
本文将介绍Oracle的基本操作,包括如何创建、修改和删除表,如何插入、更新和删除数据,以及如何查询和导出数据。
这些操作对于初学者来说非常重要,也是使用Oracle的基础。
1.创建表格在Oracle中,创建表的语法如下:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是要创建的表的名称,column1、column2等是列名,datatype是列的数据类型。
例如,创建一个名为“employees”的表格,并添加列“id”、“name”和“salary”,则可以使用以下命令:CREATE TABLE employees ( id NUMBER(4) NOT NULL, name VARCHAR2(15) NOT NULL, salary NUMBER(7,2), PRIMARY KEY (id) );注意,id和name列设置为NOT NULL,这表示这两列不能为空。
salary列的数据类型为NUMBER,并设置了精度和小数位数。
2.修改表格如果需要修改表格,可以使用ALTER TABLE命令。
例如,如果想向employees表格添加新的列“address”,可以使用以下命令:ALTER TABLE employees ADD address VARCHAR2(50);如果需要删除表格中的列,可以使用以下命令:ALTER TABLE employees DROP COLUMN address;3.删除表格如果需要删除一个表格,可以使用以下命令:DROP TABLE table_name;例如,删除名为“employees”的表格:DROP TABLE employees;如果不小心使用了错误的命令或者删除的表格不是自己想要的,则可以使用RECOVER命令来找回删除的表格。
oracle中文使用手册Oracle是一款功能强大的关系型数据库管理系统,广泛应用于企业数据管理和应用开发领域。
本手册将详细介绍Oracle数据库的基本概念、常用命令和操作方法,以帮助初学者快速上手和熟练使用Oracle。
1. Oracle简介Oracle是美国Oracle公司开发的一种关系型数据库管理系统。
它是目前企业级应用系统首选的数据库产品之一,被广泛应用于各个行业的数据管理和应用开发中。
Oracle具有可靠性高、性能优异、安全性强等特点,成为大型企业数据处理的首选。
2. 安装与配置在开始使用Oracle之前,首先需要进行安装和配置。
可以从Oracle官方网站下载安装程序,根据提示进行安装。
安装完成后,需要进行一些基本的配置,如创建数据库实例、设置监听器等。
详细的安装和配置过程可以参考Oracle官方提供的文档或手册。
3. 数据库连接与登录使用Oracle数据库前,需要先进行数据库连接和登录。
可以使用SQL*Plus命令行工具或Oracle SQL Developer等图形化界面工具来进行连接和登录。
在连接时需要提供数据库的主机名、端口号和SID等信息,以及合法的用户名和密码。
连接成功后,即可开始对数据库进行操作。
4. SQL基本操作SQL是结构化查询语言,用于在关系型数据库中进行数据的增删改查等操作。
下面介绍一些常用的SQL命令:- 创建表: 使用CREATE TABLE语句可以创建数据表,并指定表的字段、数据类型、约束等信息。
- 插入数据: 使用INSERT INTO语句可以向表中插入数据。
- 更新数据: 使用UPDATE语句可以更新表中的数据。
- 删除数据: 使用DELETE FROM语句可以删除表中的数据。
- 查询数据: 使用SELECT语句可以查询表中的数据。
5. 数据库事务和锁机制数据库事务是指对数据库进行的一系列操作,要么全部执行成功,要么全部不执行。
Oracle提供了事务管理机制,可以确保数据库的一致性和完整性。
oracle数据库入门教程Oracle数据库是一种常用的关系型数据库管理系统。
它被广泛用于各种企业级应用程序和互联网应用程序的开发和部署。
本教程将带你入门Oracle数据库,让你了解基本的概念和操作。
1. 什么是Oracle数据库?Oracle数据库是由Oracle Corporation开发并维护的一种关系型数据库管理系统。
它提供了一个可扩展、高性能和安全的数据库解决方案。
2. 安装Oracle数据库首先,你需要从Oracle官方网站下载适合你操作系统的Oracle数据库安装程序。
然后,按照安装向导的指示步骤进行安装。
3. 连接到Oracle数据库安装完成后,你可以使用命令行工具或图形界面工具来连接到Oracle数据库。
命令行工具包括SQL*Plus和SQL Developer,图形界面工具包括Oracle Enterprise Manager和Toad等。
4. 创建数据库实例在连接到Oracle数据库之后,你可以使用CREATE DATABASE语句创建一个新的数据库实例。
你需要指定数据库的名称、文件路径和其他参数。
5. 创建和管理表表是Oracle数据库中存储数据的基本单位。
你可以使用CREATE TABLE语句创建表,并使用INSERT、SELECT、UPDATE和DELETE语句来插入、查询、更新和删除表中的数据。
6. 数据类型Oracle数据库支持多种数据类型,包括字符型、数值型、日期型和大型对象型等。
你需要根据数据的性质选择合适的数据类型。
7. 查询数据查询是Oracle数据库中最常用的操作之一。
你可以使用SELECT语句在表中查询数据。
SELECT语句可以使用条件、排序、分组和连接等特性。
8. 索引和约束索引和约束是用于提高数据库性能和保证数据完整性的重要工具。
你可以使用CREATE INDEX语句创建索引,并使用CREATE TABLE语句添加约束。
9. 数据库备份和恢复数据库备份是防止数据丢失的重要手段。
oracle 19c rac基本操作Oracle 19c RAC基本操作Oracle 19c RAC(Real Application Clusters)是一种高可用性和可伸缩性的数据库解决方案,它允许多个数据库实例在不同的服务器上同时运行,通过共享存储和网络连接实现数据共享和负载均衡。
本文将介绍Oracle 19c RAC的基本操作,以帮助用户更好地理解和应用该技术。
一、安装和配置Oracle 19c RAC集群1. 在所有集群节点上安装Oracle 19c软件,并进行必要的配置。
2. 创建共享存储,如使用ASM(Automatic Storage Management)来管理数据文件和日志文件。
3. 创建网络服务,确保所有节点可以互相通信。
4. 创建集群数据库,指定数据库的名称、文件位置和其他参数。
5. 在每个节点上创建实例,并将它们添加到集群数据库中。
二、管理Oracle 19c RAC集群1. 启动和关闭集群数据库:可以使用SQL*Plus或SQL Developer 等工具连接到集群数据库,并执行"startup"和"shutdown"命令来启动和关闭数据库。
2. 备份和恢复集群数据库:使用RMAN(Recovery Manager)工具来备份和恢复数据库,确保数据的完整性和可恢复性。
3. 扩展和收缩集群数据库:可以根据需要添加或删除节点,以增加或减少集群数据库的容量。
4. 监视和调优集群数据库:使用Oracle Enterprise Manager等监控工具来跟踪数据库的性能,并进行必要的调整以提高性能。
5. 管理用户和权限:创建和管理数据库用户,分配和撤销用户权限,确保数据的安全性和合规性。
6. 处理故障和故障转移:当集群节点或存储设备发生故障时,可以使用Oracle Clusterware来实现自动的故障转移和恢复。
7. 升级和迁移集群数据库:根据需求,可以升级数据库软件版本或迁移数据库到其他服务器或存储设备。
oracle除法运算
摘要:
1.Oracle 简介
2.Oracle 中的除法运算
3.除法运算的注意事项
4.总结
正文:
Oracle 是一款关系型数据库管理系统,广泛应用于各种企业和组织的数据存储和管理。
在Oracle 中,除法运算是一种基本的数学运算,用于执行两个数值之间的除法操作。
在Oracle 中,除法运算可以通过以下语法进行:
```
SELECT field1 / field2 FROM table_name;
```
其中,`field1`和`field2`是要进行除法运算的两个字段,`table_name`是包含这两个字段的表名。
运算结果将作为一个新字段返回,其数据类型与
`field1`和`field2`相同。
在进行除法运算时,需要注意以下几点:
1.除法运算要求两个运算对象必须是数值类型,如整数、浮点数等。
如果两个运算对象不是数值类型,Oracle 将返回一个错误信息。
2.如果`field1`或`field2`为NULL,那么除法运算的结果也将为NULL。
3.在进行除法运算时,可以使用`*`代替`/`,例如:`SELECT field1 * 1 / field2 FROM table_name;`。
总之,Oracle 中的除法运算是数据库操作中非常基本且常用的一种运算。
oracle基本操作命令Oracle是目前最为流行和广泛使用的数据库管理系统之一,它可以帮助企业轻松高效地进行数据管理和分析。
作为一个Oracle数据库管理员或开发人员,了解一些基本操作命令,对于日常工作和维护数据库是非常必要的。
下面我们来简单介绍一些Oracle基本操作命令。
1. 登录数据库Oracle的登录命令为:sqlplus /nolog,它会打开一个sql>的命令行,提示用户输入数据库账号和密码登陆。
2. 创建表格Oracle通过create table命令来创建表格。
它的基本格式为:create table tablename (columnname datatype, columnnamedatatype, …);3. 插入数据通过insert命令可以将数据插入表格中。
格式为:insert into tablename(column1, column2, ...) values(value1, value2, ...);4. 查询数据Oracle的查询语句为select。
例如:select * from tablename,将会显示表格中的所有数据。
5. 更新数据通过update命令可以更新表格中的数据。
格式为:update tablename set column=value where condition;6. 删除数据和表格Oracle的删除语句为delete和drop。
delete用于删除表格中的数据,格式为:delete from tablename where condition;而drop则是直接删除整个表格,格式为:drop table tablename;以上是Oracle基本操作命令的简单介绍。
当然,Oracle还有很多高级功能和操作命令,需要用户自行查找学习。
掌握一些基本操作命令,可以使用户更好的管理和维护Oracle数据库,提高工作效率。
oracle数据操作实验总结本次实验主要通过Oracle软件进行数据库操作,了解数据库的基本原理、数据操作等内容。
通过本次实验,我深刻认识到了数据库的重要性和实用性。
下面是我的实验总结:一、实验目的通过本次实验学习数据库的基本知识和操作方法,掌握Oracle软件的使用方法和SQL 语句的编写,了解数据库的设计、实施和应用,同时培养数据管理和数据分析的能力。
二、实验内容1.数据库的安装和配置安装Oracle软件后,我们需要进行一些必要的设置,如创建系统管理员账户、创建数据库、设置数据库实例等。
2.数据库的设计和建立在Oracle软件上,我们可以通过图形化界面或SQL语句来设计并建立数据库。
在实验中我学习了如何设计和建立数据库以及如何对数据库进行维护和调整。
3.数据的插入、查询、修改和删除数据库主要用于存储数据,数据的插入、查询、修改和删除是数据库操作的核心内容。
在本次实验中,我学习了如何使用SQL语句来进行数据的插入、查询、修改和删除等操作。
4.数据库的备份和恢复备份数据库可以防止数据丢失,恢复可以从已有的备份中恢复数据。
在本次实验中,我学习了如何备份和恢复Oracle数据库。
三、实验心得在数据操作方面,我了解了如何对数据库进行增、删、改、查操作,这些基本操作往往是业务逻辑实现的基础。
在实验中,我们对实验数据进行了增删改查等操作,并通过结果验证了操作是否准确有效。
另外,实验中还涉及了数据库备份与恢复的操作,这给我们防止故障和恢复数据提供了一定的保障。
在工作中,做好数据备份和恢复也是一个数据管理工作中不可忽视的环节。
最后,我认为一个数据库管理员不仅需要熟练掌握数据库操作和处理技术,还需要具备良好的分析能力和沟通技巧,才能做好数据管理和服务工作。
四、实验收获总之,本次实验让我对数据库有了更深入的了解,也为我的学习和工作打下了坚实的基础。
我相信,在今后的学习和工作中,我会不断深化数据库知识,提高数据管理和服务水平,为企业和个人实现更好的数据处理和管理而努力奋斗。
oracle 基本语法Oracle是一种关系数据库管理系统,它使用SQL(Structured Query Language)语言来管理和操作数据。
在使用Oracle时,我们需要掌握一些基本的语法,以便能够有效地操作数据库。
下面将详细介绍Oracle的基本语法。
1. 创建表在Oracle中创建表的语法如下:CREATE TABLE table_name (column1 datatype [ NULL | NOT NULL ],column2 datatype [ NULL | NOT NULL ],...);其中,table_name是要创建的表的名称,column1、column2等是表中的列名,datatype是列的数据类型。
如果一个列允许为空,则可以使用NULL关键字;如果不允许为空,则可以使用NOT NULL关键字。
例如,我们要创建一个名为students的表,包含id、name和age三个字段:CREATE TABLE students (id INT NOT NULL,name VARCHAR(50) NOT NULL,age INT);2. 插入数据向Oracle中插入数据可以使用INSERT INTO语句。
其基本语法如下:INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);其中,table_name是要插入数据的表名称,column1、column2等为要插入数据的列名,value1、value2等为对应列所要插入的值。
例如,在上面创建的students表中插入一条记录:INSERT INTO students (id, name, age)VALUES (1, '张三', 20);3. 查询数据查询数据是Oracle最常用到的操作之一。
一、Oracle Mac基本操作方式简介Oracle是一种功能强大的数据库管理系统,能够在Mac评台上进行操作。
在使用Oracle数据库时,我们需要掌握一些基本的操作方式,以便能够高效地管理数据库,并进行数据的存储、检索和处理。
本文将介绍Oracle在Mac上的基本操作方式,帮助读者更好地了解和使用这一数据库管理系统。
二、安装Oracle Database on Mac1. 下载Oracle Database安装包在Oracle冠方全球信息站上下载适用于Mac评台的Oracle Database安装包。
在下载页面上,我们需要选择适合自己系统版本的安装包进行下载,并确保安装包无损。
2. 安装Oracle Database打开下载好的安装包,按照安装向导逐步进行安装步骤。
安装过程中需要设置管理员账号和密码,以及选择数据库的安装路径和端口等信息。
3. 配置Oracle Database安装完成后,需要进行一些基本的数据库配置,如创建数据库和初始化参数等。
配置完成后,就可以上Oracle Database了。
三、启动和关闭Oracle Database1. 启动Oracle Database在Mac终端输入以下命令来启动Oracle Database: ```sqlplus / as sysdbastartup```2. 关闭Oracle Database同样,在终端输入以下命令来关闭Oracle Database: ```sqlplus / as sysdbashutdown```四、连接到Oracle Database1. 使用SQL*Plus连接在终端输入以下命令来连接到Oracle Database:```sqlplus username/passworddatabase```2. 使用SQL Developer连接在Mac上安装SQL Developer,并通过界面进行连接设置,以便连接到Oracle Database进行操作。
Oracle11g常⽤基本操作命令 这⾥是单实例数据库情况下:1、启动监听 启动监听,即启动1521监听端⼝号:lsnrctl start #启动监听lsnrctl stop #停⽌监听lsnrctl status #查看监听状态 监听端⼝1521修改:# su - oracle$ lsnrctl stop$ echo $ORACLE_HOME$ cd $ORACLE_HOME/network/admin$ vim listener.ora# listener.ora Network Configuration File: /home/data/oracle/product/11.2.0/db_1/network/admin/listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC6666))(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 6666))))ADR_BASE_LISTENER = /home/data/oracle直接在此处修改是不⽣效的,我们还需要修改local_listener参数$ sqlplus / as sysdbaSQL> show parameter local_listener #登录并查看local_listener参数//由于开始的时候使⽤的是默认值,这个时候VALUE这个值应该是空的,这⾥修改local_listener参数SQL> alter system set local_listener="(address = (protocol = tcp)(host = 10.10.16.245)(port = 6666))";SQL> show parameter local_listener #查看local_listener参数$ lsnrctl start #重新启动监听$ netstat -an|grep 6666 #查看状态$ lsnrctl status$ su - root #防⽕墙端⼝开放# /sbin/iptables -I INPUT -p tcp --dport 6666 -j ACCEPT# /etc/rc.d/init.d/iptables save#到此oracle的监听端⼝号就已经由原来的1521变成6666View Code2、启动数据库 启动数据库有两种⽅式,⼀种是登录sqlplus执⾏startup;另⼀种是使⽤dbstart //启动数据库脚本⽤oracle⽤户进⼊# su - oracle$ sqlplus /nolog #运⾏sqlplus命令,进⼊sqlplus环境,nolog参数表⽰不登录;SQL> conn /as sysdba #以管理员模式进⼊SQL > startup; #启动数据库SQL > SHUTDOWN IMMEDIATE #停⽌数据库远程连接数据库sqlplus /nologconn sys/sys@IP:1521/orainstance as sysdba也可以直接运⾏:dbstart //启动数据库脚本dbshut //停⽌数据库脚本3、⽤户管理 创建普通⽤户,权限相关:创建⽤户:SQL> create user "username" identified by "userpasswd" ; #注:后⾯可带表空间删除⽤户:SQL> drop user “username” cascade; #注:cascade 参数是级联删除该⽤户所有对象,经常遇到如⽤户有对象⽽未加此参数则⽤户删不了的问题,所以习惯性的加此参数授权⽤户:SQL> grant connect,resource,dba to "username" ;查看当前⽤户的⾓⾊SQL> select * from user_role_privs;SQL> select * from session_privs;查看当前⽤户的系统权限和表级权限SQL> select * from user_sys_privs;SQL> select * from user_tab_privs;查询⽤户表SQL> select username from dba_users;修改⽤户⼝令SQL> alter user "username" identified by "password";显⽰当前⽤户SQL> show user;4、表和表空间创建表空间SQL> CREATE TABLESPACE data01 DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M;删除表空间SQL> DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;修改表空间⼤⼩SQL> alter database datafile '/path/NADDate05.dbf' resize 100M;增加表空间SQL> ALTER TABLESPACE NEWCCS ADD DATAFILE '/u03/oradata/newccs/newccs04.dbf' SIZE 4896M;查询数据库⽂件SQL> select * from dba_data_files;查询当前存在的表空间SQL> select * from v$tablespace;表空间情况SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;查询表空间剩余空间SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;查看表结构SQL> desc table;修改连接数:要重启数据库SQL> alter system set processes=1000 scope=spfile;SQL> shutdown immediate;SQL> startup;查看⽤户当前连接数SQL> select count(*) from sys.v_$session;5、修改字符集相关 将数据库启动到RESTRICTED模式下做字符集更改:$ sqlplus / as sysdbaSQL> select * from v$nls_parameters; #查看当前系统使⽤的各种字符集SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; #精确查询NLS_CHARACTERSET值SQL> shutdown immediate; #关闭数据库SQL> startup mount #启动实例,可以加载数据库,不运⾏数据库DBA在做⼀些操作的时候不希望有⼈登⼊数据库可以使⽤restrict模式:SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; #开启限制会话模式Oracle job进程,包含协调进程(主进程)以及奴⾪进程(⼦进程),job_queue_processes取值范围为0到1000,总共可创建多少个job进程由job_queue_processes参数来决定。
第一讲:1、使用sqlplus查看系统日志文件v$logfile,对控制文件select * from v$controlfile,数据文件v$datafile还有参数文件。
通过参数文件寻找控制文件。
2、Oracle的内存结构SGA,由数据库高速缓冲区--频繁访问的数据、大的数据共享区、共享池、Redo日志缓冲池、固定的SGA组成。
3、Oracle的逻辑结构,第二讲:1、sqlplus数据库实例的启动和关闭,sqlplus "sys/test1234 as sysdba";startup启动_启动实例,打开控制文件,打开数据文件,archive log list查看是否归档方式。
startup mount不打开数据文件startup nomount连控制文件也不打开。
2、shutdown关闭,很少用。
shutdown immediate ,使每个用户执行完当前sql语句以后关闭。
shutdown abort强制关闭。
3、支持空各行,set sqlbalanklines on;4、用变量查询,where deptno=&tt,tt为变量,每次只能执行一个计划5、list 查看曾经的sql语句。
list 简写L 。
改写错的字母,c/n/m 把n改成m。
删除del 行号。
在缓冲区命令后面连接a from dept。
保存到文件中save 路径。
@路径表示执行。
读取文件内容get 路径。
6、对列操作,col 。
如重命名,col deptno heaiding “编号”,格式化format 999,999,999的形式输出。
7、Ttitle标题和Btitle尾页。
8、很重要的报表制作工具:break,comp;重复的就显示一条,break on pub,在pub中的重复的就显示一条。
统计命令comp count lable“报表”of 字段名9、保存查询出来的结果集:spool语句。
spool 文件路径,然后执行查询,然后spool off。
第三讲:1、sql语言的分类:数据定义DDL有creaet alter drop 数据控制DCL有grant revoke 数据操纵DML有select insert delete update;2、create 讲解:3、授权:grant,grant select on dept to tt,4、收回权限:revoke select on from tt。
5、数据操纵语言:update abc set b = “ttt”6、Oracle中的系统函数的应用,length 查询字符长度,lengthB 查询字节长度。
Ltrim 去掉左边的空格。
Rtrim右边。
trim去掉两边的。
7、可变长度和定长度的区别,定长的要用空格来补充。
8、取子串,substr(字符串,从哪个位置,取几个位);Oracle没有提供左取串,右取串。
9、对日期的操作:select next_day(sysdate,"星期三") from dual。
显示下一个星期三是几号。
10、字符转换:select to_char(sysdate,"yyyy-mm-dd hh:mi:ss");11、字符转换:select to_char(sysdate,"yyyy-mm-dd hh24:mi:ss");24小时制12、字符转换:select to_date('',"yyyy-mm-dd hh:mi:ss");13、字符转换:select to_number('2222');14、聚集函数:sum、avg、max、min、count;聚集函数不能和where结合使用。
15、user,decode,nvl,select user from dual。
select sum(decode(sex,'男',1,0)) 男人数,sum(decode(sex,'女',1,0)) 女人数from e;Boolean型的判断函数decode,是男就加一,是女人就加一。
单独统计男人数和女人数。
16、对空值进行处理nvl,select a1,nvl(a2,"未输入") from e,对a2值为空的就显示未输入。
17、空值的判断未a1 is null 或者a1 is not null。
18、在单独显示一行的数据的时候,里面有重复的数据的话就用distinct,那么重复的就显示一条。
第四讲:1、分组语句,group by。
select id name from emp group by id,name。
select 后面的字段必须在group by 后面出现,group by 后面的字段可以不在select里面显示。
select name from emp group by id,name。
2、聚合语句不能作为where 条件判断。
where sum(price)>30是错的。
这个时候要用到having 语句了,而且having语句必须在group by 的前面。
3、模糊查询like,select * from aa where a1 like 'a_';显示以a为开头的两个位数的字段。
4、模糊查询like,select * from aa where a1 like 'a%';显示以a为开头的任意位数的字段。
5、模糊查询like,select * from aa where a1 like '_a';显示以a为结束的两个位数的字段。
6、模糊查询like,select * from aa where a1 like '%a';显示以a为结束的任意位数的字段。
7、模糊查询like,select * from aa where a1 like '%a%';显示包含a的任意位数的字段。
8、表的连接:有内连接和外连接。
内连接表示将两个表中的匹配的数据都显示出来,其他多出来的没有对应值的将都不显示。
标准写法是from a表join b表on 判断条件是和(from a,b where a.id = b.id)是一样的效果。
9、外连接:有左外连接和右外连接。
左外连接无条件的将左边表中的数据全部显示出来,一般在条件右面加(+)。
右外连接无条件的将右边表中的数据全部显示出来,一般在条件左面加(+)。
10、子查询:无关子查询,相关子查询;无关子查询表示子查询于外部的查询没有必然的联系,select * from emp where id IN (select id from dept);相关子查询表示子查询于外部的查询有必然的联系,select * from emp where id IN或(not in) (select id from dept where id=emp.id and id="3");在子查询中不能出现select * ;11、子查询中是否存在select * from e where exist(select id from d);是否存在,不存在的话一个都不显示。
select * from e where exist或NOT exist(select id from d where id=e.id),在这里,子查询中可以使用select * .12、表连接的查询操作比子查询的查询操作效率高。
13、把两个表的行相结合的显示,select eid,ename from e union select id,dept from d;合并行数据。
14、运算符Intersect 显示两个sql语句中都出现的行。
是Oracle独具的一个运算符其他数据库不见得会兼容。
就是显示两个select 中都存在的。
相当于内连接查询。
15、批量的插入信息,如insert into e(eid,ename) select id,name from d;类型要兼容,Union 是表面的,但这个是物理的。
16、依据已经存在的表格创建一个新的表,create table ttt as (select * from d);创建一个ttt并且把数据拷贝过去。
也是Oracle独具的功能。
第五讲:1、PL/sql的讲解,就可以和前端和后台相结合调用的功能。
结构化查询设计语言。
Oracle的块结构有如下:PL/sql块结构,1 声明declare ... 变量有标准的变量和复合变量又称记录。
必须以字符开头,长度一般不超过30个字符,不区分大小写。
不可以是保留字。
2 开始begin ...3 异常exception ...4 结束end ...2、第一个PL/sql块DECLAREx varchar2(10); 定义变量x varchar2(10):='ABDCS'; 定义变量并赋值BEGINx:= 'this is ..' 给变量赋值DBMS_OUTPUT.PUT_LINE('X的值为:' || x); 打印变量的值,拼接字符串要用||操作符。
Oracle提供了很多和外界交互的包,DBMS_OUTPUT就是其中的一个。
end; 结束/ 执行set serveroutput on size 10000,打开显示的开关。
DBMS_OUTPUT.PUT_LINE('X的值为:' || x);行注释--块注释/* */3、分支语句if 和case(9i之后开始支持的)if ...then ...end if;if 实例:declarea number;b varchar2(10);begina:= 2;if a=1 thenb:='A';elsif a=2 thenb:='B';elseb:='C';end if;DBMS_OUTPUT.PUT_LINE('B的值是:' || b);end/Case 实例:declarea number;b varchar2(10);begina:= 2;casewhen a=1 then b:='A';when a=2 then b:='B';when a=3 then b:='C';elseb:='others'end case;DBMS_OUTPUT.PUT_LINE('B的值是:' || b);end/第六讲:1、循环基本循环Loop while 循环、for 循环。