一、数据库

1.1 主流数据库

微软:             sql server 、access
瑞典MySQL: AB公司mysql
IBM公司: db2
美国Sybase公司:sybase
美国oracle公司: oracle

1.2 数据库分类

小型数据库:access、foxbase
中型数据库:mysql、sql server、informix
大型数据库:sybase、oracle、db2

1.3 用什么数据库

项目的规模
负载量多大(用户多大)、成本、安全性

二、oracle安装

2.1 下载

百度网盘:https://pan.baidu.com/s/1Nl9G-3R00018jo5y328Adg

提取码:ze2z

2.2 安装

安装参考:https://blog.csdn.net/qq_40774525/article/details/79919057

安装参考:https://blog.51cto.com/12346621/2149650

在oracle安装成功后,会默认生成三个用户:

①sys用户:超级管理员,权限最高,角色:dba,密码:change_on_install

②system用户:系统管理员,权限高,角色:dbaoper, 密码:manager

③scott用户:普通用户,密码:tiger

2.3 oracle管理工具

①oracle自带的工具软件,主要用于执行sql语句,pl\sql块
开始—>Oracle-OraDB11g_home1——>SQL Plus Oracle system 用户无法登录问题
解决:使用sysdba账号登录(运行cmd-->sqlplus / as sysdba)
解除锁定账号(例如解除system用户):alter user system account unlock;
为system用户设置新密码:alter user system identified by manager; ②pl/sql developer:第三方软件,主要用于开发,测试,优化oracle pl/sql的储存过程

三、oracle基本命令

3.1 sql plus常用命令

①连接:conn 用户名/密码;
当用特权用户身份连接时,必须带上as sysdbs或者是as sysoper ②断开连接:disconnect ③修改密码:passw 回车,提示输入旧密码,然后输入新密码,输入确认密码
该命令用于修改用户的密码,如果想要修改其他用户的密码,需要用sys/system登录 ④显示当前用户名:show user; ⑤exit:该命令会断开与数据库的连接,同时会退出

3.2 文件操作命令

①start:运行sql脚本
案例: start d:\a.sql;

②edit:编辑sql脚本
案例: edit d:\a.sql;

③spool
该命令可以讲sql plus屏幕上的内容输出到指定的sql文件中
案例:spool d:\b.sql; 回车 输入select * from emp 回车 输入spool off;

3.3 显示和设置环境变量

可以用来输出的各种格式,set show如果希望永久的保存相关设置,可以去修改glogin.sql
脚本

①linesize:设置显示行的宽度,默认是80个字符
show linesize;
set linesize 100;

②pagesize:设置每页显示的行数目,默认是14
show pagesize;
set pagesize 20;

四、oracle用户管理

4.1 创建用户

在oracle中要创建一个新的用户试用create user语句,一般具有dba的权限才能使用
create user xiaoming identified by 密码;
如:create user xiaoming identified by x1234;

4.2 给用户修改密码

①给自己:password 用户名;

②给别人:需要具有数据库管理员权限
alter user 用户名 identified by 新密码;

4.3 删除用户

自己不能删除自己,一般以dba权限去删除某个用户
在删除用户时,如果要删除的用户已经创建了表,就需要在删除的时候,带一个参数:cascade

4.4 用户管理的综合案例

①新用户授权
创建的新用户是没有任何权限的,无法登陆数据库,需要为其指定相应的权限
给一个用户赋权限使用命令grant,回收权限使用命令revoke
conn system/manager; 系统管理员登陆
grant connect to xiaoming; 授权
conn xiaomming/密码; 新用户登陆数据库 ②实现:希望xiaoming可以查询emp表,但是xiaoming用户下面没有emp表,也无法建表
给xaioming授权建表:
conn system/manager;
grant resource to xiaoming;
create table test(userid varchar2(30),username varchar2(30)); 建表 ③实现:希望xiaoming可以查询scott用户的emp表
对象权限:用户对其他用户的数据对象操作的权限
包括select、insert、update、delete、all、create index
conn scott/tiger;
授权:grant select on emp to xiaoming 只能查询
conn xiaoming/x1234;
select * from scott.emp; 查询成功 ④实现:希望xiaoming可以修改scott用户的emp表
grant update on emp to xiaoming; ⑤实现:希望xiaoming可以修改/删除/查询/添加scott用户的emp表
grant all on emp to xiaoming; ⑥实现:scott希望收回xiaoming对emp的查询权限
conn scott/tiger;
revoke select on emp from xiaoming;
conn xiaoming/x1234;
select * from scott.emp; 收回权限后,再次查询提示表或试图不存在

