友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
喜书网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第47章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






外部数据源中导入和导出数据的方法  例如              以前你的办公室用了多年的 dBASE  数据库 



而现在不准备再使用了          你的领导想把它转为具有服务器/ 客户机功能的 ORACLE               的 



RDBMS 系统   显然  INSERT   UPDATE 和 DELETE 语句将会帮助你完成移植工作         前提 



是你想输入 300;000 个记录     幸运的是 ORACLE 和其他的数据库制造商已经为你提供了完 



                                                               171 


…………………………………………………………Page 172……………………………………………………………

SQL 21  日自学通(V1。0)                                     翻译人  笨猪 



成这种任务的工具 



   几乎所有的数据库系统都可以导入或导出 ASCLL  码的文本文件              尽管 SQL  语言没有 



这个功能    SQL  不会做得比从一个空数据库开始更好  我们可以使用下列产品中的导入和 



导出工具  它们是  Microsoft Access Microsoft 和 Sybase SQL Server 以及Personal Oracle7 



Microsoft Access 



   Microsoft  Access  是一个其于 PC  的数据库产品  它具有许多关系数据库管理系统的特 



点  Microsoft  Access 也有强大的报表功能 与 Visual  Basic 类似的宏语言以及从其他的数 



据库系统和文本文件中导入或导出数据的能力  本部分讲最后边的一种 — — 从分界文本文 



件中导入或导出数据       分界的意思就为每个字段采用特殊的分界符来划定界限                一般常用 



的分界符是逗号  引号和空格 



   Access 允许你从其他的数据库系统中导入和导出数据  这些数据库系统包括 dBASE 



FoxPro SQL 数据库  其中 SQL 数据库其实是 ODBC  数据链接  Microsoft  ODBC  将在第 



13 天的  高级 SQL 主题   中提到  本例中我们讨论文本文件的导入导出过程 



   在打开 Access 数据库以后  使用文件|打开        选择导出    此时将会出现一个对话框 



选择文本文件     宽度固定  选项  Access  将会把数据库中的表导出到一个每一个数据类型 



都有固定宽度的文本文件中  例如         如果字符字段宽度为 30 就会向文本文件中输出一个长 



为 30 的字符串  如果字符串不足 30       就会用空格补足      最后  会问你文本文件的存放地 



点  下图显示了导入/导出对话框 



                                                            172 


…………………………………………………………Page 173……………………………………………………………

SQL 21  日自学通(V1。0)                                    翻译人  笨猪 



   注意在这个对话框中你可以选择文本宽度和字段分隔符  最后一步是保存与使用有关 



的注释内容  注释会存储在数据库的内部 



Microsoft and Sybase SQL Server 



   Microsoft 与 Sybase  公司共同开发了新一代的功能强大的服务/客户数据库系统  它就 



是 SQL  Server Microsoft  已经同意了在一些平台上开发RDBMS 版本   SyBase 则在其他平 



台上已经开发了他的数据库版本  通常是大型化的              虽然在近几年协议有所改变  但提到 



这个协议可以让我们避免对近几年的数据库系统的版本混淆 



   SQL  Server  提供的数据导入和导出的工具叫 BCP    BCP  是  BULK  COPY 的缩写 



它的主要内容与 ACCESS    的相同  但是不幸的是 BCP     需要你在提示符下输入命令而不是 



在窗口中使用对话框 



   BCP 可以导出固定宽度的文本文件 在 SQL Server 中使用它导入文件要比使用ACCESS 



直接  但 ACCESS  更容易使用    BCP 使用格式化文本  通常扩展名为。FMT        来存储导出 



的说明  说明文件告诉 BCP  导出文件的列名  字段宽度以及字段分隔符              你可以当数据库 



建好后在 SQL 内部使用BCP 来建立一个关于数据库结构的说明 



Personal Oracle7 



   Personal  Oracle7 允许你导出文本文件  文本文件的字段宽度与源库定义的字段宽度相 



同  使用的工具是 SQL*Loader   这个图形工具使用一个控制文件          扩展名为。CTL   这个 



文件类似与 SQL  Server 的格式文件  。FMT   它的内容是告诉 SQL*Loader  数据文件的位 



置 



   SQL*Loader  的界面见下图 



                                                           173 


…………………………………………………………Page 174……………………………………………………………

SQL 21  日自学通(V1。0)                              翻译人 笨猪 



总结 



   SQL 对于操作数据提供了三条语句 



   INSERT  语句有二个变体  INSERT  VALUES 可以插入一个记录  而 INSERT  SELECT 



则可以根据给定的一个或多个表来插入一个或多个记录           SELECT 语句可以归并多个表 



并把归并的结果加入到另外一个表中 



   UPDATE 语句可以改变符合条件列的值  UPDATE  语句可以用计算或表达式的结果作 



