Oracle数据库
一、概念
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案
二、特点
-
完整的数据管理功能
-
数据的大量性
-
数据保存的持久性
-
数据的共享性
-
数据的可靠性
-
-
完备关系的产品
-
保证数据访问的准则
-
视图更新准则
-
数据库的物理性和逻辑性准则
-
三、优点
-
可用性强
-
可扩展性强
-
数据安全性强
-
稳定性强
四、Oracle的安装
安装教程可参照该网址:https://www.cnblogs.com/ConfidentLiu/p/11657675.html
五、oracle的基本操作
1.连接数据库
连接oracle数据库必须启动两个必要的服务,数据库监听服务和数据库服务
2.连接数据库
SYS用户和SYSTEM用户,都是oracle的系统用户,SYS拥有更大的权限
区别:
2-1:前者是oracle的一个超级用户,后者则是oracle默认的系统管理员
2-2:前者主要维护系统信息,后者则是用来管理oracle用户、存储、权限等
2-3:前者登录时只能使用SYSDBA或者SYSOPER角色登录,后者只允许使用normal登录
3.数据类型
-
字符数据类型(char、varchar2、nchar、nvarchar2)
-
数值数据类型(number)
-
日期类型(date、timestamp)
-
lob数据类型(二进制对象)
经验:oracle中不建议使用varchar、integer、float、double等类型
4.伪列
4-1:Oracle 中伪列就像一个表列,但是它并没有存储在表中
4-2:伪列可以从表中查询,但不能插入、更新和删除它们的值
4-3:常见的伪列有ROWID和ROWNUM
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500">#查询伪列</span>
<span style="color:#770088">select</span> rowid,h.<span style="color:#981a1a">*</span> <span style="color:#770088">from</span> <span style="color:#770088">help</span> h;
<span style="color:#770088">select</span> rownum,h.<span style="color:#981a1a">*</span> <span style="color:#770088">from</span> <span style="color:#770088">help</span> h;</span></span>
5. SQL操作
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 1.创建数据库表</span>
<span style="color:#770088">create</span> <span style="color:#770088">table</span> <span style="color:#770088">table_name</span><span style="color:#999977">(</span>
id number <span style="color:#770088">not</span> <span style="color:#221199">null</span>,
username varchar2<span style="color:#999977">(</span><span style="color:#116644">255</span><span style="color:#999977">)</span>,
<span style="color:#770088">password</span> varchar2<span style="color:#999977">(</span><span style="color:#116644">255</span><span style="color:#999977">)</span>,
birthday timestamp
<span style="color:#999977">)</span></span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 2.删除数据库表</span>
<span style="color:#770088">drop</span> <span style="color:#770088">table</span> <span style="color:#770088">table_name</span>;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 3.截断表</span>
<span style="color:#770088">truncate</span> <span style="color:#770088">table</span> <span style="color:#770088">table_name</span>;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 4.查看表定义</span>
<span style="color:#770088">select</span> <span style="color:#981a1a">*</span> <span style="color:#770088">from</span> user_tab_columns <span style="color:#770088">where</span> <span style="color:#770088">table_name</span><span style="color:#981a1a">=</span><span style="color:#aa1111">'表名'</span>;
<span style="color:#aa5500">#备注:表名必须大写</span></span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 5.重命名列</span>
<span style="color:#770088">alter</span> <span style="color:#770088">table</span> 表名 <span style="color:#770088">rename</span> <span style="color:#770088">column</span> 旧字段名 <span style="color:#770088">to</span> 新字段名;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 6.添加新的字段</span>
<span style="color:#770088">alter</span> <span style="color:#770088">table</span> 表名 <span style="color:#770088">add</span> 字段名 字段类型 <span style="color:#999977">[</span>属性<span style="color:#999977">]</span>;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 7.修改字段类型</span>
<span style="color:#770088">alter</span> <span style="color:#770088">table</span> 表名 <span style="color:#770088">modify</span> 字段名 字段类型;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 8.删除表中某个字段
alter table 表名 drop column 字段名;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 9.转换函数
# 9-1:to_char() 转换为字符类型
SELECT TO_CHAR(1210.7, '$9,999.00') FROM dual;
# 9-2:to_date() 转换为日期类型
SELECT TO_DATE('2005-12-06','yyyy-mm-dd') FROM dual;
# 9-3:to_number() 转换为数值类型
SELECT TO_NUMBER('100') FROM dual;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 10.创建序列
create sequence 序列名
start with 1 #序列的初始值
increment by 1 #序列的变化
minvalue 1 #序列生成最小值
maxvalue 3000 #序列生成最大值
cycle #序列产生的值达到限制值后是否循环 cycle循环 nocycle不循环</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 11.使用序列
insert into 表名 values (序列名.NEXTVAL,值2,值3...);
commit;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 12.查看当前序列值
select 序列名.CURRVAL from dual;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 13.更新数据
update 表名 set 列 = 值 [where 更新条件];
#例:
update A set birthday = to_date('2005/1/1','yyyy-mm-dd') where id = 1;
commit;</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 14.删除数据
delete from 表名 [where 删除条件]</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"># 15.事务语言
commit; #提交事务
rollback; #回滚事务</span></span>