我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle数据库入门

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle数据库入门

一、Oracle

1、oracle服务

1)OracleDBConsoleorcl

Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。

2)OracleOraDb11g_home1TNSListener

监听器服务,服务只有在数据库需要远程访问的时候才需要。

3)OracleServiceORCL

数据库服务(数据库实例),是Oracle核心服务,该服务是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。

启动顺序:OracleOracle_homeTNSListener,OracleServiceORCL,OracleDBConsoleORCL

2、sql*plus

1)常用命令

help[?|topic]

?模糊查询/topic 具体命令

desc[ribe] 查询指定对象的数据结构

如:desc scott.emp

show option 显示SQL*Plus系统变量的值或环境变量的值

如:show user

用户连接命令:

a、conn[ect] conn 用户名/密码@网络服务名 [as sysdba/sysoper]

b、disc[onnect] 断开与当前数据库的连接

c、passw[ord] 修改用户的密码

d、exit 断开与数据库的连接,同时会退出sql*plus

查看系统所有用户:

select username,account_status from dba_users;

查询用户下所有的表:

select table_name from tabs;

select table_name from user_tables;

select tname from tab;

select?*?from?dba_tables?where?owner=‘SCOTT';

2)用户管理指令

忘记管理员密码:

sqlplus/nolog

connect/as sysdba

alter user sys identified by sys

创建新用户:具有DBA权限的用户执行

create user test  identified by 123456

default  tablespace users

temporary tablespace temp

quota 3m on users;

//用户角色

connect Role(连接角色):临时用户,特别是那些不需要建表的用户

resource Role(资源角色):

提供给用户另外的权限以创建他们自己的表、序列、过程、触发器、索引和簇。只可以创建实体,不可以创建数据库结构

dba Role(数据库管理员角色):拥有所有的系统权限,只有DBA才可以创建数据库结构

用户授权:

grant sys_privi | role to user | role | public [with admin option]

sys_privi:表示Oracle系统权限,系统权限是一组约定的保留字。

role:角色。

user:具体的用户名,或者是一些列的用户名。

public:保留字,代表Oracle系统的所有用户。

with admin option:表示可再将权限授予另外的用户。

如:grant  connet,resource to test;为用户test授予连接和开发系统权限

收回权限:

revoke sys_privi | role from user | role | public;

如:revoke resource from test;

对象权限:

grant obj_privi | all column on schema.object to user | role | public [with grant option] | [with hierarchy option]

obj_privi:表示对象的权限,可以是alter、execute、select、update和insert等

role:角色名

user:被授权的用户名

with admin option:表示被授权者可再将系统权限授予其他的用户

with hierarchy option:在对象的子对象(在视图上再建立视图)上授权给用户

如:grant select,insert,delete,update on scott.emp to test; 给用户test授予select、insert表soctt.emp的权限

收回对象权限

revoke obj_privi | all on schema.object from user | role | public cascade constraints

cascade constraints:表示有关联关系权限也被撤销

如:revoke delete,update on scott.emp from test; 从test用户撤销scott.emp表的update和delete

修改用户:就是创建新用户把create关键字替换成alter

解锁被锁住的用户:

alter user test account unlock;

删除用户:

drop user 用户名 [cascade]

cascade:级联删除选项,连同该用户所拥有的对象一起删除

3)常用数据类型

a、字符类型

char(n byte/char) 默认1字节n最大2000 末尾填充空格以达到指定长度

varchar2(n byte/char) 最大长度必须指定最大4000 超过指定长度则报错

b、数字类型

number(p[,s]) 1-22字节

binary_float 32位单精度浮点型

binary_double 64位双精度浮点型

c、时间类型

date 没有分秒和时间区

timestamp 没有时间区

timestamp with local time zone 使用数据库时区

d、大对象类型

blob 二进制文件,支持事务处理

clob 字节字符数据,支持事务处理

nclob unicode数据,支持事务处理

bfile lob地址指向文件系统上的二进制文件,维护目录和文件名,不参与事务,支持只读

4)sequence序列————主要用于提供主键值

a、创建序列需要的权限:

create sequence 或 create any sequence

b、语法:

CREATE SEQUENCE sequence  //创建序列名称

[INCREMENT BY n]   //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

[START WITH n]     //开始的值,递增默认是minvalue 递减是maxvalue

[{MAXVALUE n | NOMAXVALUE}] //最大值

[{MINVALUE n | NOMINVALUE}] //最小值

[{CYCLE | NOCYCLE}] //循环/不循环

[{CACHE n | NOCACHE}]; //分配并存入到内存中

如:

create sequence seq_test

increment by 1    --每次加1个

start with 1      --从1开始计数

nomaxvalue        --不设置最大值

minvalue 1        --最小值

nocycle           --一直累加,不循环

nocache;          --不建缓冲区

c、序列使用

currval: 返回sequence的当前值

nextval: 返回sequence的下一个值

d、注意事项

currval总是返回当前sequence的值,只有在第一次nextval初始化后,才能使用currval,否则会出错

第一次nextval返回的值是初始值:随后的nextval会自动增加定义的increment by值,然后返回增加后的值

使用cache或许会跳号,比如数据库突然不正常down掉,cache中的sequence就会丢失,可以在定义sequence的时候,使用nocache防止这种情况

e、使用触发器实现自增长

create or replace

trigger trg_customers before insert on test for each row 

begin 

select seq_test.nextval into :new.id from dual; 