4.5 对权限的维护

①实现:希望xiaoming可以查询scott用户的emp表,还希望xiaoming可以把这个权限继续给别人,
如果是对象权限,就加入with grant option:grant select on emp to xiaoming with grant option
如果是系统权限,就加入with admin option:grant select on emp to xiaoming with admin option ②授权
conn scott/tiger;
grant select on emp to xiaoming with grant option; ③创建xiaohong用户:
conn system/manager;
create user xiaohong identified by x5678;
grant connect to xiaohong; 授权xiaohong登录数据库 ④xiaoming授权给xiaohong
conn xiaoming/x1234;
grant select on scott.emp to xiaohong; 授权成功 ⑤实现:如果scott把xiaoming对emp表的查询权限收回,则xiaohong的权限也会被收回
conn scott/tiger;
revoke select on emp from xiaoming; 收回权限成功
conn xiaohong/x1234;
select * from scott.emp; 提示表和视图不存在,级联收回

4.6 profile管理用户的口令

profile是口令限制,资源限制的命令集合,当监理数据库时,oracle会自动建立名称为default的profile。当监理用户没有指定profile选项,那么oracle就会将default分配给用户

①账户锁定
指定该用户登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般用dba的身份去执行该命令 例子:实现指定xiaoming这个用户最多只能尝试3次登录,锁定时间为2天
首先创建profile文件(红色字体是关键字):
create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user xiaoming profile lock_account; 把profile文件分配给指定的用户 conn system/manager;
create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user xiaoming profile lock_account; 用户已更改
这时登录xiaoming用户,密码输入错误3次,账户就会被锁定 ②账户解锁
conn system/manager;
alter user xiaoming account unlock; ③终止口令
为了让用户定期修改密码可以时用终止口令的指令来完成,同样这个命令也需要dba的身份来操作
例子:实现给用户xiaoming创建一个profile文件,要求该用户每隔10天要修改登录密码,宽限期为2天。
create profile lock_account limit password_life_time 10 password_grace_time 2;
alter user xiaoming profile lock_account; ④删除profile
当不需要某个profile文件时,可以删除该文件
drop profile password_history;

五、oracle表管理

5.1 数据类型

