insertinto中插⼊number类型数据_数据库基础学习——SQL语
⾔知识总结(5)
⼀. 操纵数据(DML)
数据操纵语⾔:当添加、更新或者删除数据库中的数据时需要使⽤ DML 语句。DML 依
数据操纵语⾔:
据的⼀个集合构成了⼀个被称为事务的逻辑单元。
当完成下⾯操作时,DML 语句被执⾏:
– 添加新⾏到表中
– 修改表中的⾏
– 删除表中的⾏
1 添加⼀个新⾏到表中
1.1INSERT 语句语法
⽤该语法⼀次只能插⼊⼀⾏
1.2指定列添加
insert into departments(department_id,department_name,manager_id,location_id) values(280,'Teaching',180,2000);
1.3完全列添加
insert into departments values(280,'Teaching',180,2000);
1.4插⼊带空值的⾏
隐式⽅法: 省略字段列表中的列。
insert into departments(department_id,department_name) values(300,'A');
显式⽅法: 在 VALUES ⼦句中指定 NULL 关键字。
insert into departments(department_id,department_name,manager_id,location_id) values(310,'A',null,null);
1.5插⼊⽇期值
⽰例
添加⼀个新的雇员:
insert into employees(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id) value 使⽤默认⽇期格式:
insert into employees(employee_id,first_name,last_name, email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)value 指定⽇期格式:
insert into employees(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)values 1.6从另⼀个表中复制⾏
· ⽤⼀个查询写 INSERT 语句
· 不⽤ VALUES ⼦句
· 在查询中列的数⽬要匹配 INSERT ⼦句中列的数⽬
创建表
create table EMP(id NUMBER not null,name VARCHAR2(50),salary NUMBER(8,2),commission NUMBER(2,2));
⽰例
将 employees 表中的 job_id 中含有 REP 的⼯作岗位的数据插⼊到 emp 表中。
insert into emp(id,name,salary,commission) select employee_id,last_name,salary,commission_pctfrom employees where job_id like '%REP%';ORinsert int 1.7使⽤默认值
在 INSERT 中的 DEFAULT
insert into emp (id,name) values(302,'Kevin');
insert into emp values(301,'OldLu',default,null);
2 改变表中的数据
2.1UPDATE 语句的语法
⽤ UPDATE 语句修改已存在的⾏
⽰例
更新 emp 表中 ID 为 170 的数据,将名字修改为 OldLu,薪⽔修改 20000。
update emp e set e.name = 'OldLu',e.salary= 20000 where e.id = 170;
2.2⽤查询更新列
⽰例
更新 emp 表中的雇员 165 的薪⽔,使其和雇员 156 相同。
update emp e set e.salary = (select salary  from emp where id = 156) where e.id = 165;
3 从表中删除⾏
3.1DELETE 语句
使⽤ DELETE 语句从表中删除已存在的⾏。
⽰例
删除 emp 表中 id 为 302 的雇员。
delete from emp where id = 302;
3.2删除基于另⼀个表的⾏
⽰例
删除 emp 表中薪⽔与 IT_PROG 岗位相同的薪⽔。
delete from emp where salary in(select distinct salary from employees where job_id ='IT_PROG');
3.3删除表中的全部数据
如果在删除语句中没有给定任何条件,那么数据将会删除该表中的所有数据。
⽰例
删除表中的所有数据。
delete emp;
3.4删除⾏: 完整性约束错误
解决⽅法:先删除外键,再删除主键。
⼋、事务处理语⾔(TCL)
1 什么是事务
指作为单个逻辑⼯作单元执⾏的⼀系列操作,要么完全地执⾏,要么完全地不执⾏。
2 什么是事务特性
2.1原⼦性(ATOMICITY)
事务中的操作要么都不做,要么就全做。
2.2⼀致性(CONSISTENCY)
⼀个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了⼀个成功的事务时,数据应处于⼀致的状态。
2.3隔离性(ISOLATION)
⼀个事务的执⾏不能被其他事务⼲扰。
2.4持久性(DURABILITY)
⼀个事务⼀旦提交,它对数据库中数据的改变就应该是永久性的。
3 使⽤事务
<事物提交
<事物回滚
savepoint..设置回滚点
3.1事务类型
3.1.1显式事务
需要我们⼿动的提交或回滚。
DML 语⾔中的所有操作都是显⽰事务操作。
3.1.2隐式事务
数据库⾃动提交不需要我们做任何处理,同时也不具备回滚性。
DDL、DCL 语⾔都是隐式事务操作
3.2事务提交
Commit
当我们执⾏了⼀个 DML 语⾔后,此时的数据并不会持久化到数据⽂件中。需要使⽤commit 来确认提交。
3.3事务回滚
Rollback
当我们执⾏了⼀个 DML 语⾔后,也可以使⽤ rollback 来撤销当前对表的操作。
3.4设置回滚点
Savepoint
Rollback to
insert语句字段顺序九、数据定义语⾔(DDL)
<创建数据库对象
<删除数据库对象
<修改数据库对象
<修改数据库对象名称
1 创建表(CREATE TABLE)
⽰例
create table dept(deptno NUMBER(2),dname VARCHAR2(14),loc VARCHAR2(13));
1.2Oracle 数据库中的表
· ⽤户表:
– 由⽤户创建和维护的表的集合。
– 包含⽤户信息。
· 数据字典:
– 由 Oracle 服务器创建和维护的表的集合。
– 包含数据库信息。
1.2.1常见的数据字典表
1.3⽤查询创建表
⽰例
create table dept80 as select employee_id,last_name name,salary,hire_date from employees e where e.department_id = 80;
2 修改表(ALTER TABLE)
ALTER TABLE 语句可以修改表的信息。
· 添加⼀个新列
· 修改⼀个已存在的列
· 删除⼀个列
2.1添加⼀个新的列
⽰例

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。