Oracle_DML数据操纵语言
Oracle_DML数据操纵语言
--SQL语句分为三种类型,这篇讲的DML就是其中一种
DML:Data Manipulation language 数据操纵语言
DML用于查询与修改数据记录,包括以下语句:
Insert:添加数据到数据库中
Update:修改数据库中的数据
Delete:删除数据库中的数据
Select:查询数据库中的数据
Insert 语句:添加数据
在给表插入数据时,要根据表的列默认顺序给各个列列出数据,还要注意字符和日期需要包含在单引号中。
按照下列第一个例子语句,只能插入一条数据,想要插入多条数据的话就需要用到子查询。
第一个例子:添加单条数据
insert into student_1 values(001,'MissHuang',to_date('1999-6-9','YYYY-MM-DD'),90);
第二个例子:在insert语句中使用子查询(添加多条数据)
在使用子查询时不必写values子句,还有子查询中的值列也是要和insert子句中的列进行对应的。
insert into student_2 (student_id,student_name) select sno,sname from student;
update语句:修改更新数据
Update 要配合set使用,格式:update 表名 set 需要修改的数据。
在使用update语句时加上where子句可以指定需要更新的数据,具体效果可以看下列例子一。
如果省略where子句的话,表中所有的数据都将被更新,具体效果可以看下列例子二。
还有在update语句中,也是可以使用子查询的,具体看例子三。
例子一:update student_2 set student_name='哈哈' where student_id=1;
例子二: update emp_1 set last_name='哈哈' ;
在update语句中使用子查询:
在update中使用子查询,可以更新基于另一个表中的数据
例子三:update emp_1 set last_name=(select last_name from employees where employee_id=100) where emp_1_id=198;
delete语句:删除数据
使用where子句删除指定的记录,查看例子一; 如省略where子句,表中数据将全部被删,查看例子二;
Delete语句使用子查询效果请看例子三
例子一:delete from emp_1 where emp_1_id = 199;
例子二:delete from emp_1;
在delete语句中使用子查询:
在 delete 中使用子查询,使删除基于另一个表中的数据
例子三:delete from emp_1 where emp_1_id=(select employee_id from employees
where employee_id=198);
Select语句:查询数据
查询就是根据所需要的条件去查询出所要的数据;一个表,你可以查询整张表的数据,或者查询某一列数据,再或者你想要的其他条件。
例子一:查询整表数据--*标识符代表全部 select * from employees;
例子二:查询某列数据 select last_name from employees;
例子三:条件查询
select last_name,hire_date,salary from employees
where hire_date=to_date('1994-6-7','YYYY-MM-DD');