oracle 数据库简单操作,主要就是登录数据库 创建用户 创建数据表 增删改查 提交回滚这些最基础的 SQL 语句,适合刚装好 Oracle 的新手练习,Oracle 和 MySQL 语法有部分差别,比如自增字段,分页查询,数据类型,日期函数都不一样,很多新手直接套用 MySQL 语句会报错,Oracle 默认使用 scott 示例用户或者新建普通业务用户,不建议直接用 sys system 超级用户做日常业务操作,容易误删系统表造成数据库崩溃,所有 DML 数据操作默认不会立刻永久保存,必须执行 commit 提交才会真正写入数据库,如果没有提交执行 rollback 就可以撤销本次修改,这个是 Oracle 非常重要的特点,也是新手最容易忽略的点,下面从登录开始,按顺序讲解最常用基础操作,附带可直接复制练习的 SQL 语句,同时说明执行注意事项。
一 基础登录操作
| 登录方式 | 操作说明 |
|---|---|
| sqlplus 命令行 | 打开 cmd,输入 sqlplus 用户名 / 密码 @实例名,例如 sqlplus scott/tiger@orcl |
| sys 管理员登录 | sqlplus sys as sysdba,适合管理维护,不建议业务开发使用 |
| 图形客户端 | PLSQL Developer 或者 DBeaver,填写用户名密码主机端口实例名连接 |
登录成功之后会出现 SQL 提示符,就可以输入 SQL 语句,语句结尾必须加分号,按回车执行,如果没有加分号,Oracle 会认为语句还没有写完。
二 常用基础操作分类总览
| 操作类别 | 核心 SQL | 作用 |
|---|---|---|
| 用户管理 | create user | 创建新数据库用户 |
| 权限授权 | grant | 给用户分配连接建表权限 |
| 建表 | create table | 创建业务数据表 |
| 新增数据 | insert into | 向表插入记录 |
| 查询数据 | select | 查询表里面的数据 |
| 修改数据 | update | 更新表已有记录 |
| 删除数据 | delete | 删除表记录 |
| 事务控制 | commit rollback | 提交或者回滚修改 |
三 详细操作步骤
1 创建用户与授权
create user testuser identified by Test1234;
grant connect,resource to testuser;
第一句创建用户 testuser,密码 Test1234,第二句授予连接数据库和创建表的基础权限,执行完之后就可以切换到 testuser 用户登录做业务练习。
2 创建数据表
create table student(
id number primary key,
name varchar2(20),
age number,
create_time date
);
Oracle 常用数据类型,number 代表数字,varchar2 是变长字符串,date 是日期类型,primary key 设置主键,主键字段不能重复不能为空。
3 insert 插入数据
insert into student(id,name,age,create_time) values(1,'张三',18,sysdate);
sysdate 是 Oracle 内置函数,自动获取当前系统日期,插入之后只是暂存,还没有永久保存。
4 select 查询数据
select from student;
select id,name from student where age>18;
星号代表查询全部字段,where 用来写筛选条件,Oracle 查询区分大小写,表名字段名默认大写。
5 update 修改数据
update student set age=20 where id=1;
修改的时候一定要写 where 条件,如果不写 where,整张表所有记录都会被更新,属于高危操作。
6 delete 删除数据
delete from student where id=1;
delete 只删除符合条件的行,表结构还保留,如果想要清空整张表并且保留表,可以使用 truncate table student,truncate 不能回滚。
7 事务提交与回滚
commit;
rollback;
commit 提交,提交之后修改永久生效,不能回滚,rollback 回滚,撤销还没有提交的 insert update delete 操作。
四 其他常用简单辅助操作
1 查看表结构,desc student,这个是 Oracle 专属命令,用来查看字段类型主键信息
2 删除表,drop table student; 会直接删除整张表和表结构,谨慎执行
3 查看当前登录用户,select user from dual; dual 是 Oracle 自带的虚拟表,很多函数查询都借助 dual
4 修改表增加字段,alter table student add address varchar2 (50);
五 新手常见注意点
第一 所有 SQL 语句结尾必须写分号,缺少分号是最常见报错原因
第二 Oracle 默认表名字段名自动转为大写,写小写如果不加双引号,查询会提示表或者视图不存在
第三 update delete 一定要带 where 条件,防止全表误更新误删除
第四 事务没有 commit 之前,其他会话是看不到你修改的数据,这个是 Oracle 隔离机制
第五 不要在 sys system 用户下练习业务 SQL,避免误操作系统数据字典
全部基础语句练习完成,可以熟练完成建表增删改查和事务提交回滚,就掌握 oracle 数据库简单操作核心内容。
【常见问题】
问题 1 oracle 数据库简单操作里面 insert 之后为什么别人看不到数据
回答 1 oracle 数据库简单操作里面 insert 数据之后,如果还没有执行 commit 提交,事务还没有持久化,其他会话无法看到新增记录,执行 commit 之后才可以,这是 oracle 数据库简单操作重点知识点
问题 2 oracle 数据库简单操作 update 不加 where 会怎么样
回答 2 oracle 数据库简单操作 update 语句如果不写 where 条件,整张表全部记录都会被更新,属于高危误操作,oracle 数据库简单操作练习的时候一定要养成写 where 筛选条件的习惯
问题 3 oracle 数据库简单操作 desc 命令是什么作用
回答 1 oracle 数据库简单操作里面 desc 是查看表结构命令,输入 desc 表名,可以查看字段名称类型主键信息,是 oracle 数据库简单操作非常实用的快捷命令
问题 4 oracle 数据库简单操作 delete 和 truncate 有什么区别
回答 4 oracle 数据库简单操作中 delete 可以带 where 删除部分数据,并且支持 rollback 回滚,truncate 清空整表数据,速度更快,但是不能回滚,oracle 数据库简单操作练习需要分清两者差异
【免责申明】
本教程仅作为 Oracle 数据库入门学习参考,SQL 操作特别是 drop truncate update 等语句存在误删数据风险,正式业务环境执行前请做好备份,不同 Oracle 版本语法细节略有差异,操作产生的数据损坏等后果由操作者自行承担。


