Oracle之数据库操作

7.1 数据库更新操作
  数据库德主要操作分为两种
  数据库德查询操作:SELECT
  数据库的更新操作:INSERT(增加)、UPDATE(更新)、DELETE(删除)
  
  此时,为了保存原始的emp表的信息,在进行增加、修改、删除操作之前先将此表复制一份
  SQL>CREATE TABLE myemp AS SELECT * FROM emp; 
   此时数据已经复制到新表myemp中,以后就操作此表

7.1.1 添加数据
      语法:
      INSERT INTO 表名称[(字段名称1,字段名称2,...)] VALUES ('值1','值2',...);
   
 范例:INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
   VALUES(7899,'张三','清洁工',7369,'14-2月-1995',9000,300,40);创建完成后,
   下面进行查询操作,观察记录是否已经在myemp表中
   SELECT * FROM myemp;
   插入的值:对于数字来说不用加“'”,而字符串必须加”'“
   
   如果添加的是所有字段的内容,那么此处可以不写上任何的字段,只要数值的数量、
   类型和顺序和数据表中一致即可 如下:
   INSERT INTO myemp
   VALUES(8899,'李四','清洁工',7369,'14-2月-1995',9000,300,40);
   
   如果我们只是需要插入一部分信息的时候就需要指定字段(定义为NOTNULL的字段必须插入),
   插入对应的值才可以,其余字段默认为NULL。如下雇员”王五“暂时没有领导:
   INSERT INTO myemp(empno,ename,job,hiredate,sal,deptno)
   VALUES(7889,'王五','清洁工','14-2月-1995',9000,40);
   
   所以以上语句可以替换成:
   INSERT INTO myemp
   VALUES(8089,'李四','清洁工',NULL,'14-2月-1995',9000,300,40);
    
    之前插入数据的时候,日期的格式是使用了表中固定好的一种格式,如果现在有这样
    的一个日期”2010-01-19“日期格式,那么现在如何把这种格式的日期插进去呢?
    此时可以使用TO_DATE()函数,将一个字符串类型的数据变为DATE类型的数据
    如下:
    INSERT INTO myemp(empno,ename,job,hiredate,sal,deptno)
   VALUES(8888,'赵六','保洁工',TO_DATE('2010-01-19','yyyy-mm-dd'),9000,40);
7.1.2修改数据
   在SQL语法中使用UPDATE语句就可以实现数据的修改,语法格式如下
   修改全部:UPDATE 表名称 SET 要 修改的字段=新值,要修改的字段=新值...
   修改局部:UPDATE 表名称 SET 要 修改的字段=新值,要修改的字段=新值...WHERE 修改条件
   
  范例: UPDATE myemp SET comm=1000;
   查询结果为所有记录全部更新,雇员的comm都更新为1000了
   
  范例:将雇员编号为7899的雇员的工资更新为5000元
   UPDATE myemp SET sal=5000 WHERE empno=7899;
   
  范例:将雇员编号为7899的雇员的领导取消掉
   UPDATE myemp SET mgr=NULL WHERE empno=7899;
   
   在进行数据库操作的时候一定要写上更新的条件(可以用IN操作),拒绝批量更新
  范例:将7369、8899、7788的领导的奖金取消
   UPDATE myemp SET comm=NULL
   WHERE empno IN(SELECT mgr FROM emp
          WHERE empno IN(7369,8899,7788));
7.1.3删除数据
   删除全部:DELETE FROM 表名称
   删除局部:DELETE FROM 表名称 WHERE 删除条件
 范例:删除编号为7899的雇员
   DELETE FROM myemp WHERE empno=7899;  
 范例:删除编号为8899,7889,8888的雇员
   DELETE FROM myemp WHERE empno IN(8899,7889,8888);
 范例:删除有奖金的雇员
   DELETE FROM myemp WHERE comm is NOT NULL;
  范例:删除所有信息
    DELETE FROM myemp;(不加入任何删除条件默认记录全部删除)不推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值