Oracle-02

1、表的数据(内容)操作---数据操纵语言DML
     insert/update/delete语句进行操作,需要执行TCL中commit语句才能确认此操作

    1)insert往数据表插入一条数据

      a. 要插入全部字段

insert into table_name values(值1,值2,值3...);

      b. 指定的字段,只插入指定的字段对应值

insert into table_name(column_name1,column_name2) values(值1,值2)

      如:向部门表中添加数据

//第一种写法插入全部字段
insert into dept_xu values(10,'研发部','南京'); //需要手动提交commit
//第二种写法,只插入指定字段
insert into dept_xu(deptno,dname,location) values(20,'行政部','南京');

      注意:sql默认是自动提交的,若没有自动提交需要手动提交。如果不提交,只是当前会话可以看到数据,但数据信息并没有真正放入数据库中

        a. 全部字段方式插入,数据要跟表结构字段一一对应,字段是不能多也不能少

        b. 数据问题,字符和数值类型,若定义结构的时候都有指定的长度,数据不能超过范围,日期数据要注意格式匹配问题

        c. 插入字符,日期数据时需要使用单引号

    2)update  更新语句

      语法:update table_name set column_name1=value1,column_name2=value2...[where 条件];

      注意:

        a. 修改多列,中间用逗号隔开

        b. 如果没有where语句,则表示没条件,表数据中全部记录的指定字段将被修改成相同的

        c. [] 表示语句可选项,where语句可加可不加

      eg:修改部门表中40号部门地点改为‘南京’

update dept_xu set location='南京' where deptno=40;
commit;

    3)delete 删除数据

      语法:delete [from] table_name [where 条件];

      注意:若没有where语句,表示表的数据全部被删除

      例如:将部门表中的50号部门删除

delete from dept_xu where deptno=50;

      总结:

        在数据定义语言中(DDL)

          drop table table_name;  //删除表结构和数据

          truncate table table_name;  //删除数据保留表结构

        数据操作语言(DML)

          delete from table_name;  //删除表全部数据(表的结构也是保留的)

        truncate和delete区别:

          a. delete是DML语句可以回滚,truncate是DDL语句立即生效,不可以回滚

          b. delete是可以有条件的删除,truncate是全部数据删除

          c. 如果要删除全部数据,且数据量比较大,delete语句的执行效率比truncate低

posted @ 2018-09-04 10:45  不是一个世界的人  阅读(130)  评论(0编辑  收藏  举报