ORACLE基础入门SQLPLUS与SQL语言篇
第3章sql语言与sqlplus
第3章 SQL语言与SQL*PlusSQL语言是用来管理和操作数据库的一种声明式语言,类似于英语自然语言,目前已经成为管理数据库的国际标准语言。
SQL语言具有简单易学、操作直观的特点,相较之关系型数据库复杂的理论,它提供了一种清晰明了的操作方式。
SQL*Plus是Oracle提供的一种管理数据库的命令行工具,它可以用来编写SQL、PL/SQL代码,在它上面除了可以执行SQL语言外,还可以操作SQL*Plus特有的一些语言,该工具主要被DBA用来维护数据库。
3.1 SQL语言基础SQL语言的全称是Structured Query Language,即结构化查询语言,它是Oracle客户端操作数据库的语言,提供了在高层数据结构上执行数据库的操作,不需要了解关系型数据库原理,比如不用指定数据的存放方式和存放格式,而且目前已经被美国国家标准局ANSI和国际标准化组织制定了SQL标准,这也意味着使用相同的SQL语句,可以在不同的数据库系统上执行操作,而且它简单易懂,目前已经成为管理和操作关系型数据库的标准语言。
3.1.1 SQL、SQL*Plus与Oracle的关系SQL是一门操作数据库的语言,SQL*Plus提供了向服务器端操作SQL语言的工具,而Oracle负责接收到客户端发送过来的工具,在数据库上执行SQL语句,然后发送反馈结果给SQL*Plus客户端。
举个例子,想知道员工史密斯的基本信息,可以打开SQL*Plus,向Oracle服务器发送一条标准的SQL语句,如图3.1所示。
图3.1 在SQL*Plus中查询SQL语句第1篇 Oracle 基础·78·用户首先打开SQL *Plus ,在Windows 平台上,在“运行”菜单中输入cmd 打开命令提示窗口,在该窗口中启动sqlplus.exe 程序,在sqlplus.exe 命令后面添加用户名和密码就可以连接到Oracle 服务器。
Oracle数据库基础及应用第05章SQLPlus命令
显示用户所选择数据的列名,然后在相应的列名下显 示数据,列名之间的空间就是SQL*Plus的一页。
SQL*Plus的一页多大,可以使用命令SHOW PAGESIZE显示SQL*Plus默认的一页的大小。可以通过使 用PAGESIZE命令来改变这个默认值。
• 其中:username指的是连接数据库的用户名, password指的是密码,如果不省略它们,则会直接登 录到SQL*Plus中;如果省略,可以在启动SQL*Plus之 后再输入连接数据库的用户名和密码。
5.1.3退出SQL*P1us
• 用户如果不需要再使用SQL*Plus命令时,想返回到操作系 统,只需在SQL*Plus命令提示符下,输入exit或quit命令, 按Enter键即可。
5.2.1 SET命令选项
• 在Oracle 11g系统中,用户可以使用SET命令来设置 SQL*Plus的运行环境。
• SET命令是SQL*Plus内部命令中最重要、使用频率最高 的命令。
• 使用SET命令的语法格式为:
set sysytem_option value
Set 选项及说明
选项 set autocommit {on|off|immediate} set autoprint{on|off} set autorecovery{on|off}
5.1.2登录数据库命令
• CONNECT命令的作用是连接数据库,若是当前已经有 用户连接了数据库,那么将会中断当前的连接,而使 用该命令指定的用户进行建立新的连接。
• CONNECT命令的语法格式为:
• CONN[ECT] [{<username>/<password> [@<connect_identifier>]/}[as{sysdba/sysoper}]
Oracle PL-SQL语言初级教程
Oracle PL/SQL语言初级教程PL/SQL语言基础PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。
通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。
•Oracle PL/SQL语言基础(1)•Oracle PL/SQL语言基础(2)•Oracle PL/SQL语言基础(3)复合数据类型PL/SQL有两种复合数据结构:记录和集合。
记录由不同的域组成,集合由不同的元素组成。
在本文中我们将讨论记录和集合的类型、怎样定义和使用记录和集合。
•复合数据类型(1)•复合数据类型(2)•复合数据类型(3)•复合数据类型(4)•复合数据类型(5)单行函数和组函数函数是一种有零个或多个参数并且有一个返回值的程序。
在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:单行函数和组函数。
•单行函数和组函数详解(1)•单行函数和组函数详解(2)•单行函数和组函数详解(3)•单行函数和组函数详解(4)•单行函数和组函数详解(5)表和视图Oracle中表是数据存储的基本结构。
Oracle中引入了分区表和对象表,视图是一个或多个表中数据的逻辑表达式。
本文我们将讨论怎样创建和管理简单的表和视图。
•表和视图(1)•表和视图(2)完整性约束完整性约束是一种规则,不占用任何数据库空间。
完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。
用户可以指明约束是启用的还是禁用的,当约束启用时,他增强了数据的完整性,否则,则反之,但约束始终存在于数据字典中。
•完整性约束(1)•完整性约束(2)•完整性约束(3)过程和函数过程和函数都以编译后的形式存放在数据库中,函数可以没有参数也可以有多个参数并有一个返回值。
过程有零个或多个参数,没有返回值。
函数和过程都可以通过参数列表接收或返回零个或多个值,函数和过程的主要区别不在于返回值,而在于他们的调用方式。
第3章 sqlplus基础
3第3 章SQL*PLUS基础SQL*PLUS概述3.1 SQL*PLUS3.1311SQL*PLUS⏹ 3.1.1 什么是SQL*PLUS3.1.2 SQL*PLUS的启动、退出Q3.1.3 常用环境选项3.2 常用SQLPlus命令32SQLPl报令3.3 报表命令⏹使用SQL*PLUS可以很好地生成相关格式化报表3.1 SQL PLUS概述31SQL*PLUS3.1.1 什么是SQL*PLUS⏹Oracle的sql*plus是与oracle进行交互的客户端工具。
⏹在sql*plus中,可以运行sql*plus命令与sql*plus语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,l*l它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存条最近执行的sql语句,我们存区域中,并且只能保存一条最近执行的可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。
除了语句在l*l⏹除了语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。
它们执行完后,不保存在sql buffer的内存区域中,它们般用来对输出的结果进行格式化显示,存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。
⏹10g中的sql*plus增加了很多新特性,使得用起来很方便。
便。
3.1.2SQL*PLUS 3.1.2 SQL PLUS 的启动、退出⏹SQL*Plus 用于运行和跟踪调试SQL 语句和PL/SQL 块,该工具可以在命令行运行,也可以在Windows 窗口环境中运行。
Oracle10g 还提供个在的具供一个在WEB 页面中运行SQLPlus 的工具iSQLPlus 。
(1) 在dos 命令行运行SQLPlus⏹在实例启动时:实⏹SQLPLUS [username]/[password] [@server]⏹username 用户名,password 口令,server 网络服务名。
Oracle SQL语言基础
2.注意事项
(1)删除记录并不能释放Oracle里被占用的数据块表空间。它只把那些 被删除的数据块标成unused。
(2)如果确实要删除一个大表里的全部记录,可以用TRUNCATE语句, 它可以释放占用的数据块表空间,其语句格式为:
TRUNCATE TABLE 表名;
(3)此操作不可回退。
2.4.3 UPDATE语句
2.2.1 SQL语言的主要功能 2.2.2 SQL语言的语法结构
通过SQL语句,程序员或数据库管理员(DBA)可以做如下的 主要工作: (1)建立数据库的表格,包括设置表格所可以使用之空间。 (2)改变数据库系统环境设置。 (3)针对某个数据库或表格,授予用户存取权限。 (4)对数据库表格建立索引值。 (5)修改数据库表格结构(新建、删除或是修改表格字段)。 (6)对数据库进行数据的新建。 (7)对数据库进行数据的删除。 (8)对数据库进行数据的修改。 (9)对数据库进行数据的查询。
2.3.2 复合查询
1.连接查询
连接可以在SELECT 语句的FROM子句或WHERE子句中建立,在FROM 子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。 这样就可以将多个表中的数据进行有条件的查询:
select * from tablename1 , tablename2,… where expre
(4)ORDER BY条件子句 SELECT fieldlist FROM table WHERE selectcriteria ORDER BY field[ASC|DESC][,field2[ASC|DESC][,...]] (5)GROUP BY 条件子句 SELECT fieldlist FROM table WHERE criteria GROUP BY groupfieldlist (6)HAVING 条件子句 SELECT fieldlist FROM table WHERE selectcriteria GROUP BY groupfieldlist HAVING groupcriteria
Oracle+SQLPLUS基础及sqlplus命令详解
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/oracle/app/oracle/product/8.1.7)
Drop index 删除索引
Grant 授权给用户或角色
Truncate 删除表中的所有行
Revoke 从用户或角色收回权限
4.DML(Data Manipulation Language)
对于结构查询语言的另一组是数据操纵语言(DML)。DML其中用于数据操纵的命令如下:
Insert
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
S450 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsvr)(PORT = 1521))
Oracle SQLPLUS基础及sqlplus命令详解
1.2 关系数据库系统(RDBMS)的组成
RDBMS由两部分组成,即数据库系统内核(软件)和数据字典(内核用于管理数据库系统的数据结构)两部分。
§1.2.1 RDBMS 内核
RDBMS就是用来控制数据访问的操作系统。它的任务是按照一定的规则存储数据、检索数据及保护数据。
ORACLE4SQL语言简介
俄SQL语言简介1、SQL概述SQL功能:①提取查询数据,②插入修改删除数据,·③生成修改和删除数据库对象,④数据库安全控制,⑤数据库完整性及⑥数据保护控制。
数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照等(表空间、回滚段、角色、用户)。
数据库通过对表的操作来管理存储在其中的数据。
1)SQL*PLUS界面:登录:输入SQLPLUS回车;输入正确的ORACLE用户名并回车;输入用户口令并回车,显示提示符:SQL>退出:输入EXIT即可。
2)命令的编辑与运行:●在命令提示符后输入SQL命令并运行,以分号结束输入;以斜杠结束输入;以空行结束输入;利用SQL缓冲区进行PL/SQL块的编辑和运行;●利用命令文件进行PL/SQL块的编辑和运行。
2、数据库查询1)用SELECT语句从表中提取查询数据。
语法为SELECT[DISTINCT]{column1,column2,…}FROM tablename WHERE{conditions}GROUP BY{conditions}ORDER BY{expressions} [ASC/DESC];说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。
2)SELECT中的操作符及多表查询WHERE子句。
(LIKE,IS,…)WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL 等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。
3)ORDER BY子句ORDER BY子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY子句指定的表达式的值确定。
4)连接查询利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种操作被称为连接查询。
Oracle+PLSQL语言入门
Oracle PL/SQL语言入门一、背景介绍结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地调用相应语句来直接取得结果即可。
显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利。
然而,有些复杂的业务流程要求相应的程序来描述,这种情况下4GL就有些无能为力了。
PL/SQL的出现正是为了解决这一问题,PL/SQL是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。
本文主要介绍PL/SQL的编程基础,以使入门者对PL/SQL语言有一个总体认识和基本把握。
二、编程基础知识1. 程序结构PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare 开头)、执行部分(以begin开头)和异常处理部分(以exception开头)。
其中执行部分是必须的,其他两个部分可选。
无论PL/SQL程序段的代码量有多大,其基本结构就是由这三部分组成。
如下所示为一段完整的PL/SQL块:/*声明部分,以declare开头*/declare v_id integer;v_name varchar(20);cursor c_emp is select * from employee where emp_id=3;/*执行部分,以begin开头*/begin open c_emp;//打开游标loopfetch c_emp into v_id,v_name;//从游标取数据exit when c_emp%notfound ;end loop ;close c_emp;//关闭游标dbms_output.PUT_LINE(v_name);/*异常处理部分,以exception开始*/exceptionwhen no_data_found thendbms_output.PUT_LINE('没有数据');end ;2. 控制结构PL/SQL程序段中有三种程序结构:条件结构、循环结构和顺序结构。
Oracle PLSQL 编程手册(SQL大全)
参数对应日期型或字符型数据时,可在参数上加引号,输入时就可不用引号
insertintodept
values(&deptno,'&dname','&loc');
插入空值(NULL)
insertintodept
values(50,'education',null);
updateemp
setdeptno=40,job='marketrep'
wherejob='salesman';
数据删除
deleteemp
whereempno=765;
更新的提交
commit
自动提交方式
setautocommiton
如果状态设为开,则使用inesrt,update,delete会立即提交。
selectename,jobfromemp
wherecommisnull;
selectename,jobfromemp
wherecommisnotnull;
多条件查询
selectename,job
fromemp
wheredeptno=20
andjob!='clerk';
表达式
+-*/
算术表达式
选择奖金高于其工资的5%的雇员
selectename,sal,comm,comm/salfromemp
wherecomm>.05*sal
orderbycomm/saldesc;
日期型数据的运算
COL用户创建的基表的所有列定义的清单
第一章 Oracle 基本知识与SQL_PLUS环境
第一章 Oracle 基本知识与SQL*PLUS环境一.上机目的1.熟悉Oracle的基本知识。
2.熟悉Oracle的命令操作环境SQL*PLUS。
3.熟悉并掌握一些SQL*PLUS命令。
二.预备知识1.Oracle数据库管理系统的简介1979年,硅谷的一个小公司推出了Oracle,这是第一个与数据访问语言SQL结合的关系数据库。
今天,Oracle公司已是世界上数据库管理系统及相关产品的最大供应商。
发布于1985年的Oracle第5版,是第一个真正的客户/服务器数据库系统。
Oracle 8以及Oracle 8i 是Oracle公司的最新产品。
2.Oracle8服务器Oracle8服务器是一个精致的信息管理环境。
它是一个大量数据的储藏所,并给用户提供对这些数据的快速访问。
Oracle8服务器允许应用系统之间共享数据。
信息存放在一个地方并由许多应用系统来使用。
Oracle8服务器可运行在Sun系列以及Windows NT上。
Oracle8服务器运行在很多不同的计算机上,支持下列配置:●基于主机的配置用户直接连到存放数据库的同一计算机上。
●客户机/服务器结构用户通过网络从他们的个人计算机(客户机)上访问数据库,数据库驻留在一个分离的计算机(服务器)上。
●分布式处理用户访问存放在不止一台计算机上的数据库。
数据库分散在不止一台机器上,用户并不需要了解他们存放的数据的实际存放位置。
●Web计算能从基于Internet的应用程序访问数据。
3.Personal Oracle从1995年处开始,Oracle推出了在Dos和Microsoft Windows环境下的个人计算机产品。
运行Personal Oracle需要如下的配置:●386以上的中央处理单元(CPU),推荐486或奔腾。
●最小60MB磁盘空间。
●处理器速度不低于40MHZ,66MHZ以上更好。
●最少16MB的扩充内存。
●Microsoft Windows95或者NT.本书主要以Personal Oracle为主进行说明。
Oracle数据库sql语句部分
oracle笔记第一课:客户端1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。
2. 从开始程序运行:sqlplus,是图形版的sqlplus.3. http://localhost:5560/isqlplusToad:管理,PlSql Developer:第二课:更改用户1. sqlplus sys/密码as sysdba2. alter user scott account unlock;(解锁账号)第三课:table structure(系统自带的表有emp、salgrade、dept、bonus、dual)1.描述某一张表:desc 表名2. select * from 表名第四课:select 语句:1.计算数据可以用空表:比如:.select 2*3 from dual2.select ename,sal*12 annual_sal from emp;与select ename,sal*12 "annual sal" from emp;(annual_sal 为sal*12的别名)区别:加双引号保持原大小写(保持原格式),不加全变大写。
任何含有空值的数学表达式结果都为空值。
3.字符串连接符select ename || ‘abcd’|| 用来连接两个字符串如果连接字符串中含有单引号,用两个单引号代替一个单引号。
第五课:distinct去重复select deptno from emp;select distinct deptno from emp;select distinct deptno ,job from emp去掉deptno,job两者组合的重复。
更多的项,就是这么多项的组合的不重复组合。
第六课:Where过滤条件select * from emp where deptno =10;select * from emp where deptno < >10;不等于10select * from emp where ename ='bike';select ename,sal from emp where sal between 800 and 1500 (>=800 and <=1500)即select ename,sal from emp where sal between 800 and 1500;与select ename,sal from emp where sal>=800 and sal<=1500;等价。
ORACLE 之SQL
第三章ORACLE 之SQL*PLUS基础3.1 SQL*PLUS基础2.SQL与SQL*PLUS命令SQL:在Oracle数据库中创建(表、视图、索引等)、存储、改变(结构、数据)和维护信息;SQL命令存放在SQL缓冲区内,保持到下一条SQL命令进入缓冲区,并以―;‖(分号)结尾。
SQL命令有如下特点:1. 简单、易读、功能强大,是Oracle各种开发工具的基础2. 与终端用户进行交互能力强SQL* Plus命令可用来:形成复杂的报表;编辑SQL命令;提供帮助信息;维护系统变量。
与SQL的区别:①不进入SQL缓冲区②不用―;‖(分号)结尾父表deptSQL> select * from dept;DEPTNO DNAME LOC--------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERA TIONS BOSTONEmp子表EMPNO ENAME JOB MGR HIREDA TE SAL COMM DEPTNO--------- -------- --------- ----- --------- ---- ---- ------ 7369 SMITH CLERK 7902 17-DEC-80 800 207499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 307521 WARD SALESMAN 7698 22-FEB-81 1250 500 307566 JONES MANAGER 7839 02-APR-81 2975 207654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 307698 BLAKE MANAGER 7839 01-MAY-81 2850 307782 CLARK MANAGER 7839 09-JUN-81 2450 107788 SCOTT ANAL YST 7566 19-APR-87 3000 207839 KING PRESIDENT 17-NOV-81 5000 107844 TURNER SALESMAN 7698 08-SEP-81 1500 0 307876 ADAMS CLERK 7788 23-MAY-87 1100 207900 JAMES CLERK 7698 03-DEC-81 950 307902 FORD ANAL YST 7566 03-DEC-81 3000 207934 MILLER CLERK 7782 23-JAN-82 1300 1014 rows selected.SQL命令的组成数据定义语言(DDL):creat(建立)drop(删除)alter(修改表结构)rename(改名)数据操纵语言(DML):select(查询)insert(插入)delete(删除)update(更新)数据控制语言(DCL):grant(授权)revoke(回收)数据检索语言(SELECT)事务处理控制命令: 包括:commit(提交)、rollback(回退)savepoint(设置保存点),练习什么是S Q L?S Q L有什么功能?下列哪个语句可以从数据库中取得数据?A. selectB. updateC. insertD. delete3. 指出S Q L数据控制语言(D C L)中的命令。
10.oracle_sqlplus基础
3/27
设置SQL*PLUS 设置SQL*PLUS的运行环境 SQL*PLUS的运行环境
1、启动SQL*PLUS 2、不输入用户名、密码直接确定进入 SQL*PLUS编辑器 3、选择Options-Environment,进行参数设 置
4/27
屏幕缓冲区
1、默认值为100×1000 2、如果设置为2000,则可以显示当前长度的 两倍。
• 格式化结果集的命令包括column、pause、 pagesize、linesize、feedback、 numformat和log等 • 格式化命令设置之后,一直起作用,直到 该次绘画的结束或者下一个格式化命令的 设置完成。 • 每一次报表结束时,重新设置SQL*PLUS为 默认值 • 如果为某个列指定了别名,那么必须引用 该别名,而不能使用列名。 8/27
Oracle课程 Oracle课程
SQL*PLUS基础 SQL*PLUS基础
教学提示
• 本课将详细介绍SQL*PLUS及其的启动与运行 环境。SQL*PLUS命令的使用,熟悉 SQL*PLUS的内置命令和脚本,并了解 SQL*PLUS的强大功能。
2/27
课程目标
• 熟悉SQL*PLUS的运行环境及正常启动 • 掌握SQL*PLUS的命令与内置命令 • 了解脚本及SQL*PLUS的功能
13/27
Help命令 Help命令
• • • • • • Help提供了查询相关信息的命令信息,包括 命令标题 命令作用描述的文本 命令的缩写形式 命令中使用的强制参数和可选参数。 语法格式为help [topic] topic是要查询的 命令的名称。 。
14/27
Help命令 Help命令
键入help index,则显示所有的SQL*PLUS命令 键入help copy,则显示具体使用,如下: COPY ---Copies data from a query to a table in the same or another database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2. COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE} destination_table [(column, column, column, ...)] USING query where database has the following syntax: username[/password]@connect_identifier
第三章 SQLPLUS基础
SQL*Plus 作用
输入,编辑,存取和运行SQL命令. 测试SQL程序段的正确性. 调试PL/SQL程序段的正确性. 对查询结构进行格式化,计算,存储,打印或生 成网络输出. 向其他客户端用户发送消息或接收反馈信息. 管理和维护数据库.
5
3.1 启动 启动SQL*Plus
在操作系统界面选择 " 开 始 " --> " 程 序 " --> "Oracle-OraHome90" --> "Application Development" -->"SQL Plus".
格式化查询输出-3
BREAK命令 命令 BREAK ON Column_Name
SQL> SELECT job, empno, ename, mgr, hiredate, sal, comm FROM scott.emp; SQL> break on job; SQL> select job, empno, ename, mgr, hiredate, sal, comm from scott.emp order by job;
6
命令行启动SQL*Plus 命令行启动
任务1完成
编写批处理文件,执行初始化SQL
sqlplus system/manager1 @.\init.sql
启动SQL*Plus Worksheet 启动
全屏幕编辑器,屏幕显示为窗口式,可同时执行多条命令 在操作系统界面选择"开始"--> "程序"--> "Oracle" -> "OraHome90" --> "Application Development" -->" SQL*Plus Worksheet".
ORACLE入门学习
Oracle(SQL)入门学习第一章数据库概述(了解)1.什么是数据库通俗讲,数据库是一个存放数据的仓库,而Oracle是一款比较优秀的数据库管理系统。
我们对这个概念不用深究,只需要知道常用的数据库有哪些:Oracle、DB2、Sybase。
而不管你使用的是什么数据库,一般都通过SQL语句操作数据库。
2.常用的Oracle开发工具Sqlplus/Sqlplusw:以命令或窗口的方式启动/连接Oracle数据库PLSQL:Oracle提供的用于与数据库交互的图形界面的工具J DBC:Java应用程序访问数据库的一组接口Proc c/c++:C语言应用程序访问数据的一组接口和方法3.现有的Oracle主要版本Oracle8/8i/9i:其中i为Internet的缩写,表示互联网Oracle10g/11g:其中g为grid的缩写,表示网格控制4.常用的Oracle特有的命令(用于sqlplus/sqlplusw)conn user/passwd[as sysdba|sysoper]#连接数据库show user#显示当前连接数据库的用户名desc TableName;#查看表的结构set linesize xxx;#修改每行显示的长度为xxxset pagesize xxx;#修改每页显示的行数ed#打开记事本进行sql源文件编辑@xxx.sql#执行sql脚本,当后缀为*.sql时,后缀可以省略5.Oracle(SQL)语句组成SQL(Structure Query Language,结构查询语言)是一种功能强大的数据库语言,通常用于与数据的通讯。
ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。
SQL功能强大,概括起来,它可以分为以下几组:DCL(Data Control Language,数据库控制语言):用于定义数据库用户的权限,这部分知识属于DBA(数据库管理员)范畴,在这里不做详细介绍。
Oracle PL-SQL入门教程(经典)
SQL语言入门教程第一课简介SQL是英文Structured Query Language的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create, 以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
下面,我们就来详细介绍一下SQL语言的基本知识。
一个典型的关系型数据库通常由一个或多个被称作表格的对象组成。
数据库中的所有数据或信息都被保存在这些数据库表格中。
数据库中的每一个表格都具有自己唯一的表格名称,都是由行和列组成,其中每一列包括了该列名称,数据类型,以及列的其它属性等信息,而行则具体包含某一列的记录或数据。
以下,是一个名为太平洋网络学院的数据库表格的实该表格中“栏目”,“用户群”就是两个不同的列,而表格中的每一行则包含了具体的表格数据。
1. 创建表格2. 数据查询3. 向表格中添加、更新、删除记录4. 删除数据库表格第二课创建表格SQL语言中的create table语句被用来建立新的数据库表格。
create table语句的使用格式如下:create table tablename(column1 data type,column2 data type,column3 data type);如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项:create table tablename(column1 data type [constraint],column2 data type [constraint],column3 data type [constraint]);举例如下:create table employee(firstname varchar(15),lastname varchar(20),age number(3),address varchar(30),city varchar(20));简单来说,创建新表格时,在关键词create table后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制条件等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GRANT、REVOKE
与本课程有关的表
EMP(雇员表) 表列
empno ename job mgr hiredate sal comm deptno
DEPT(部门表) 表列
deptno dname loc
描述
雇员代码 雇员姓名 职务 经理代码 受雇日期 工资 奖金 部门代码
描述
部门代码 部门名称 地理位置
SQL*PLUS简介
SQL*PLUS是ORACLE数据库的一个基本应用工具。它允许用户用SQL命 令交互地访问数据库。 SQL语言是一种非结构化相当高的语言,语法类似于英语,所以易于 学习。使用这种语言编程,用户只要指出要做什么,至于如何做则是由系 统来完成。 启动SQL*PLUS
1. 2. 3. 4. 运行,开始->程序->Oracle for Window95-SQL*PLUS 在弹出的窗口中,输入一个合法的用户名、口令 输入一个数据库连接串。(指定到要访问的数据库) 如果输入正确,屏幕上将出现提示符:SQL>,这说明你已经与指定的ORACLE数据库 连接成功。 数据库连接串: 指定要访问的数据库,使用Oracle Net8 Easy Config工具生成,需要给出的数据: • 数据库宿主机的机器名或IP地址 • 数据库的实例名 • 数据库监听器的端口号
分布式数据库与集中式数据库一样具有用户透明性和数据一致性
Oracle也支持分布式的处理,它上一个客户/服务器 (Client/Server)结构。数据库及其操作管理被分配在服务器 上,应用的执行都被分配在客户机上。
提供了强有力的集成化开发环境
提供了与第三代高级语言的接口软件PRO*系列,能在 C,C++等宿主语言中嵌入SQL语句及过程化(PL/SQL)语 句,对数据库中的数据进行操纵。加上它有许多优秀 的前台开发工具如 PowerBuilder、Dephi、 SQL*FORMS、VISIA BASIC 等,可以快速开发生成基 于客户端PC 平台的应用程序,并具有良好的移植性。
例:begin for I in 1..100 loop insert into temp (id) values (I); end loop; end;
SQL*PLUS的常用命令
1. Connect <用户名> <口令>@<连接串>:与数据库建立连接
例:SQL>connect system/manager
例1:按部门统计员工的个数、工资和、平均工资、最大工资、最小工资 SQL>SELECT DEPTNO,COUNT(*),SUM(SAL), AVG(SAL),MAX(SAL), MIN(SAL) FROM EMP GROUP BY DEPTNO;
数据更新命令-数据插入
数据插入命令 用INSERT命令向基表插入新的数据。 基本语法:
ORACLE基础入门 -SQL*PLUS与SQL语言篇
技术支持部 汤庆锋 福州磬基电子有限公司
Oracle数据库管理系统的特点
支持大容量、多用户的事务处理 是一个真正开放式的数据库管理系统 实施安全性和完整性控制 支持分布式数据库和分布式处理 具有良好的可移植性、兼容性和连接性 WEB支持(支持基于INTERNET的应用) 提供了强有力的集成化开发环境和管理工具
简单的数据查询命令
SELECT 子句
SELECT子句的<查找内容>指出要查找的数据,FROM的子句的<表名>指找过 程中要涉及的表。 例1:查找整个雇员表的内容 SQL>SELECT * FROM EMP; 说明:“*”代表所有字段 例2:查看雇员姓名和工资 SQL>SELECT ename,sal FROM EMP; 说明:查找多列数据,则用逗号将各个列名隔开。 例3:查看雇员姓名和工资,且用汉字做标题 SQL>SELECT ename “姓名”,sal “工资” FROM EMP; 例4:计算奖金占工资的比率 SQL>SELECT ename,sal,comm,comm/sal FROM EMP; 说明:SELECT语句中可以包含运算表达式
空值
非空
7
8
逻辑运算符
NOT 逻辑非 9
AND
OR
逻辑与
逻辑或
10
11
简单的数据查询命令
ORDER BY子句-排序
例1:按字母顺序显示雇员的名字
SQL>SELECT ENAME FROM EMP ORDER BY ENAME;
例2:按部门号降序显示雇员信息
SQL>SELECT * FROM EMP ORDER BY DEPTNO DESC; 说明:如果降序显示,必须加上关键字“DESC”
特性:
单个LOB列可以存储4GB的容量 每个表可以有多个LOB ORACLE允许为LOB指定单独的储存区域,而不是表的剩余空间这种分 开储存的方法大大简化了表的规模和数据管理活动。 可以通过禁止日志(NOLOGGING)参数指定是否在联机日志文件中记 录LOB数据中的修改部分。
支持多用户的事务处理
具有良好的可移植性、兼容性和连接性
Oracle可以在上百个操作系统平台和硬件平台上运行在 一个Oracle系统环境上开发的应用只需经过很少的修改 或者完全不用修改就可方便地移植到另一个系统上 Oracle允许不同类型的计算机和操作系统通过网络来共 享信息
实施安全性和完整性控制
安全性通过用户名、口令、系统权限、对象权限来实现 完整性通过列约束和触发器来实现。 使用列约束和触发器,在创建表时就可以定义大部分有效性检查(例如 主键、外键)和其他数据处理过程。这就使得用户在创建数据库结构时 可以定义自己的“业务规则”。
INSERT INTO <表名> [<(列名表)>] VALUES (<值表>); 例1:插入一新的部门-ACCOUNTING SQL> INSERT INTO DEPT VALUES (50, ’ACCOUNTING’,’NEW YORK’);
说明:值表中的值应与基表中的列名一一对应
例2:插入一新的雇员TOM SQL> INSERT INTO EMP (EMPNO,ENAME,hiredate) VALUES (2000,‘TOM’,to_date(‘20001010’,’yyyymmdd’));
例:SQL>save c:\sql\abc.sql
9. start <sql文件> 或 @ <sql文件>:执行SQL文件
例:SQL>@ c:\sql\abc.sql
SQL命令
SQL命令
数据操纵命令 (DML) 数据定义命令 (DDL) 数据控制命令 (DCL)
数据查询命令 数据更新命令 事务控制命令 CREATE…
例3:查看雇员姓名的第二个字母有“A”的雇员信息
SQL>SELECT * FROM EMP WHERE ENAME LIKE ’_A%‘; 说明:在LIKE运算符中,“%”匹配0个或多个字符,“_”匹配一个 字符
注意:使用where子句时,应注意值的使用方法,若该列为字符串,需用单引号(‘’)将字符 括起来,如:where ename=‘SMITH’,并且有要区分大小写。
数据操纵语言(DCL)
一、简单的数据查询命令
所谓查询就是从数据库中提取满足用户需要的数据,查询是由SELECT命 令实现的。 基本语法: SELECT <查询内容> 查找什么数据? FROM <表名> 从哪里找? WHERE <条件> 查找条件是什么? GROUP BY <分组内容> HAVING <组内条件> ORDER BY <排序内容>
2. disconnect:与数据库断开连接 3. host <操作系统命令>:在SQL*PLUS下执行操作系统命令
例:SQL>host dir c:\
4. 5. 6. 7. 8.
show user: 显示当前连接用户名 desc <表或视图>:查看表或视图的结构信息 list :显示当前SQL缓冲区里的命令 edit:编辑当前SQL缓冲区里的命令 save <磁盘文件>:保存当前缓冲区的命令到一磁盘文件
例如:创建一带约束的员工表 CREATE TABLE EMP ( EMPNO NUMBER(4) PRIMARY KEY , ENAME VARCHAR(10) NOT NULL, JOB VARCHAR(20), SAL NUMBER(6,1) CHECK (SAL>1000), HIREDATE DATE, DEPTNO NUMBER(2) REFERENCES DEPT(DEPTNO) ) ;
SQL和SQL*PLUS命令
SQL*PLUS可以处理的命令: SQL
SQL命令主要用来检索、创建、改变、存储和维护ORACLE数据库的信息。当 输入SQL命令完成时,可以用(;)、(/)或空行来结束当前命令的输入。 输入(;) 并按回车键,则结束SQL命令的输入,并运行命令。 输入(/ )并按回车键,则运行存放在SQL缓冲区中的命令。
简单的数据查询命令
WHERE子句-选择指定满足条件的行
例1:查找在10号部门中工作的雇员
SQL>SELECT * FROM EMP WHERE DEPTNO=10; 说明:DEPTNO=10 就是查询条件
例2:查找20号部门里职务不是经理的雇员信息
SQL>SELECT * FROM EMP WHERE DEPTNO=20 AND JOB!=’MANAGER‘; 说明:在WHERE子句中,可以使用逻辑运算符“NOT、AND、OR”
例3:查找工资高于2000的雇员信息,按部门号和雇员名字排序