数据库有四种,分别是Oracle、DB2、SQL Server、MySql。
它们的区别:
Oracle数据库是Oracle(甲骨文)公司的数据库产品。号称世界上最好的数据库系统,在数据库领域一直处于领先地位。支持各种中平台。
DB2数据库是IBM公司的数据库产品。是大型应用系统,具有较好的可伸缩性。
SQL Server数据库是微软公司的数据库产品。使用方便,可伸缩性好,与相关软件集成程度高。
MySql数据库是应用广泛的开源数据库产品。具有体积小、速度快、总体拥有成本低等优点。
下面主要介绍一下Oracle数据库:
数据库的概念:在磁盘上存储的数据的集合; 在物理上表现为数据文件、日志文件和控制文件等; 在逻辑上以表空间形式存在; 必须先创建数据库,然后才能使用Oracle
数据库实例:每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
数据库和数据库实例的区别:
数据库:永久的,存储在硬盘上
数据库实例:临时的,在内存上
在安装Oracle数据库时,以下这几项必须要设置成手动的
计算机—管理—服务和应用程序—服务
数据库的权限:
权限指执行特定类型SQL命令或访问其他对象的权利。
系统权限允许用户执行某些数据库操作
对象权限允许用户对某一特定对象执行特定的操作
角色是具有名称的一组权限的集合。常用系统预定义角色:connect(临时用户)、resource(更为可靠和正式的用户)、DBA(数据库管理员角色,拥有管理数据库的最该权限)
每个数据库都有SYS和SYSTEM两个默认用户(系统用户),都具有创建用户权限。通过grant命令可以给用户赋予权限。它们都是用SYSTEM表空间,SYS拥有更大的权限。
语法: grant privileges or role to user; 分配权限或角色
revoke privileges or role from user; 撤销权限或角色
示例:
1、把connect、resource角色授予用户epet
grant connect,resource to epet;
2、撤销用户epet的resource角色
revoke resource from epet;
3、允许用户epet查看emp表中的记录
grant select on emp to epet;
4、允许用户更新emp表中的记录
grant update on emp to epet;
SQL语句的组成:
DML(数据操作语言,insert、update、delete)插入、删除、修改数据库中的数据
DCL(数据控制语言,grant、revoke)用来控制存取许可、存取权限等
DQL(数据查询语言,select)用来查询数据库库总的数据
DDL(数据定义语言,create table、drop table等)用来建立数据库、数据库对象和定义表的列
查询的基本语法:
记录筛选:
Oracle中常用的函数:使用函数可以大大提高select语句操作数据库的能力
数据库的查询经验:
笛卡尔积:多表查询时会出现笛卡尔积,即多张表的数据乘积的意思。