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

相关推荐

  • hive orc文件_ora是什么文件

    hive orc文件_ora是什么文件ORC文件是以二进制的方式存储的,不可以直接读取,但由于ORC的自描述特性,其读写不依赖于 Hive Metastore 或任何其他外部元数据。本身存储了文件数据、数据类型及编码信息。因为文件是自包含

    2023-06-02
    157
  • 利用Python exec()实现动态代码执行

    利用Python exec()实现动态代码执行在Python中,动态代码特指用字符串、元组、列表、字典等对象表示的代码。Python中有两种实现动态代码的方式:eval()和exec();前者是计算表达式的值,后者是执行字符串中的代码。

    2024-08-08
    24
  • 1.AutoMapper简单介绍[通俗易懂]

    1.AutoMapper简单介绍[通俗易懂]官网:http://automapper.org/ 源码:https://github.com/AutoMapper/AutoMapper NUGET安装: PM> Install-Packag

    2022-12-29
    150
  • oracle常用函数详解(详细)[亲测有效]

    oracle常用函数详解(详细)[亲测有效]Oracle SQL 提供了用于执行特定操作的专用函数。这些函数大大增强了 SQL 语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。 oracle 数据库中主要使用两种类型的函数:…

    2023-03-20
    147
  • sqlserver存储过程分页查询_sql server分页查询

    sqlserver存储过程分页查询_sql server分页查询sqlserver 单表(视图)通用分页存储过程 create procedure proc_getpage @table_name varchar(100), –表名(视图) @select_fi

    2022-12-20
    147
  • Jprofile解析dump文件使用详解「终于解决」

    Jprofile解析dump文件使用详解「终于解决」1 Jprofile简介 "官网" 下载对应的系统版本即可 性能查看工具JProfiler,可用于查看java执行效率,查看线程状态,查看内存占用与内存对象,还可以分析dump日志

    2023-02-01
    158
  • python如何开发gui程序(python做GUI)

    python如何开发gui程序(python做GUI)在网页中下载python3解释器,我下载时候,版本是选择的是3.3,因为python3和python2语法上有些区别,所以大家就跟我一样都用python3吧,或许有朋友对于“语法”这个词不明白,没关系,后面小编会给大家讲到的。下好后,文件名为python-3.3.3.msi,当然因为我们下载时间不同,可能文件有所不同,比如你下的可能是python-3.4.0.msi,因为这个软件也是在不断升级中的

    2023-11-27
    125
  • mysql标识列和事务 – 自律即自由[亲测有效]

    mysql标识列和事务 – 自律即自由[亲测有效]1 #标识列 2 /* 3 又称为自增长列 4 含义:可以不用手动的插入值,系统提供默认的序列值 5 6 7 特点: 8 1、标识列必须和主键搭配吗?不一定,但要求是一个key 9 2、一个表可以有几

    2023-03-20
    147

发表回复

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