美文网首页
Oracle学习day-30:操作数据(DML)

Oracle学习day-30:操作数据(DML)

作者: 开源oo柒 | 来源:发表于2019-08-21 21:52 被阅读0次

一、操作数据(增、删、改)

当添加、更新或者删除数据库中的数据时需要使用 DML 语句。 DML 依 据的一个集合构成了一个被称为事务的逻辑单元。

1.添加数据

(1)insert语句语法:

(2)示例:

向 departments 表中添加一条数据:Department_Id=280 Department_name=Teaching Manager_id=180 Location_id=2000;

(3)插入带空值的行:

1)隐式方法:省略字段列表中的列。

insert into 表名(列名1,列名2,省略列)values(值1,值2);

2)显式方法:在 VALUES 子句中指定 NULL 关键字。

insert into 表名(列名1,列名2...)values(值1,值2,null,null);

(4)插入日期值:

1)使用系统默认日期格式:

2)指定日期格式:

使用to_date('2019-08-20','yyyy-mm-dd')。

(5)使用默认值:

在values值中使用default关键字代表默认值。

(6)复制表中的数据到另一个表中:

将部门表中的数据复制到Dept2表中;

使用insert into 目标表名[列名1,列名2...] select子语句;

2.改变数据

(1)UPDATE 语句的语法:

update 表名set列名1=值1,列名2=值2...[where子语句]。

注意:

1)没有where子句将改变整列的数据。

3.删除数据

(1)DELETE 语句的语法:

delete[from]表名[where子语句]。

注意:

1)如果没有where子句将删除所有数据。

2)如果删除主表数据时要求其从表没有相关的引用数据。

二、事务处理语言

1.什么是事务?

指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。

2.事务的特性:

(1)原子性(ATOMICITY)

事务中的操作要么都不做,要么就全做。

(2)一致性(CONSISTENCY)

一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成 功的事务时,数据应处于一致的状态。

(3)隔离性(ISOLATION)

一个事务的执行不能被其他事务干扰。

(4)持久性(DURABILITY)

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

3.使用事务:

1)commit.....事物提交:

当我们执行了一个 DML 语言后,此时的数据并不会持久化到数据文件中。需要使用 commit 来确认提交。

2)rollback....事物回滚:

当我们执行了一个 DML 语言后,也可以使用 rollback 来撤销当前对表的操作。

3)savepoint..设置回滚点;

(1)事务分类

1)显示事务:

需要我们手动的提交或回滚,DML 语言中的所有操作都是显示事务操作。

2)隐式事务:

数据库自动提交不需要我们做任何处理,同时也不具备回滚性,DDL、DCL 语言都是隐式事务操作。

三、数据定义语言(DDL)

create:创建数据库对象;

drop:删除数据库对象; 

arter:修改数据库对象 ;

rename:修改数据库对象名称;

1.创建表(CREATETABLE):

2.常见的数据字典表

3.修改表(ALTERTABLE):

ALTERTABLE 语句可以修改表的信息。

1)添加一个新列 ;

2)修改一个已存在的列 ;

3)删除一个列;

(1)修改名字:

rename 表名 to 新表名;

(2)截断表(TRUNCATETABLE)

truncate table 表名;删除表中的所有数据,保留表结构。作用等同于delete from;

truncate table 表名和delete form表名 区别:

相同点:都将表中的数据删除,保留表结构;

不同点:truncate table 将数据删除不记录日志,而delete from 表名删除表时记录日志;

效率上:truncate table高于 delete from 表名 。

(3)删除表:

drop table 表名;

四、定义约束

1.数据库中的约束类型:

非空约束(NOTNULL)唯一性约束(UNIQUE),主键约束(PRIMARYKEY),外键约束(FOREIGNKEY),用户自定义约束(CHECK);

(1)定义约束原则:

创建一个约束:在创建表的同时,或者在创建表之后都可以定义约束。可以给约束起名 字,但是约束名不能相同,必须是唯一的。如果没有为约束起名字,Oracle 服务器将用默 认格式 SYS_Cn 产生一个名字,这里 n 是一个唯一的整数,所以约束名是唯一的。

(2)约束的作用:

通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性。

2.定义 NOTNULL 约束:

3.定义UNIQUE 约束:

4.定义 PRIMARYKEY 约束

5.定义 FOREIGNKEY 约束

6.定义 CHECK 约束

相关文章

网友评论

      本文标题:Oracle学习day-30:操作数据(DML)

      本文链接:https://www.haomeiwen.com/subject/wzqwsctx.html