end; 

5)分页

a、伪列

rowid行标示符和rownum行号 看不到这两个列,只在数据库内部使用

b、三段式分页

select * from (

select rownum rn, t.* from (

select * from t_users

) t where rownum<=页码值*每页行数

) where rn>(页码-1)*每页行数

6)常用函数

concat(X,Y):连接字符串X和Y

length(X):返回X的长度

substr(X,start[,length])返回X的子字串,从start处开始,截取length个字符,缺省length,默认到结尾

ltrim(X[,TRIM_STR]):把X的左边截去trim_str字符串,缺省截去空格

rtim(X[,TRIM_STR]) 把X的右边截去trim_str字符串

abs(X) X的绝对值

ceil(X) 大于或等于X的最小整数值

floor(X) 小于或等于X的最大整数值

round(X[,Y]) X在第Y位四舍五入

power(X,Y) X的Y次幂

add_months(d,n),在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期。d 表示日期,n 表示加的月数。

last_day(d),返回指定日期当月的最后一天。

extract(fmt FROM d),提取日期中的特定部分。fmt 为:YEAR、DAY等。其中 YEAR、MONTH、DAY可以为 DATE 类型匹配,也可以与 TIMESTAMP 类型匹配;但是 HOUR、MINUTE、SECOND 必须与 TIMESTAMP 类型匹配。

to_char(d|n[,fmt]):把日期和数字转换为制定格式的字符串。Fmt是格式串

to_date(X,[,fmt]) 把一个字符串以fmt格式转换成一个日期类型

to_number(X,[,fmt])把一个字符串以fmt格式转换为一个数字

nvl(X,VALUE):如果X为空,返回value,否则返回X  

nvl2(x,value1,value2)如果x非空,返回value1,否则返回value2

3、jdbc连接数据库————同mysql

驱动类:ojdbc6.jar

类名:oracle.jdbc.driver.OracleDriver

url:jdbc:oracle:thin:@192.168.0.1:1521:orcl

user:scott

password:a1s2d3f4


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle数据库入门

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle数据库入门(一)

数据库分类一、数据库分类1、小型数据库:Access、FoxBase;2、中型数据库:Informix、SQL Server、MySQL;3、大型数据库:SyBase、DB2、Oracle。二、项目中如何合理地使用数据库,可以依据如下三个方面入手:1、负载量有
Oracle数据库入门(一)
2015-09-14

Oracle数据库入门(二)

Oracle SQL*Plus常用命令一、SYS用户和System用户Oracle安装会自动的生成SYS用户和System用户。1) SYS用户时超级用户,具有最高权限,具有SYSDBA角色,有CREATE DATABASE的权限,该用户默认的密码是chang
Oracle数据库入门(二)
2019-09-18

数据库入门

知识点△用数据库的原因1文件操作的复杂度2同步3并发处理4安全△数据库系统(DBS)数据库(DB) + 数据库管理系统 (DBS)+ 数据库应用程序 + 数据库管理员 (BDA)+ 最终用户△数据库管理系统-DBM网络应用服务端我们要使用服务端的数据 - 需要
数据库入门
2021-05-30

access数据库入门教程

以下是一个简单的Access数据库入门教程:1. 创建数据库:打开Access软件,在“文件”菜单中选择“新建”,然后选择“空白数据库”选项。输入数据库名称并选择保存路径,点击“创建”按钮即可创建一个新的数据库。2. 创建表格:在数据库中,
2023-09-13

node+mysql数据库连接(入门)

node+mysql的数据库操作; 1 //引入mysql 2 var mysql = require("mysql"); 3 //进行数据库连接设置 4 var connection = mysql.createConnect
node+mysql数据库连接(入门)
2014-08-15

oracle数据库如何导入数据

导入数据到 oracle 数据库的方法包括:使用 sql*loader 实用程序:创建控制文件定义数据格式和加载选项。使用 sql*loader 命令执行导入。使用 insert 语句逐行插入数据。Oracle 数据库数据导入导入数据到
oracle数据库如何导入数据
2024-06-13

oracle数据库怎么导入数据

在Oracle数据库中,可以使用SQL*Loader工具来导入数据。以下是一些基本步骤:创建一个控制文件,用于指定要导入的数据文件的格式和位置。创建一个数据文件,其中包含要导入的数据。运行SQL*Loader工具并指定控制文件和数据文件
oracle数据库怎么导入数据
2024-04-09

MySQL数据库入门之备份数据库操作详解

本文实例讲述了MySQL数据库入门之备份数据库操作。分享给大家供大家参考,具体如下: 接上一次:MySQL数据库入门多实例配置 一提到数据,大家神经都会很紧张,数据的类型有很多种,但是总归一点,数据很重要,非常重要,因此,日常的数据备份工作
2022-05-16

Flask入门到放弃(四)—— 数据库

转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10979970.htmlORMORM 全拼Object-Relation Mapping,中文意为 对象-关系映射。主要实现模型对象到关系数
2023-01-31

SQL 入门教程:数据库基础

目录一、数据库二、表三、列和数据类型四、行五、主键请参阅目录汇总:SQL 入门教程:面向萌新小白的零基础入门教程你正在读本 SQL 教程,这表明你需要以某种方式与数据库打交道。SQL 正是用来实现这一任务的语言,因此在学习 SQL 之前,你应该对数据库及数据库
SQL 入门教程:数据库基础
2017-01-19

编程热搜

目录