2018-07-27
---------------------------------------------------------数据库的基础知识-------------------------------------------------------------------------
数据库
什么是数据库?
- 按照一定规则存储数据的仓库。
-
磁盘上存储的数据的集合
-
在物理上表现为数据文件、日志文件和控制文件等(物理结构)
-
数据文件
-
扩展名是.DBF,用于存储数据库数据的文件
-
数据库表和数据文件不存在一对一对应关系
-
- 控制文件
- 扩展名是.CTL,是数据库启动及运行所必需的文件
-
默认包含3个控制文件,各个控制文件内容相同
- 日志文件
-
扩展名是.LOG,它记录了对数据的所有更改信息
-
多个日志文件组之间循环使用
-
-
-
在逻辑上以表空间形式存在(逻辑结构)
必须首先创建数据库,然后才能使用Oracle-
每个Oracle数据库都是由若干个表空间构成,用户在数据库中建立的所有内容都被存储到表空间中
-
创建数据库时会自动创建若干表空间
-
数据库实例:
- 每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
- 为了运行数据库,Oracle系统所运行的所有进程和分配的内存结构的组合体
备注:
- 数据库: 永久的,硬盘上
- 数据库实例:临时的,内存中
数据库中常用名词:
- DB: Datebase
- DBA: Datebase Administrator 数据库管理员
- DBMS: Datebase Management System 数据库管理系统
常用数据库;
- 大型数据库:
- Oracle:甲骨文公司 大型关系数据库管理系统oracle 商品化的数据库
- DB2: IBM(eclipse(日食)) 从掌上到大型系统的关系数据库管理系统
- Sysbase:美国Sysbase公司开发
- 中小型数据库:
- Sqlserve:微软
- MySql:瑞典公司 关系数据库管理系统oracle
- mysql 2008被sun公司收购 2009被oracle收购
- 小型数据库:
- Access:微软
SQL : 数据库结构化查询语言
- DQL: Datebase Query Language 数据库查询语言 (select)
- DML: Datebase Monitor Language 数据库操作语言 增删改(update insert delete)
- DDL: Datebase Difined Language 数据库定义语言 表的创建和删除(create drop)
- DCL: Datebase Control Language 数据库的控制语言(权限管理)
table(表) :二维结构 横向row record(记录) 纵向 column field(字段)
---------------------------------------------------------oracle数据库简介---------------------------------------------------------------------------
oracle数据库安装后只有一个数据库,(多个用户操作一个数据库)
oracle默认的的数据库监听端口:1521 、HTTP的监听程序端口:8080、Microsoft transaction server 的oracle 服务端口:2030
--------------------------------------------------------oracle数据库的数据类型--------------------------------------------------------------------
字符(包括字符串)型(char)
- char类型 char(10) : 如果存储的字符小于10个长度,也会占用数据库10个长度,可能造成空间浪费
- varchar2 varchar2(256): 如果存储小于定义的长度,自动存储原本数据的长度,不会造成空间浪费,最大长度4000(计算存入数据的大小,缩小空间,因此性能会降低)
日期类型: Date
数字类型: number
100 number(3) 整型的数据
123.15 number(5,2) 前面是精度,后面为小数位 123.145-->123.15
大类型数据:
blob:存储大类型非文本文件 视频 音频 4G
clob:存储文本类型文件
--------------------------------------------------------oracle10g学习版的安装-------------------------------------------------------------------------
1.准备:oracle10g学习版,安装。
每个数据库都有SYS和SYSTEM两个默认用户,都具有创建用户权限
SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限
通过CREATE TABLESPACE命令为每个用户创建自己的表空间
通过CREATE USER命令来创建用户epet
通过GRANT命令给用户epet赋予相应权限
2.进入cmd命令行
3.输入sqlplus进入sql命令
4.输入账号:System
5.密码:安装oracle时设置的口令
6.现在已经进入数据库了。
----------------------------------------------------------分割线-----数据库的基本命令:-------------------------------------------------
显示当前数据库用户:show user;
断开连接:disconn (disconnect:断开连接)
连接用户:conn username/password (connect 连接)
查询数据库中所有的表:select * from tab;
创建表:
create table t_student(
id number(10),
name varchar2(20),
sex varchar2(4),
hiredate Date
);
设置
设置每行的宽度:set linesize 长度
设置每个字段的宽度 :
- 数字类型: column 字段名 for 9999; 用9占位
- 字符类型: column 字段名 for a6; 用a占位 后面表示长度
注意:设置操作只在当前窗口有效
清除当前屏幕:clear scr; (scr--screen--屏幕);
退出登录:exit;
查询表中的所有记录:select * from table;
删除表:drop table tablename;
分组查询 :select sex,count(*) from student group by sex;
排序:asc(升序),desc(降序)
虚表:dual
常用伪列:rowid,rownum(可用来分页)
去重复:distinct
修改:update
插入:insert into values
增删改查(即curd,是Create、Update、Read和Delete)
回滚:rollback
授予权限:grant
撤销权限:
比较操作符:
逻辑操作符
连接操作符:||
模糊查询:like---‘_’:表示占位符、‘%’:表示
提交:commit
注意:插入的数据一定要进行提交(commit)操作才会存到数据库中。
----------------------------------------------------------------------------