当前位置 : 主页 > 编程语言 > java >

Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁

来源:互联网 收集:自由互联 发布时间:2022-09-02
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

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提供的工具,用来生成自增的不重复的值。

Oracle序列的创建和删除

四、4. 索引 index

索引相当于咱们小学时用的汉语字典,索引就相当于目录,可以通过目录快速找到我们需要的内容,

利用索引可以很大程度上提高我们的查询速度。

但是索引创建的多了也不好,什么东西多了都是物极必反。就像索引一样,虽然很大程序上提高了我们的查询速度,但是相应的肯定也会降低我们增删改的效率。

数据库为主键以及唯一列(加unique约束的列)自动创建索引

Oracle索引的创建和删除

五、视图 view

视图就是为一个复杂查询SQL的起一个别名,可提高开发效率,但不能提高查询效率。

例如上篇中我们用到的员工表employees和部门表departments。 要想实现两张表的连接查询并且分页,是不是要好长一段代码,而这时如果把表的连接语句抽取出来创建成一个视图,那么SQL语句的可读性就提高很多了

Oracle数据库视图的创建

六、Oracle数据库的数据保护机制:DTL(Data Transaction Language) 数据事务语言

事务:数据库的一种机制,保证一个业务操作包含的多条SQL,

要么同时成功,要么同时失败。

事务的特性:

A(Atomic)原子性:事务包含的多条SQL要么同时成功,要么同时失败 C (Consistency)一致性:事务包含的SQl执行前后,表中的数据必须是正确的 I (Isolation)隔离性:多用户并发访问数据库时,是否允许不同的client查看到对方未曾提交的数据。 D (Durability)持久性:一个事务结束(成功commit,失败rollback),不能再通过commit或rollback更改事务的结果。 Oracle数据事务语言

网友评论