①字符型
char(10) :定长,最大2000字符
varchar2(20) :变长,最大4000字符
create table user (userName char(2000) ②数字型
number
范围:-10的38次方——10的38次方
可以表示整数,也可以表示小数 number(5,2) 表示一个小数有5位有效数,2位小数
范围:-999.99——999.99 number(5) 表示一个五位整数
范围:-99999——99999 ③日期类型
date 包含年月日时分秒
timestamp 这是oracle9i对date数据类型的扩展 ④图片类型
blob 二进制数据 可以存放图片/声音 4G

5.2 创建表

①学生表
create table student(
xh number(4), 学号
xm varchar2(20), 姓名
sex char(2), 性别
birthday date, 出生日期
sal number(7,2) 奖学金
); ②班级表
create table class(
classid number(2),
cname varchar2(20)
);

5.3 修改表

①添加一个字段
alert table student add (classid number(2));

②修改字段的长度
alter table student modify (xm varchar2(30));

③修改字段的类型
alter table student modify (xm char(30));

④删除一个字段
alter table student drop cloumn sal;

⑤修改表的名字
rename student to stu;

⑥删除表
drop table student;

⑦查看表
desc student;

5.4 添加数据

①insert into student values(1,’张三’,’男’,’09-5月-99’,100,12);

②oracle中默认的日期格式:DD-MON-YY
注:DD:天,MON:月,YY:年
09-5月-99:1999年5月9号 ③修改日期的默认格式:alter session set nls_date_format=‘yyyy-mm-dd’;
修改后可以用我们熟悉的格式添加日期类型:
insert into student values (1,’张三’,’男’,’1999-05-09’,100,12); ④插入部分字段
insert into student(xh,xm,sex) values(1,’李四’,’女’); ⑤插入空值
insert into student(xh,xm,sex,birthday) values(1,’王二’,’男’,null); ⑥查询为空/不为空
select * from student where birthday is null;
select * from student where birthday is not null; ⑦修改一个字段
update student set sex=’女’ where xh=1;

修改多个字段
update student set sex=’女’ ,birthday=’ 1995-12-29’ where xh=1;

5.5 删除数据

①delete from student;删除所有记录,表结构还在,写日志可以恢复,速度慢
可以实现回滚
savepoint 张三; 删除之前保存节点
delete from student; 删除数据
   select * from student; 无数据
   rollback to 张三; 回滚
select * from student; 有数据 ②drop table student; 删除表结构和数据 ③delect fromstudent where xh=1; 删除一条数据 ④truncate table student; 删除表中的所有记录,表结构还在,不写日志无法找回删除的记录,速度快

六、创建数据库的两种方法

6.1 通过oracle提供的向导工具

Database Configuration Assistant   数据库配置助手

点击 —> 创建数据库 —> New Database —> 设置数据库名称 —> 数据库特性和定制脚本默认 —> 专用服务器模式 —> 典型自定义可以根据自己需求修改 —> 数据库储存默认 —> 创建数据库

6.2 手工步骤直接创建

oracle基本使用的更多相关文章

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  3. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  4. Oracle 的基本操作符

    != 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...

  5. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  6. 基于Oracle安装Zabbix

    软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...

  7. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  8. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

  9. 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断

    概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...

  10. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

随机推荐

  1. 【记忆化搜索】Happy Happy Prime Prime

    题目描述 RILEY VASHTEE: [reading from display] Find the next number in the sequence:313 331 367 ...? Wha ...

  2. 怎样查看Redis的版本号

    Q: 怎样查看Redis版本 A: 下面两条命令都可以查看redis 版本: redis-server --version redis-server -v

  3. makemigrations和migrate到底干了什么以及如何查询原生的sql语句

    在你改动了 model.py的内容之后执行下面的命令: python manger.py makemigrations 相当于 在该app下建立 migrations目录,并记录下你所有的关于mode ...

  4. luogu2568GCD题解--欧拉函数

    题目链接 https://www.luogu.org/problemnew/show/P2568 分析 题目即求\(\sum_{i=1}^N \sum_{j=1}^N [gcd(i,j)\) \(is ...

  5. jQuery 手写菜单(ing)

    菜单支持多级 直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  6. struts-2.5.14.1 中web.xml的基本配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  7. TensorFlow C++接口编译和使用

    部分内容from: Tensorflow C++ 从训练到部署(1):环境搭建 在之前的编译中,已经编译好了tensorflow_pkg相关的wheel.现在有一个需求,需要按照C++的代码进行模型加 ...

  8. 安卓进阶之自定义View

    目录 安卓进阶之自定义View 自定义View的工作流程和内容 工作流程 测量阶段和布局阶段的工作内容 View 和 ViewGroup 在测量阶段和布局阶段的区别 绘制阶段的工作内容 上手:实现继承 ...

  9. JPA中的主键生成策略

    通过annotation(注解)来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里的@id和@Gen ...

  10. 【fiddler】Fiddller的应用

    一.fiddler抓取移动端接口 1.获取PC端IP 2.手机ip设置为与电脑同一局域网ip并配置代理 1)手机ip地址与pc地址连接同一局域网网络 2)代理设置为手动,主机名为PCip,端口号为88 ...