胸怀万里世界, 放眼无限未来。这篇文章主要讲述Oracle数据库的增删改,索引视图以及序列的创建和销毁相关的知识,希望能为你提供帮助。
一、Oracle数据库的建表操作
数据库中是以表为单位进行数据的组织与整理的,数据库中的建表和java中的 建类作用相似。
在开发中,java中的一个类中的属性和数据库表中的列属性对应,这个类也称为实体类;
文章图片
二、数据库的增删改
1,数据库表的增加数据,也叫插入数据
【Oracle数据库的增删改,索引视图以及序列的创建和销毁】
文章图片
2,删除数据
文章图片
3,更新
文章图片
4,数据库对表中列的增删改
--创建一个学生表
CREATE TABLE t_student (
student_id NUMBER ( 20 ) primary key,
student_name VARCHAR2 ( 20 ) NOT NULL,
age NUMBER ( 3 ) CHECK ( age > = 0 AND age < = 150 ),
sex VARCHAR2 ( 6 ) CHECK (
sex IN ( 男, 女 )),
birthday DATE,
mobile VARCHAR2 ( 20 ),
address VARCHAR2 ( 200 ),
class_id NUMBER ( 10 ) references t_class ( class_id )
)
--删除一个表
DROP TABLE t_student;
--增加一列 alter table + 表名 + add +列名 + 类型+ 约束
ALTER TABLE t_student ADD email VARCHAR2 ( 40 ) CHECK ( email LIKE %@qq.com );
--修改表中的一列
ALTER TABLE t_student MODIFY email VARCHAR2 ( 50 );
--删除表中的一列
ALTER TABLE t_student DROP COLUMN email;
--添加多列
ALTER TABLE t_student ADD (
username VARCHAR2 ( 20 ),
password VARCHAR2 ( 20 ));
-- 删除多列
ALTER TABLE t_student DROP ( username, password );
看上面sql语句,发现删除一列的时候需要加column关键字,而删除多列的时候却又不需要加column了,
这Oracle奇怪的语法!#¥#%¥¥#¥Y^%
三、Oracle中序列的创建
序列 sequence是Oracle提供的工具,用来生成自增的不重复的值。
文章图片
四、4. 索引 index
索引相当于咱们小学时用的汉语字典,索引就相当于目录,可以通过目录快速找到我们需要的内容,
利用索引可以很大程度上提高我们的查询速度。
但是索引创建的多了也不好,什么东西多了都是物极必反。就像索引一样,虽然很大程序上提高了我们的查询速度,但是相应的肯定也会降低我们增删改的效率。
数据库为主键以及唯一列(加unique约束的列)自动创建索引
文章图片
五、视图 view
视图就是为一个复杂查询SQL的起一个别名,可提高开发效率,但不能提高查询效率。
例如上篇中我们用到的员工表employees和部门表departments。 要想实现两张表的连接查询并且分页,是不是要好长一段代码,而这时如果把表的连接语句抽取出来创建成一个视图,那么SQL语句的可读性就提高很多了
文章图片
六、Oracle数据库的数据保护机制:DTL(Data Transaction Language) 数据事务语言
事务:数据库的一种机制,保证一个业务操作包含的多条SQL,
要么同时成功,要么同时失败。
事务的特性:
A(Atomic)原子性:事务包含的多条SQL要么同时成功,要么同时失败
C (Consistency)一致性:事务包含的SQl执行前后,表中的数据必须是正确的
I (Isolation)隔离性:多用户并发访问数据库时,是否允许不同的client查看到对方未曾提交的数据。
D (Durability)持久性:一个事务结束(成功commit,失败rollback),不能再通过commit或rollback更改事务的结果。
文章图片
推荐阅读
- React 配置化+Serverless,落地低代码+云原生全栈开发
- #yyds干货盘点#MyBatis-plus 从入门到入土 !
- CGIPHP-FPMFastCGI配置指令
- Keepalived安装和主要配置文件详解
- #yyds干货盘点#关于 docker-compose stop 和 docker-compose start 的误解
- FreeFileSync文件同步软件操作指引以及功能介绍
- Tkinter中的不同消息|Python
- 计算机组织|不同的指令周期详细图解
- C语言中如何区分可打印字符和控制字符()