为需要更新的内容 



   DELETE  语句是这三个语句中最简单的    它会删除符合 WHERE  条件的所有记录    如 



果没有 WHERE 子句  它会删除表中的所有记录 



   现代的数据库系统提供了许多的数据库操作的工具          其中一些工具可以让开发人员从 



外部数据源中导入或导出数据        这在当数据库向大系统或小系统上移植时非常有用 



Microsoft Access Microsoft 和 Sybase 的SQL  Server 以及Personal  Oracle7 都提供了这样的 



移植工具 



问与答 



   问  SQL 有导入或导出操作的语句吗 



   答  没有  这一操作是解释器的附加功能  也就是说 ANSI     委员会允许制造商进行他 



们认为是需要的工作 



   问  我可以使用 INSERT 语句从一个表中抟贝数据到它自身吗       我想复制所有记录的 



内容而只对其中一个字段的内容作更改 



   答  不能  INSERT 语句中的表不能与 FROM 中的表相同  但是    你可以将它复制到 



一个临时的表格中  这将在第 14  天讨论     然后对临时表格的内容作修改后再将它复制回 



原始表  要检查你的表的具有唯一值属性的字段         唯一值属性将只允许一个数值在该列中 



出现一次 



   问  我注意到了关于 INSERT  UPDATE 和 DELETE  语句的警告 是否我可以对我所 



犯的错误进行修正     如果是的话   是那条语句可以完成这种工作 



   答  是的  例如  你可以使用 ROLLBACK 来撤消 INSERT UPDATE 或 DELETE  的 



操作 



                                                    174 


…………………………………………………………Page 175……………………………………………………………

SQL 21  日自学通(V1。0)                                     翻译人  笨猪 



   但是如果你向表中插入了多个记录后没有发现错误就使用了 MIT  命令                  几个星 



期后别人发现了错误       这时你可能要花上两个星期的时间来对数据库的数据进行逐条的检 



查  大多数情况下你可能不知道错在哪里  所以你只好恢复数据库 



校练场 



   1  下边的语句有什么错误 



   DELETE COLLECTION 



   2  下边的语句有什么错误 



   INSERT INTO COLLECTION SELECT * FROM TABLE_2 



   3  下边的语句有什么错误 



   UPDATE COLLECTION (〃HONUS WAGNER CARD〃 25000; 〃FOUND IT〃) 



   4  如果执行下边的语句会有什么结果 



   SQL》 DELETE * FROM COLLECTION; 



   5  如果执行下边的语句会有什么结果 



   SQL》 DELETE FROM COLLECTION; 



   6  如果执行下边的语句会有什么结果 



   SQL》 UPDATE COLLECTION SET WORTH = 555 



   SET REMARKS = 'UP FROM 525'; 



   7  下边的语句是否会工作 



   SQL》 INSERT INTO COLLECTION SET VALUES = 900 WHERE ITEM = 'STRING' 



   8  下边的语句是否会工作 



   SQL》 UPDATE COLLECTION SET VALUES = 900 WHERE ITEM = 'STRING' 



练习 



      1  试着向一个表中插入一个不正确的数据类型            看一下出错信息      然后再插入一 



        个正确的数据类型 



      2  试着使用你的数据库系统将某个表导出为其他库格式               然后再把它导入      熟悉 



        一下你的数据库系统的导入与导出操作            并试着用其它数据库操作导出文件 



                                                             175 


…………………………………………………………Page 176……………………………………………………………

SQL 21  日自学通(V1。0)                             翻译人 笨猪 



第九天      创建和操作表 



目标 



   在今天我们将学习创建数据库的知识       在第九天我们将学习 CREATE   DATABSE 



CREATE  TABLE ALTER  TABLE DROP  TABLE 以及 DROP  DATABASE 语句 它们被 



子统称为数据定义语句      与之相对应   SELECT UPDATE INSERT DELETE 被称为数 



据操作语句    到今天结束之时  我们将学会以下内容 



      l  建立关键字段 



      l  建立一个数据库以及在其中建表 



      l  表的建立  修改与删除 



      l  向数据库中添加数据 



      l  修改数据库中的数据 



      l  删除数据库 



   从它的语法开始  你现在已经知道了许多与 SQL  有关的词汇并且知道对 SQL       的一部 



分已经有了详尽的了解  在第二天的      查询简介   SELECT 语句的使用  中我们学会了如 



何从数据库中检索数据  在第 8  天  操作数据    中我们学习了如何从数据库中添加  更新 



和删除数据   现在  在第九天的学习过程中      你将会知道数据库是怎么来的      为了简单起 



见  我们忽略了数据库和表的建立过程       我们假定�
返回目录 上一页 下一页 回到顶部 赞(0) 踩(0)
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!