mysql版本為5.1
開啟mysql的命令列工具,先 use 資料庫
然後輸入:
load data local infile 'f:/insertcardtotalinfo2.sql' into table cardtotalinfo(code,companyid,faceprice,purchaseprice,purchasetime,networkid,sendtime,saletime,networkmoney,nwmoneytime,companymoney,cpmoneytime) ;
不用新增「fields terminated by ',' lines terminated by '\r\n'」 在末尾,否則報錯
注意sql檔案需要用\t分割字段值,用\r分割每行
結果如下:
100萬行資料,插入需要4.69秒,太bt了,再一次測試花了36秒。
可惜分割槽尚未實現。
生成檔案的php**:
<?php
set_time_limit(1000);
$myfile="f:/insertcardtotalinfo3.sql";
tryecho"寫入成功";}}
catch(exception$err)
?>
內容為:
abc12573 10.56 2011-11-3012:43:0310622011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
abc13583 10.56 2011-11-3012:43:0336112011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
abc14465 10.56 2011-11-3012:43:0391772011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
abc15706 10.56 2011-11-3012:43:0319542011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
abc1497 10.56 2011-11-3012:43:0361172011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
abc10223 10.56 2011-11-3012:43:0323042011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
abc5550 10.56 2011-11-3012:43:0312932011-11-3012:43:122011-11-3012:43:1972011-11-3012:43:2962011-11-3012:43:37
資料庫欄位有:
drop table if exists `cardtotalinfo`;
create table `cardtotalinfo` (
`id` bigint(20) not null auto_increment,
`code` varchar(30) not null,
`companyid` int(11) not null,
`faceprice` float not null,
`purchaseprice` float not null,
`purchasetime` datetime not null,
`networkid` int(11) not null default '0',
`isfirst` bit(1) not null default b'0',
`sendtime` datetime default null,
`issaled` bit(1) not null default b'0',
`saletime` datetime default null,
`networkmoney` float not null default '0',
`nwmoneytime` datetime default null,
`isspended` bit(1) not null default b'0',
`companymoney` float not null default '0',
`cpmoneytime` datetime default null,
primary key (`id`,`companyid`,`networkid`)
) engine=innodb auto_increment=2 default charset=gb2312
分割槽語句如下:
/*!50100 partition by range (id)
(partition p1 values less than (1000000) engine = innodb,
partition p2 values less than (2000000) engine = innodb,
partition p3 values less than (3000000) engine = innodb,
partition p4 values less than (4000000) engine = innodb,
partition p5 values less than (5000000) engine = innodb,
partition p6 values less than (6000000) engine = innodb,
partition p7 values less than (7000000) engine = innodb,
partition p8 values less than (8000000) engine = innodb,
partition p9 values less than (9000000) engine = innodb,
partition p10 values less than (10000000) engine = innodb,
partition p11 values less than maxvalue engine = innodb) */;
關於mysql資料庫快速插入方法
寫技術類文章出於三個目的,第一,對自己寫過的東西做一次總結,溫故而知新,第二,希望好友中的大神門對小弟的方法加以改進和建議,第三,對於剛入門的程式設計師提供有限的建議和方法,人幫我,我幫人 關於mysql 的插入語句,大家最熟悉不過了,下面這兩句語句實現對mysql資料庫的插入 sprintf qu...
MySQL快速複製資料庫的方法
某些時候,例如為了搭建乙個測試環境,或者轉殖乙個 需要複製乙個已存在的mysql資料庫。使用以下方法,可以非常簡單地實現。假設已經存在的資料庫名字叫db1,想要複製乙份,命名為newdb。步驟如下 1.首先建立新的資料庫newdb mysql u root ppassword mysql creat...
MySQL快速複製資料庫的方法
某些時候,例如為了搭建乙個測試環境,或者轉殖乙個 需要複製乙個已存在的mysql資料庫。使用以下方法,可以非常簡單地實現。假設已經存在的資料庫名字叫db1,想要複製乙份,命名為newdb。步驟如下 1.首先建立新的資料庫newdb mysql u root ppassword mysql creat...