第十一章数据操作与事物控制

本文详细介绍了 SQL 中的数据操作,包括插入、更新、删除数据,以及事务的使用和事务控制。提供了多个示例,如如何插入包含特殊字符的数据,如何修改多行数据,如何删除记录,以及如何处理事务的提交和回滚。此外,还讲解了如何在事务中设置保存点以实现部分回滚。最后,给出了基于学生表和班级表的练习题,涵盖了数据插入、更新和事务处理的综合应用。
摘要由CSDN通过智能技术生成

第十一章: 数据操作,与事物控制

 

插入数据:(做插入的时候一定不要忘记提交,不然数据保留不下)

使用INSERT语句向表中插入数据,语法结构如下: 

 

     INSERT INTO      table [(column [, column...])] 

    VALUES            (value [, value...]); 

 

     –采用这种语法一次只能追加一条记录; 

     –column部分叫做列名列表,value部分叫做值列表,列名列表 

       和值列表必须在个数及数据类型上保持一致; 

     –列名列表部分可以省略,如果省略,默认包括该表的所有列, 

       列的顺序为使用 desc 表名 命令所查看的顺序; 

     –列名列表部分也可以指定部分非空的列,注意值列表必须和列 

       名列表对应; 

     –字符和日期型数据必须要用单引号括起来。 

 

   SQL> INSERT INTO          dept (deptno, dname, loc) 

     2  VALUES               (50, 'DEVELOPMENT', 'DETROIT'); 

   1 row created. 

• 插入空值NULL 

            –隐含法在列名列表中忽略该列。 

 

      SQL> INSERT INTO                  dept (deptno, dname ) 

         2  VALUES                      (60, 'MIS'); 

      1 row created. 

 

            –显示法指定 NULL关键字或者''。 

 

      SQL> INSERT INTO                  dept 

         2  VALUES                       (70, 'FINANCE', NULL); 

      1 row created. 

练习1

• 1.向部门表新增一个部门,部门编号为50,部门名称为HR,工作地点为SY

 INSERT  INTO dept  VALUES (50,'HR','SY')

• 2.向部门表新增一个部门,部门编号为60,部门名称为MARKET。 

INSERT INTO  dept (deptno,dname)VALUES ('60','MARKET')

• 插入日期值 

          –SYSDATE 函数记录当前日期和时间 

 

     SQL> INSERT INTO               emp (empno, ename, job, 

         2                          mgr, hiredate, sal, comm, 

         3                          deptno) 

        4  VALUES                   (7196, 'GREEN', 'SALESMAN', 

         5                          7782, SYSDATE, 2000, NULL, 

         6                          10); 

     1 row created. 

插入数据 

• 插入特字符

     – 插入部门信息:编号为80,部门名称为&Test&,地点为null 

    INSERT INTO dept  VALUES(80, '&TEST&',null); 

     – 查看ESCAPE转义符用哪个符号表示 (在自带的工具里)

    SHOW ESCAPE    ;      ——   查看      ESCAPE 状态                            

    escape OFF               ——返回ESCAPE状态为OFF 

    SET ESCAPE ON         ——    设定  ESCAPE  状态为 ON 

 SHOW ESCAPE        ——   查看     ESCAPE 状态 

     escape "\" (hex 5c)            ——返回ESCAPE符号为“\”  

     – INSERT语句中使用 “\”符对特殊符号转义。 

INSERT INTO dept  VALUES(80, '\&TEST\&',null); 

:练习2

1.向员工表中新增一个员工,员工编号为8888,姓名为BOB,岗位为CLERK,经理为号7788,入职日期为1985-03-03,薪资3000,奖金和部门为空。 

INSERT INTO emp  VALUES(8888,'BOB','CLERK','7788','03-3-1985',3000,NULL,null)

 

• 插入多行数据 

     –语法

  INSERT INTO   表名 [( 列名1[, 列名2,  …  列名n])]  子查询 ;                    

     –不必书写values子句 

     –INSERT子句和数据类型必须和子查询中列的数量和类型相匹 

       配中列的数量 

练习3

• 1.使用CREATE TABLE emp_back   as 

        SELECT * FROM EMP WHERE 1=0,创建 emp_back,拷贝下来即可。 

• 2.emp表中入职日期大于198211日之前的员 工信息复制到emp_back表中。 

INSERT INTO emp_back

SELECT * FROM emp WHERE hiredate>='01-1-82'

修改数据

• 修改数据使用UPDATE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值