一、数据库

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. Java打包

    打成jar包 如果你使用的是maven来管理项目,执行以下命令既可以 cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令## 排除测试代码后进行打包mv ...

  2. MySQL 设置密码和允许远程登录

    mysqladmin -u root password "newpass" GRANT ALL PRIVILEGES ON *.* TO root' WITH GRANT OPTI ...

  3. winfrom 保存图片

    private void btnSave_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); ...

  4. VMware永久key

    VMware永久KEY:5F29M-48312-8ZDF9-A8A5K-2AM0Z

  5. 判断ubuntu是32位还是64位

    在终端输入 sudo uname -m 显示 如果显示i686,你安装了32位操作系统 如果显示 x86_64,你安装了64位操作系统 更多: sudo uname -s 显示内核名字s sudo u ...

  6. git遇到的问题记录2019.05.07

    用sourcetree拉取代码,报错如下: error: cannot lock ref 'refs/remotes/origin/my_branch': unable to resolve refe ...

  7. element-ui表格带复选框使用方法及默认选中方法

    一.实现多选:步骤1:在表格中添加一列 步骤2:在data中定义以及数组用来存储选中的元素.例如:multipleSelection:[] selection-change方法用户实时监听选中元素 实 ...

  8. WinPE基础知识之导出表

    // 导出的东西包括函数(变量.类)地址,序号,函数(变量.类)名 typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; // ...

  9. 分布式全局ID的几种生成方案

    前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等. 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是 ...

  10. sql循环-游标、临时表、表变量

    游标 在游标逐行处理过程中,当需要处理的记录数较大,而且游标处理位于数据库事务内时,速度非常慢. -- 声明变量 DECLARE @Id AS Int -- 声明游标 DECLARE C_Id CUR ...