Oracle快速入门_day01

Oracle快速入门_day01技术背景: 公司目前项目使用到了Oracle数据库 本人之前接触不多 计划4天 将Oracle数据库 快速入门 并结合开发使用,Oracle与MySql语法相似度很高,要一起学的小伙伴压力不要太大 …

Oracle快速入门_day01

公司目前项目使用到了Oracle数据库 本人之前接触不多 计划4天 将Oracle数据库 快速入门 并结合开发使用,Oracle与MySql语法相似度很高,要一起学的小伙伴压力不要太大

Oracle数据库简介

Oracle Database,又名Oracle RDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
它是在数据库领域一直处于领先地位的产品。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

时间原因我就不多介绍:百度自行了解 Oracle优点以及使用场景

代码100分

Oracle进阶

下面开始干货,直奔主题

务必知道: oracle是关系型数据库

  • 特点

    代码100分  1、支持多用户、大事务量的事务处理
      2、数据安全性和完整性控制
      3、支持分布式数据处理
      	分布式:一个业务分拆多个子业务,部署在不同的服务器上
      4、可移植性
      	可移植性指与软件从某一环境转移到另一环境下的难易程度。
    
  • oracle体系结构

      1、数据库
      	1、Oracle 数据库是数据的物理存储。 
      	2、Oracle 数据库的概念和其它数据库不一
      	样,这里的数据库是一个操作系统只有一个库。可以看作是 Oracle 	就只有一个大数据库。
      2、实例
      	1、一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。 
      	2、一个数据库可以有 n 个实例。
      3、数据文件(dbf)
      	1、数据文件是数据库的物理存储单位。
      	2、数据库的数据是存储在表空间中的,而一个表空间可以由一个或多个数据文件组成,所以数据真正是存储在一个或多个数据文件中。
      	3、一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
      4、表空间
      	1、表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。
      	2、每个数据库至少有一个表空间(称之为 system 表空间)。
      	3、每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
      5、用户
      	1、用户是在表空间下建立的。 用户登陆后只能看到和操作自己的表,。
      	2、ORACLE的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户。
      注意事项:
      	1、表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
      	2、oracle 是有用户和表空间对数据进行管理和存放的。
      	3、表不是由表空间去查询的,而是由用户去的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
    
  • 安装配置

  1. 代码100分 安装oracle
    
     默认端口号:1521
     sqlplus system/itcast
     sqlplus system/itcast[@127.0.0.1](https://my.oschina.net/u/567043):1521/orcl
    
  2.  安装instantclient_12_1
    
     是什么?oracle官方提供的用于连接oracle数据库的客户端工具。
     怎么用?
     	1、win+r 打开运行窗口,输入cmd进入命令提示符界面
     	2、进入instantclient_12_1的安装目录
     	3、sqlplus system/itcast[@127.0.0.1](https://my.oschina.net/u/567043):1521/orcl
    
  3.  安装PLSQL Developer
    
     是什么? PL/SQL Developer是一个集成开发境,由Allround Automations公司开发,专门面向Oracle数据库存储的程序单元的开发。
     怎么用? 
     	PLSQL Developer的使用依赖instantclient,所以要先配置Oracle Home和OCI library
    
     	Oracle Home
     	D:developinstantclient_12_1
    
     	OCI library
     	D:developinstantclient_12_1oci.dll
    
     注意事项 : 安装目录不能有中文和空格,否则连接不上
    
  4.  设置环境变量 TNS_ADMIN
     	1、在 ORACLE 安装目录中找到tnsnames.ora 文件,拷贝到本地电脑的D盘根目录
     	2、修改tnsnames.ora文件
     	3、将TNS_ADMIN环境变量指向tnsnames.ora所在的路径
    
  5.  设置环境变量NLS_LANG
     作用:解决中文乱码问题
     1、查询服务器的编码
     select userenv("language") from dual
     我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK
     2、设置变量名:NLS_LANG,变量值:第 1 步查到的值
    
  • 数据库操作

      创建表空间
      	create tablespace waterboss
      	datafile "c:waterboss.dbf"
      	size 100m
      	autoextend on
      	next 10m
      	解释:
      	waterboss 为表空间名称
      	datafile 用于设置物理文件名称
      	size 用于设置表空间的初始大小
      	autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
      	next 用于设置扩容的空间大小
    
      创建用户
      	create user wateruser
      	identified by itcast
      	default tablespace waterboss
      	wateruser 为创建的用户名
      	identified by 用于设置用户的密码
      	default tablesapce 用于指定默认表空间名称
    
      用户赋权
      	grant dba to wateruser
      	dba:角色名称
      	wateruser :用户名称
    
  • 表操作

  1. 创建表

     CREATE TABLE 表名称(
     字段名 类型(长度) primary key,
     字段名 类型(长度),
     .......
     );
     例:创建业主表
     create table t_owners
     (
     id number primary key,
     name varchar2(30),
     addressid number,
     housenumber varchar2(30),
     watermeter varchar2(30),
     adddate date,
     ownertypeid number
     );
     注意事项:最后一行,不要有逗号
    
  2. 修改表

     增加字段
     	ALTER TABLE 表名称 ADD (
     	列名1  类型  [DEFAULT 默认值],
     	列名2  类型  [DEFAULT 默认值],
     	...
     	)
     	默认值可选
     	例:为业主表增加两个字段
     	ALTER TABLE T_OWNERS ADD
     	(
     	REMARK VARCHAR2(20),
     	OUTDATE DATE
     	)
    
    
     修改字段类型
     	ALTER TABLE 表名称 MODIFY (
     	列名1  类型   [DEFAULT 默认值],
     	列名2 类型    [DEFAULT 默认值],
     	...
     	)
     	ALTER TABLE T_OWNERS MODIFY
     	(
     	REMARK CHAR(20),
     	OUTDATE TIMESTAMP
     	)
     	--------------------------------------------------------
     	mysql中
     	修改表的列的类型长度及约束:
     	alter table 表名 modify 列名 类型(长度) 约束;
     	 例:
     	alter table employee modify image varchar(80) not null;
    
     修改字段名
     	ALTER TABLE 表名称 
     	RENAME COLUMN 原列名 TO 新列名
     	例:
     	ALTER TABLE T_OWNERS 
     	RENAME COLUMN OUTDATE TO EXITDATE
     	-------------------------------------------------------
     	MySQL中
     	修改表的列名
     	alter table 表名 change 旧列名 新列名 类型(长度) 约束;
     	例:
     	alter table employee change image eimage varchar(60);
    
    
     删除字段
     	--删除一个字段
     	ALTER TABLE 表名称 DROP COLUMN 列名
     	--删除多个字段
     	ALTER TABLE 表名称 DROP (列名 1,列名 2...)
     	例:
     	alter table t_test drop column age
     	alter table t_test drop (hobby,age)
    
  3. 删除表

     DROP TABLE 表名称
    
  • 数据记录操作
  1. 插入数据

     INSERT INTO 表名[(列名 1,列名2,...)]
     VALUES(值 1,值 2,...)
     如果插入表中的所有列,那么列名可以省略,但值的顺序必须与列的顺序保持一致
     例1:
     insert into T_OWNERS VALUES 
     (1," 张 三 丰",1,"2-2","5678",sysdate,1);
     commit;
     执行 INSERT 后一定要再执行 commit 提交事务
     --------------------------------------------------------注意事项:
     * 列名的个数与值的个数对应.
     * 列的类型与值的类型对应.位置也要对应.
     * 列的类型如果是字符串或者日期,写值的时候使用单引号将值引起来.
     * 插入的值的最大长度不能超过列的最大长度.
     复制表的数据(两个表的数据结构是一样的)
     INSERT INTO exam1 SELECT * FROM exam
     复制表的数据(结构不一样)
     INSERT INTO exam1 (chinese,math) SELECT chinese,math FROM exam
    
  2. 修改数据

     UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,....  WHERE 修改条件;
     注意事项:
     执行 UPDATE 后一定要再执行 commit 提交事务
     例:
     update T_OWNERS set adddate=adddate-3 where id=1;
     commit;
    
  3. 删除数据

     delete
     	DELETE FROM 表名 WHERE 删除条件;
     	执行 DELETE 后一定要再执行 commit 提交事务
     	例:
     	delete from T_OWNERS where id=2;
     	commit;
    
     truncate
     	TRUNCATE TABLE 表名称
    
     delete和truncate比较
     	比较 truncat 与 delete 实现数据删除?
     	1. delete 删除的数据可以 rollback
     	2. delete 删除可能产生碎片,并且不释放空间
     	3. truncate 是先摧毁表结构,再重构表结构
    
  • 数据类型

      字符型
      	1、CHAR : 固定长度的字符类型,最多存储 2000 个字节
      	2、VARCHAR2 :可变长度的字符类型,最多存储 4000 个字节
      	3、LONG : 大文本类型, 最大可以存储 2 个 G
    
      数值型
      	NUMBER : 数值类型
      	例:
      	NUMBER(5) 最大可以存的数为 99999
      	NUMBER(5,2) 最大可以存的数为 999.99
    
      日期型 
      	1、DATE:日期时间型,精确到秒
      	2、TIMESTAMP:精确到秒的小数点后 9 位
    
      二进制型(大数据类型)
      	1、CLOB : 存储字符,最大可以存 4 个 G
      	2、BLOB:存储图像、声音、 视频等二进制数据,最多可以存 4 个 G
    
  • jdbc连接

      oracle驱动名称:oracle.jdbc.driver.OracleDriver
    
      瘦连接方式:jdbc:oracle:thin:@192.168.56.102:1521:orcl
    
      注意事项:
    
      oracle10g版本使用    ojdbc14.jar的驱动程序
      oracle11g版本使用    ojdbc6.jar的驱动程序
    
  • 数据库备份

      整库导出/导入
      	1、整库导出,不指定文件名
      	exp system/itcast full=y
      	添加参数 full=y 就是整库导出
      	执行命令后会在当前目录下生成一个叫 EXPDAT.DMP,此文件为备份文件。
      	2、整库导出,指定文件名
      	exp system/itcast file=文件名 full=y
      	------------------------------------------------------
      	1、整库导入,不指定文件名
      	imp system/itcast full=y
      	如果不指定 file 参数,则默认用备份文件 EXPDAT.DMP 进行导入
      	2、整库导入,指定文件名
      	imp system/itcast full=y file=water.dmp
    
      按用户导出/导入
      	1、按用户导出,指定文件名
      	exp system/itcast owner=wateruser file=wateruser.dmp
      	-----------------------------------------------------
      	2、按用户导入,指定文件名
      	imp system/itcast file=wateruser.dmp fromuser=wateruser
    
    
      按表导出/导入
      	1、按表导出
      	exp wateruser/itcast file=a.dmp tables=t_account,a_area
      	--------------------------------------------------------
      	2、按表导入
      	imp wateruser/itcast file=a.dmp tables=t_account,a_area
      	注意事项:
      	用 tables 参数指定需要导出的表,如果有多个表用逗号分割即可
    
  • 约束(扩展)

      Primarykey:主键,不为空且唯一
    
      Notnull:不能为空
    
      Unique:唯一
    
      Check:检查约束
    
      foreign key:外键,关联另一个表中的主键
      	ALTER TABLE `orders` 
      	ADD CONSTRAINT `f_key_01` 
      	FOREIGN KEY (`cid`) REFERENCES `customer` (`cid`)
      	 ON DELETE RESTRICT ON UPDATE RESTRICT;
      	restrict:如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作 
      	cascade:在父表上update/delete记录时,同步update/delete掉子表的匹配记录 
      	set null:在父表上update/delete记录时,将子表上匹配记录的列设为null 
      	no action:如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作 
    

以上是day01 内容 如果急速入门,请抓重点 针对性学习 环境方面不必深究


分享给需要的伙伴~ 一起进步

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8416.html

(0)
上一篇 2023-02-28
下一篇 2023-02-28

相关推荐

  • MySQL数据篇(九)-[通俗易懂]

    MySQL数据篇(九)-[通俗易懂]需求:有一个活动记录表 t_ad ,商家每次发起一个活动,就会在 t_shake_devices_relation 表里面生成一些关联记录。现在写一个存储过程实现,如果活动过期,就将关联表里

    2022-12-19
    101
  • 云三级架构_云数据中心架构

    云三级架构_云数据中心架构随着企业规模的扩大,对数据库可用性要求越来越高,更多企业采用两地三中心、异地多活的架构,以提高数据库的异常事件应对能力。 在数据库领域,我们常听的“两地三中心”、“异地多活”到底是什么呢? “两地三中

    2023-05-28
    92
  • sql 对表进行聚合查询的方法_MySQL两张表联合查询SQL语句

    sql 对表进行聚合查询的方法_MySQL两张表联合查询SQL语句学习重点 使用聚合函数对表中的列进行计算合计值或者平均值等的汇总操作。 通常,聚合函数会对 NULL 以外的对象进行汇总。但是只有 COUNT 函数例外,使用 COUNT(*) 可以查出包含 NULL

    2023-04-28
    94
  • 数据库事务:ACID 和隔离级别[通俗易懂]

    数据库事务:ACID 和隔离级别[通俗易懂]一、什么是事务 事务是将多条 SQL 作为一个整体进行数据操作。这样能确保全部执行成功或全部执行失败,不改变任何数据。根据业务需求选择不同的存储引擎。对于那些不需要事务的查询类应用,选择非事务型的存…

    2023-03-24
    111
  • oracle存储过程对异常的处理_sqlserver创建存储过程

    oracle存储过程对异常的处理_sqlserver创建存储过程在编写SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法: begin tran update statement 1 … update statement 2 … de…

    2022-12-19
    111
  • excel截取一串字符中的文字_js中截取字符串

    excel截取一串字符中的文字_js中截取字符串应用场景办公过程中需要使用某一单元格内的特定部分,因此需要对字符串进行截取操作。例如单元格内容是这样的:AAA\aaa我们需要的内容是这样的:aaaExcel实现函数部分如下:=RIGHT(A1,LEN(A1)-FIND(“\”,A1,1))==========================================================个人能力有限,如有谬误欢迎指正!…

    2023-03-01
    101
  • 成都哪里可以开清洁服务费发票-中国-新闻网

    成都哪里可以开清洁服务费发票-中国-新闻网成都哪里可以开清洁服务费发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Andr…

    2023-01-31
    103
  • Python数据可视化利器:Matplotlib库的用法

    Python数据可视化利器:Matplotlib库的用法数据可视化已经成为了现代数据科学家和工程师的重要工作之一。Matplotlib是一个优秀的数据可视化库,它支持众多的绘图类型,包括线图,散点图,柱状图,等高线图,和复杂的3D图形。Matplotlib库的设计目标是兼容MATLAB语法,这使得它成为科学计算中最受欢迎的绘图库之一。

    2024-04-12
    26

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注