首页 > 开发 > 综合 > 正文

数据表中数据的管理

2024-07-21 02:13:23
字体:
来源:转载
供稿:网友
 下面介绍如何操作数据表中的数据。
向数据表中插入数据
    1. 向导师信息表中插入数据
    (1)在图7.19所示的快捷菜单中选择【表数据编辑器】选项,出现如图7.21所示的界面。可以按照二维表格输入数据。
    (2)单击按钮可以查看输入的数据对应的sql代码。
    (3)数据输入完毕后,单击按钮可以完成数据的插入。

    (4)上述过程对应的sql代码如下。
    ―――――――――――――――――――――――――――――――――――――
    insert into "scott"."director" ("director_id" ,"name" ,"zhicheng" ,"zhiwu" )
    values (200201 , '张三丰' ,'博导' , '系主任');
    insert into "scott"."director" ("director_id" ,"name" ,"zhicheng" ,"zhiwu" )
    values (200202 , '张翠山' ,'硕导' , '室主任');
    insert into "scott"."director" ("director_id" ,"name" ,"zhicheng" ,"zhiwu" )
    values (200203 , '张无忌' ,'硕导' , '所主任' );
    insert into "scott"."director" ("director_id" ,"name" ,"zhicheng" ,"zhiwu" )
    values (200204 , '宋远桥' ,'博导' ,'系副主任' );
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:/第7章/insertdirector.sql。
    (5)读者也可以在【sql plus worksheet】中直接执行insertdirector.sql 文件向数据表scott.director中插入数据。
     2. 向研究生信息表中插入数据
    (1)对研究生信息表进行同样的数据插入操作。如图7.22所示。

    (2)字段“birthday”是日期型字段,读者可能不知道该如何插入日期型的数据。单击按钮,出现如图7.23所示的界面。
    可以观察到这样的日期型字段数据插入格式。
    ―――――――――――――――――――――――――――――――――――――
    to_date('', 'dd-mon-yyyy hh:mi:ss am')
    ―――――――――――――――――――――――――――――――――――――
    这表明日期型字段是按照“日期-月份-年 小时 分钟 秒”来插入的。

    (3)分析出格式还不一定能够正确录入日期型数据。这里告诉读者一个笔者摸索出来的简便的办法。在scott用户下有一个数据表emp,其中有一个hiredate字段是日期型的。

    (4)最后完成完整的scott.student数据表数据的插入,如图7.25所示。

    【参见光盘文件】:/第7章/insertstudent.sql。
    (5)上述过程对应的sql代码如下。读者也可以在【sqlplus worksheet】中直接执行insertstudent.sql文件完成数据的插入。
    ―――――――――――――――――――――――――――――――――――――
    insert into "scott"."student"
        ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
    values (20020101 ,'周芷若' ,'软件工程' ,to_date('20-11月-1976', 'dd-mon-yyyy hh:mi:ss am') ,200201 );
    insert into "scott"."student"
        ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
    values (20020102 ,'赵敏' ,'计算机安全' ,to_date('7-10月-1980', 'dd-mon-yyyy hh:mi:ss am') ,200202 );
    insert into "scott"."student"
        ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
    values (20020103 ,'小昭' ,'图形图像' ,to_date('22-10月-1973', 'dd-mon-yyyy hh:mi:ss am') ,200203 );
        insert into "scott"."student"
             ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
    values (20020104 ,'蛛儿' ,'电子商务' ,to_date('11-1月-1971', 'dd-mon-yyyy hh:mi:ss am') ,200204 );
        insert into "scott"."student"
            ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
        values (20030101 ,'金花婆婆' ,'数据库' ,to_date('6-8月-1945', 'dd-mon-yyyy hh:mi:ss am') ,200201 );
        insert into "scott"."student"
           ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
     values (20030102 ,'胡青牛' ,'网络安全' ,to_date('2-5月-1923', 'dd-mon-yyyy hh:mi:ss am') ,200203 );
         insert into "scott"."student"
           ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
     values (20030103 ,'丁敏君' ,'web技术' ,to_date('12-4月-1967', 'dd-mon-yyyy hh:mi:ss am') ,200201 );
         insert into "scott"."student"
             ("student_id" ,"name" ,"professional" ,"birthday" ,"director_id" )
     values (20030104 ,'殷素素' ,'web安全' ,to_date('14-7月-1971', 'dd-mon-yyyy hh:mi:ss am') ,200202 );
        commit;
     ―――――――――――――――――――――――――――――――――――――
查询数据表的数据
     1. 查询导师信息表数据
     (1)利用【sqlplus worksheet】执行下列语句。
     ―――――――――――――――――――――――――――――――――――――
    select * from scott.director;
     ―――――――――――――――――――――――――――――――――――――
     【参见光盘文件】:/第7章/selectdirector.sql。
    (2)查询结果如图7.26所示。
     2. 查询研究生信息表数据
    (1)利用【sqlplus worksheet】执行下列语句。
     ―――――――――――――――――――――――――――――――――――――
     select * from scott.student;
    ―――――――――――――――――――――――――――――――――――――
     【参见光盘文件】:/第7章/selectstudent.sql。
     (2)查询结果如图7.27所示。

更新数据表的数据
    1. 更新导师信息表数据
    (1)图7.28所示为数据表编辑器界面。在表格中直接将“director_id”为“200204”的导师的“zhiwu”由“系副主任”更改为“院长”。

    (2)单击按钮,出现的更新数据的sql语句如下。

    (3)读者可能会疑惑,rowid = 'aaah2kaaiaaaaayaad'代表什么意思?
    (4)oracle 9i在创建数据表时,默认会为每个数据表建立一个隐含的字段,叫rowid。在向数据表中插入记录时,系统将自动为每条记录分配惟一的一个rowid号,利用这个rowid号,可以快速定位到记录。
    (5)但是,利用rowid更新数据的sql语句只适用在同一台计算机上。不同的计算机环境可能为数据会分配不同的rowid号,因此,我们需要给出一种普遍适用的更新数据表数据的语法。
    (6)在【sqlplus worksheet】中执行下列语句,作用是一样的。这是通过主码director_id来定位记录的。这样的更新语句适合在不同的计算机环境上使用。
    执行结果如图7.29所示。


    2. 更新研究生信息表数据
    按照同样的方法可以更新研究生数据表的数据。
    (1)在表数据编辑器中将研究生编号student_id为“20030103”的研究生的导师编号字段director更改为200204,如图7.30所示。

    (2)对应的sql代码如下。
     ―――――――――――――――――――――――――――――――――――――
     update "scott"."student"
          set director_id = 200204
          where student_id = 20030103;
     ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:/第7章/updatestudent.sql。

删除数据表的数据

    (1)在图7.31所示的表数据编辑器界面中执行下列操作。

    (2)删除数据的sql语句如下。
    ―――――――――――――――――――――――――――――――――――――
     delete from "scott"."student"
        where student_id = 20030101;
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:/第7章/deletestudent.sql。
上一篇:PL/SQL程序结构

下一篇:处理未决事务

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表