分类: Mysql/postgreSQL
2008-09-01 11:39:51
可以用INSERT 语句每次一行地将新记录追加到表中,但是在通过手工键入INSERT 语句建立几个新记录后,多数人都会意识到应该有更好的追加记录的方法。一种选择是利用仅含有数据值的文件,然后利用LOAD DATA 语句或mysqlimport 实用程序从该文件中装入记录。通常,可利用已经以某种格式存在的数据来建立数据文件。这些数据信息可能包含在电子表中,或许在某个其他数据库中,应该将它 们转换到MySQL。为了介绍起来简单,我们假定这些数据是在桌面微计算机的电子表中。要将电子表数据从桌面微计算机中转换到您的UNIX 账号下的某个文件中,可结合Telnet 利用拷贝和粘贴。具体工作如下所示:1) 打开UNIX 账号的一个Telnet 连接。在Mac OS 下,可利用诸如Better Telnet 或N CSA Telnet 这样的应用程序。在Windows 下,可使用标准的Telnet 程序。
2) 打开电子表,选择想转换的数据块,拷贝它。3) 在Telnet 窗中,键入下列命令开始获取数据到文件data.txt。
cat 命令等待输入。
4) 将从电子表拷贝来的数据粘贴到Telnet 窗口。cat 认为您正在键入信息并忠实地将它写入到data.txt 文件。
5) 在所有粘贴数据已经写入该文件后,如果光标停止在数据行的结尾处而不是停止在新行的开始,按Enter。然后,按Ctrl-D 以指示“文件结束”。cat 停止输入等待并关闭data.txt文件。现在已经得到了包含有电子表中选择的数据块的data.txt 文件,此文件已作好由LOAD DATA mysqlimport 加载到数据库的准备。
拷贝和粘贴是一种将数据传入UNIX 文件的快速且简易的方法,但它最适合较小的数据集。量较大的数据可能会超出系统拷贝缓冲区。在这样的情况下,最好是以无格式文本(制表符分隔)的形式保存 电子表。然后可利用FTP 将相应文件从微机上传送到UNIX 账号。转换文本模式(非二进制或影像模式)的文件以便行结束符转换为UNIX 的行结束符。(UNIX利用换行符、Mac OS 利用回车换行符、Windows 利用回车换行符/换行符对作为行结束符。)可告诉LOAD DATA 或mysqlimport 寻找什么换行符,但是在UNIX 下,对含换行符的文件处理要更容易一些。
在转换了文件之后,应 该检查一下在结尾处是否具空白行。如果有,应该将它们删除,否则在将该文件装载到数据库时,这些空白行将会转换为空白或畸形的记录。来自电子表格以无格式 文本保存的文件,或具有能括住包含空格的值的括号。为了在将该文件装入数据库时去掉这些括号,可利用LOAD DATA 的FIELDS ENCLOSEDBY 子句,或利用mysqlimport 的--fields - enclosed - by 选项。更详细的信息请参看附录D 中LOAD DATA 的相应项。
1.6 向何处去现在我们已经介绍了许多使用MySQL的知识。您已经知道了怎样设置数据库并创建表。能够将记录放入这些表 中,并以各种方式对其进行检索,更改或删除。但是要掌握MySQL仍然有许多知识要学,本章中的教程仅仅给出了一些浅显的东西。通过考察我们的样例数据库 就会明白这一点。我们创建了样例数据库及其表,并用一些初始的数据对其进行了填充。在这个工作过程中,我们明白了怎样编写查询,回答关于数据库中信息的某 些问题,但是还有许多工作要做。
下一步将阅读本书中哪部分取决于您对什么内容感兴趣。如果希望了解怎样完成已经以
历史同盟和学分保存方案开始的工作,可看第一部分有关MySQL程序设计的内容。如果打算成为某个站点的MySQL管理员,本书的第三部分将对管理工作做较多的介绍。但是,笔者建议通过阅读第一部分中的其余各章,首先获得使用MySQL的一般背景知识。
这些章节讨论了MySQL怎样处理数据,进一步提供有关语法和查询语句的用途,并且说明了怎样使查询运行得更快。不管您在什么环境中使用MySQL,不管是运行mysql还是编写自己的程序,
还是作为数据库管理员,用这些内容打下一个良好的基础将有助于您站在一个较高的起点上。