学习目标:
1、了解什么是标准的SQL语言
2、了解Oracle提供的PL/SQL
学习过程:
一、SQL语言介绍
1、什么是SQL语言
SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
SQL可以分为4个部分:
-
数据查询语言DQL,就是Data Query Language SELECT。
-
数据操纵语言DQL,就是Data Manipulation Language ,一般的包括INSERT, UPDATE, DELETE等等 。
-
数据定义语言DQL,就是Data Definition Language,一般的包括 CREATE, ALTER, DROP等等 。
-
数据控制语言DQL,就是Data Control Language,一般的包括 COMMIT WORK, ROLLBACK WORK等等 。
2、sql语言的特点
(1)非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。 SQL不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
(2)统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括:
-
查询数据
-
在表中插入、修改和删除记录
-
建立、修改和删除数据对象
-
控制对数据和数据对象的存取
-
保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
(3)是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。
SQL语言是一个标准,每一个数据库产商都会参考标准SQL语言进行扩展,所以不同数据库可能支持的SQL语句会有点区别,但是由于都是参考标准SQL,所以区别也不会太大。
而PL/SQL是甲骨文公司专有的SQL扩展语言,应用在甲骨文公司的Oracle数据库系统。
二、用户管理
1、Oracle 默认用户
SYS:数据库中所有数据字典表和视图都存储在 SYS 模式中。SYS用户主要用来维护系统信息和管理实例。
SYSTEM:SYSTEM 是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等
SCOTT:SCOTT用户是Oracle数据库的一个示范帐户,在数据库安装时创建,在oracle10g以后默认禁用
2、新建用户
因为SYSTEM的权限太大了,所以一般开发的时候我们都不会使用它,在安装数据库的时候我们已经为SYSTEM用户设置了密码,现在你可以使用SYSTEM登录然后在新建一个用户。
如果你还不会使用SQL语言建立用户,那么使用SQL Developer可视化建立用户是比较方便的。
(1)使用SYSTEM登录后右键其他用户,点击创建用户
(2)输入用户名和密码
(3)我们还得为其赋予角色,点击角色,赋予DBA角色,然后再点击应用。这样用户就建立成功了。你可以尝试使用这个新用户登录
三、尝试输入以下语言进行建表
使用新用户登录后,你可以输入下面的SQL语言,然后点击运行,这样我们就建立了我们的第一张表了。执行SQL语言就是这么简单。