资源描述:
《关于数据库中数据输入问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关于数据库中数据输入问题 -------------------SELECT...INTOOUTFILE的LOADDATAINFILE的逆操作问题. 一般我们都用insertintotable_namevalues();来给数据表添加记录.这是一种方法.当然也可以使用mysqlimport实用程序装载数据文件.其实它也是发送localdatainfile命令到服务器 而在输入大量数据的时候,我们可以用loaddatainfile语法来实现. 之前,我们需要先编辑一个文本文件.录入我们的数据. loaddatainfile的语法如下: LOADDATA[LOW_PRIOR
2、ITY
3、CONCURRENT][LOCAL]INFILE'file_name.txt'[REPLACE
4、IGNORE]INTOTABLEtbl_name [FIELDS [TERMINATEDBY't']('t'为制表符) [[OPTIONALLY]ENCLOSEDBY'']说明不包括在任何字符里面. [ESCAPEDBY'\']表明无转义字符 ] [LINESTERMINATEDBY'']这也是它的缺省状态了 [IGNOREnumberLINES] [(col_name,...)] 注:local关键字没有被指定的时候,文件必须在服务器上.而local被指定
5、时,则可以从客户端读取文件.(在MySQL3.23.49和MySQL4.0.2中,只有当你没有以--local-infile=0选项启动mysqld,或你没有禁止你的客户端程序支持LOCAL的情况下,LOCAL才会工作,先于MySQL3.23.24的版本,不能够以LOADDATAINFILE读取) 如果是在服务上读取的时候,则我们需要知道下面三个问题: 1,若以相对路径的形式给出,如"./*.txt",则这个目录是相对服务器的数据目录. 2,若是"*.txt"则是从当前数据库目录下读取的文件. 3,则是完整路径.即绝对路径了! 下面的fields子句,一开始录入的时候,
6、总是报错.是因为我对fields可选项不清晰的理解问题,其中的terminatedbychar指定一个字符,标记分隔列.而enclosed bychar则指示列值被什么字符所包含.最后的escapedbychar则表示用于转义特殊字符的转义符.我第一次录入时,错误的原因是因为不清楚它们三个的缺省状况.上面的语法部分列出的就是它们的缺省状况.见上. 另外当你同时输出文件与读取记录时,即用SELECT...INTOOUTFILELOADDATAINFILE和LOADDATAINFILE时,必须注意两个命令的字段和行处理选项必须匹配. 可能会遇到的问题如下: datatrun
7、cation:datatruncatedforcolumn'id'atrow3 这种问题是在你没有搞清mysql数据类型的前提下会发生的一种情况,建议基础不好的先看一下sql语言的数据类型.搞清之后就不会发生truncation(断开)问题了。 下面的文章主要讲述的是OracleMySQL动态表的实际解决办法,我们大家都知道,CRM需要定期将相关的数据导回到其CRM数据库(目的DB:Oracle;源DB:MySQL);但是因为目前增长量不太大,,,而今后会比较大.由于OracleMySQL数据库不是我建的。还是决定登上去看一下,主表没有一个字段可以唯一标识一比记录的,也
8、就是说我目前只会面临.我导数据的同时有新的数据录入,明显会出问题.程序员又不在,,,之前一直都只管Oracle,马上要让玩MySQL,看来只得现学现用了,现写一个OracleMySQL的存储过程来实现.让系统每天产生后一天的表放在那里,系统根据时间的不同,将数据插入不同的表中,以下为实施脚本:MySQL存储过程事例:1.declare @t_date varchar(20); 2.set @t_date = '(select concat('readinfo',curdate()+0))'; 3.mysql>delimiter && 临时结束符1.mysql>creat
9、e procedure p() 2.->begin 3.->select * from pet; 4.->end;&& 5.mysql>delimiter ; 6.mysql> call p(); 自写OracleMySQL存储过程:1.CREATE TABLE readinfo20070726 ( 2.eid int(11) , 3.guid varchar(36) , 4.ip varchar(20) , 5.date varchar(20), 6.bookname varchar(60) , 7.version int(