一、 数据库概述
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。
常见的数据模型
1. 层次结构模型: 层次结构模型实质上是一种
有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。
2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。
3. 关系结构模型:关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。常见的有Oracle、mssql、mysql等
二、 主流数据库
数据库名 公司 特点 工作环境
mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业
Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,主要面向中小企业 中小型企业
PostgreSQL 号称“世界上最先进的开源数据库“,可以运行在多种平台下,是tb级数据库,而且性能也很好 中大型企业
oracle 甲骨文 获得最高认证级别的ISO标准安全认证,性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。但价格不菲 大型企业
db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业
Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业
三、常用工具
1、Sql Plus
2、Sql Developer
3、Oracle Enterprise Manager
四、oracle与其他数据库对比和安装
Oracle安装会自动的生成sys用户和system用户:
1、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是
change_on_install
2、system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager
3、一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有
create database的权限。
五、Oracle的基本使用--基本命令
sql*plus的常用命令 连接命令
(1).conn[ect] 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上
as sysdba或是 as sysoper
(2).disc[onnect] 说明: 该命令用来断开与当前数据库的连接
(3).psssw[ord] 说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
(4).show user 说明: 显示当前用户名
(5).exit 说明: 该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令
六、基本语法
1、select查询语句
(1)select table_name from user_tables;(查询系统表) 以上的查询语句就是查询本用户下所拥有的所有表的表名。
(2)sqlplus的buffer中会缓存最后一条sql语句,可以使用"/"来执行这最后一条sql语句,也可以使用edit命令来编辑最后 一条sql语句。 l命令(list)(sqlplus命令)可以显示buffer中最后一条命令。sqlplus命令可以缩写
(3)desc [表名]这是一条sqlplus命令,注意他不是sql语句,这条命令用于查看表的结构。describe的缩写[字段名] [字段 的类型],这是使用完desc命令后显示的表结构。
(4)select [表的字段名1],[表的字段名2], ... from 表名; select * from 表名; 查寻表中所有字段的信息
(5)关键字不能拆分,sql语句,以及表名,字段名是大小写不敏感的。 sql语句要以";"结尾,来表示sql语句结束,如果不 加";"系统不会执行此条sql语句,并提示。在Oracle中字符显示是左对齐,数值右对齐。
(6)在select 语句中可以使用数学表达式。select [表达式(必须包含本表字段名)],[...],.... from 表名;运算的优先级的先 乘除后加减,同级自左向右运算,括号改变优先级。
(7)别名select [字段名或表达式] ["别名"],[...] ["..."],.... from 表名;可以通过在字段名或表达式后加空格"别名",可以给 列,或者表达式结果其别名。表达别名必须加双引号。
(8)字符串拼接使用||符号select 目标字段名||' '||目标字段名 from 表名;注意:在Oracle中的字符或字符串要用单引号, 双引号用来起别名别名中需要使用空格,或是大小写敏感时需要用".."包含。
七、选择操作
order by 排序是按照存储顺序输出的,order by后面可以跟字段名,别名,位置,也可以有多个字段,当第一个字段的值一样 时,按第二个字段排序子句 ASC(默认,升序) DESC(降序)order by 目标列名(别名) 排序顺序(不写排序顺序,会 默认为升序排序)
例:select first_name from s_emp order by first_name;
select first_name from s_emp order by first_name desc;
注意:升序空值在结果的末尾,降序空值在结果的最前面。