关系型数据库(Oracle)
一、市面上流行的关系型数据库
大型数据库:oracle(甲骨文)、DB2(IBM)、sysbase(sysbase) 百万以上数据
中型数据库:mysql(甲骨文)、sql server(微软)
小型数据库:Access(微软)、sqllite(谷歌)
二、Oracle版本
i版本:Internet 互联网技术,远程数据库 7i-9i
g版本:grid 网格技术,支持分布式 10g-11g
c版本:cloud 云技术 12c-21c
三、Oracle安装
1、安装Oracle服务器端,安装步骤oracle-11g安装步骤.jpg
2、安装64位的plsql开发工具
3、配置环境变量
NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK
lang zh_CN.GBK
四、Oracle启动与停止
1、win + R在运行命令框中输入:services.msc,进入系统服务窗口
2、OracleOraDb11g_home1TNSListener监听服务,右键可以启动与停止
3、OracleServiceORCL数据库服务,右键可以启动与停止
五、Oracle用户与端口
用户:
sys 超级管理员 DBA使用
system 管理员 维护
scott 普通用户
端口:
oracle:1521
mysql:3306
sql server :1433
六、Oracle标识符
1、由英文字母、数字、下划线、$组成,不能以数字开头
2、不能是Oracle关键字,比如:table 、id、name
3、标识符长度不能超过30字符
4、建议使用英文单词、不要用中文与拼音
建议表名:t_、tb_开头 字段名:f_开头 视图:v_开头 序列:seq_开头
七、数据类型
1、数字型
number 用来存储整数与浮点,取值范围-10^38到10^38
number(3) 用来存储整数,取值范围-999到999
number(5,2) 用来存储浮点,整数位是3位,小数位是2位,整个是5位,
取值范围-999.99到999.99
注:number类型一定设置长度,第一种虽然可以存储浮点与整数,不推荐使用,
number最大长度是38
2、字符型
char(length) length取值:1-2000,以固定长度存储,实际长度没有达到固定长度
以空格填充
varchar2(length) length取值:1-4000,以实际长度存储,实际长度是多个就存储多少
varchar(length) 在Oracle中没有varchar数据类型,写了varchar会自动转成varchar2,
varchar与varchar2的功能是一模一样的
*****char、varchar、varchar2的区别
char是以固定长度存储,实际长度没有达到固定长度以空格填充
varchar是国际通用字符数据类型,所有的数据库都有这个类型,以实际长度存储,
实际长度是多个就存储多少
varchar2是Oracle数据库独有的字符数据类型,与varchar的功能一模一样,在oracle中
varchar会自动转成varchar2,使得Oracle版本兼容性更好
3、时间
date 年月日时分秒
timestamp 年月日时分秒毫秒
4、大数据类型
clob 字符大数据类型 存储4G
blob 字节大数据类型 存储4G 二进制 音频 视频
注:内容过大的数据不建议存储到数据库,以文件的形式存储到硬盘中,
把文件地址存储到数据库中
*****八、Oracle语句的分类
1、DDL语句,数据库定义语言(与结构相关)
create(创建)、drop(删除)、alter(修改)、truncate(清空)
2、DML语句,数据库操作语言(与数据相关)
insert(添加)、update(修改)、delete(删除)
3、DQL语句,数据库查询语言
select(查询)
4、DCL语句,数据库控制语言
grant(赋权)、revoke(撤销)
5、TCL语句,事务控制语言
commit(提交)、rollback(回滚)
*****九、DDL语句
1、创表语句
create table 表名 (
字段名 数据类型,
... ...,
字段N 数据类型
);
2、删除表
drop table 表名;
3、修改表
a、给表加一个字段
alter table 表名 add (字段名 数据类型);
b、删除表字段
alter table 表名 drop column 字段名;
c、修改表字段名称
alter table 表名 rename column 原字段名 to 新字段名;
d、修改表字段数据类型
alter table 表名 modify (字段名 数据类型);
e、修改表名
alter table 表名 rename to 新表名;
4、清空表
truncate table 表名;
*****十、DML语句
1、添加语句
insert into 表名(字段名1, ..., 字段N) values (值1, ..., 值N);
commit;
2、修改语句
update 表名 set 字段名1 = 值1, ..., 字段名N = 值N where 条件字段 = 条件值;
commit;
3、删除语句
delete 表名 where 条件字段 = 条件值;
commit;
注:DML语句一定要结合TCL语句使用,commit表示提交数据,rollback表示回滚数据
*****十一、drop、truncate、delete区别
a、drop与truncate属于DDL,delete属于DML
b、drop是删除整个表
truncate是清空整个表数据
delete是根据条件删除表中数据,并且需要提交事务
c、truncate删除内容比delete效率高