一、操作数据(增、删、改)
当添加、更新或者删除数据库中的数据时需要使用 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)约束的作用:
通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性。