一.oracle的概述
1.oracle的安装
oracle官网下载,安装即可.注意一步一步,中间有一些坑,注意设置你的数据库实例名称等.安装成功之后,看是否有sql plus,并且看能否连上数据库.
2.卸载
oracle自带了卸载的bat文件,我们只需要运行该bat文件即可.卸载命令地址.
*
D:\app\13570\product\11.2.0\dbhome_1\deinstall\deinstall.bat
3.oracle体系结构
- oracle数据库代表的计算机上能看见的oracle的文件
- oracle数据库实例表示我们开启的oracle的服务.
- oracle数据库文件有三种文件:数据文件,重做日志文件,控制文件.
4.oracle进程
oracle共有7个后台进程:如图
5.连接oracle的几种方式
(1)sql plus 只有在本服务器上才可以
(2)网页连接
首先要在这里找到
其次打开浏览器
(3)远程工具(sql developer/plsql或者navacate)
pl/sql
navicat
(4)代码中
spring:
datasource:
url:jdbc:oracle:thin:@192.168.80.3:端口:SID
username:SCOTT
password:*******
driverClassName:oracle.jdbc.driver.OracleDriver
6.常用命令
- conn: 切换用户
- show user : 显示当前登录的用户
- spool: 导出记录到文本
- clear screen: 清屏
- start或者@ 符号 执行sql脚本
- desc : 显示表结构
- show error: 显示错误信息
请输入用户名: scott
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> connect system/KK517525kk
已连接。
SQL> show user
USER 为 "SYSTEM"
SQL> host mkdir e:testOracle
SQL> spool e:\testOracle\test.txt
SQL> select * from emp;
select * from emp
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> connect scott/KK517525kk
已连接。
SQL> show user
USER 为 "SCOTT"
SQL> spool e:\testOracle\test.txt
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE
---------- -------------------- ------------------ ---------- --------------
SAL COMM DEPTNO
---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80
800 20
SQL> spool off;
SQL>
7.系统用户
-
sys : 权限最高,登录必须是在末尾加上 as sysdba;并且关于用户所有的权限都得由这个用户来指定.
-
system :权限稍低于sys.
-
scott :系统创建的给初学者测试用的用户,默认会有几张表,供我们操作.
SQL> conn sys/password as sysdba
已连接。
SQL> conn system/password
已连接。
SQL> conn scott/password
已连接。
SQL>
8.管理用户
- 连接用户
conn 用户名/密码 - 更改密码
alter user 用户名 identified by 新密码 - 不删除,不登录,锁定用户
alter user 用户名 account lock; - 删除用户
drop user 用户名 cascade
9.角色管理
- oracle对于角色权限的控制臂mysql更加的细粒度化
- 能控制到单表的增删改查等等.
- 能使用角色进行控制.
系统自带的三种角色.
二.oracle语法
1.数据类型
number(5,0)表示最大的5位整数
number(5,2)表示最大可存储的999.99的小数
char/varchar
date
2.DDL语句(和mysql大致相同)
- creat table: 创建表
- create index :创建索引
- drop table:删除表
- drop index:删除索引
- truncate:删除表中的数据
- alter table:修改表结构,增加/删除/修改列等(和mysql修改名字不同)
3.DML(基本完全相同)
- insert 增加
- update 修改
- delete 删除
- select 查询
4.DCL
- grant 授权或者授予角色
- revoke 收回权限或者撤销角色
- lock 对数据库特定的部分进行锁定
5.TCL
- commit 提交事务处理(只用增删改查需要手动提交事务,也就是说DML语句需要手动提交)
- rollback 事务回滚
- savepoint 设置保存点
1.dml也就是增删改查在oracle中不会自动commit,需要手动commit.
2.ddl语句会自动commit.
3.如果一个ddl语句会对该行加锁,如果其他用户想要修改,另一个客户未提交释放锁状态的,那不行.