DBM数据导入到mysql数据库方法
本文章分享一篇关于DBM数据导入到mysql数据库方法,有需要的同学可以参考一下本实例。
首先说明一下,我以前使用PERL,保存文件 用DBM,有5万多条记录,每条记录有15个字段。现在想用MYSQL,要吧记录导过来。
第一步,将所有的DBM记录导入到了一个文本文件,每个字段之间用TAB分开(就是"t"),每条记录换行结束。
第二部,将数据读入数组,并且打开数据库和定义预处理如下:
代码如下 | 复制代码 |
$db=new i('localhost','me','mypass','allrecdb'); $q="INSERT INTO customers VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; $s=$db->prepare($q); #预定义插入记录 // |
数据库有15个字段,为了方便导入,已经设定全部类型为CHAR,长度从1到100不等,具体等同$collen的数值;
并且没有任何字段设置UNIQUE或者PRIMARY KEY;
在命令行用INSERT命令插入记录成功
//
代码如下 | 复制代码 |
foreach($dbline as $line) { $rec=("t",trim($line)); //这里反复测试过,$rec数组有15个值,并且我都把它strval了 // for($j=0;$j } for($i=0;$i } $s->bind_param("sssssssssssssss",$rec[0],$rec[1],$rec[2],$rec[3],$rec[4],$rec[5],$rec[6],$rec[7],$rec[8],$rec[9],$rec[10],$rec[11],$rec[12],$rec[13],$rec[14]); $s->execute(); } $s->close(); $db->close(); ?> |
经过几个小时的调试,发现任何字串超过字段长度就不能添加,所以做了如下处理。
1) 先把每个记录的每个字段的长度进行了处理,代码如下:
代码如下 | 复制代码 |
for($j=0;$j } |
2)再处理插入
代码如下 | 复制代码 |
$s->bind_param("sssssssssssssss",$rec[0],$rec[1],$rec[2],$rec[3],$rec[4],$rec[5],$rec[6],$rec[7],$rec[8],$rec[9],$rec[10],$rec[11],$rec[12],$rec[13],$rec[14]); |
$s->execute();
这样就可以插入记录了。
目前剩下的问题是,任何带有汉字的记录,都不能插入(在命令行可以)。
查了资料,在命令行alter database crm character set 'gb2312',在脚本查询前加入$db->query("SET names 'gb2312'")
都没用。
也没找到my.ini去改default-character-set=gb2312
难道php5.5暂时不支持中文?
MYSQL太多稀奇古怪的提示,解决不了问题,所有装上了SQLITE,在命令行导入文本记录,发现了问题:
1)某些字段中存在换行符,但是在任何文本编译器中不换行或者不显示。这样会在导入的时候,1行变成2行,列参数自然不对了。
解决方案: 用str_replace($line,char(13));把每行内的换行符替换掉,然后把所有记录存入tmp.txt
2)再进行命令行的导入
代码如下 | 复制代码 |
sqlite3>.import tmp.txt customers sqlite3> count(*) from cusomers; |
57491
显示导入成功。
可见,批量导入的时候,一定要处理好那些隐藏的特殊字符。
由于时间关系,没有测试MYSQL的情况。晚上有空再确认一下同样方案是否可行。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Amalan pembangunan PHP: Gunakan PHPMailer untuk menghantar e-mel kepada pengguna dalam pangkalan data MySQL Pengenalan: Dalam pembinaan Internet moden, e-mel ialah alat komunikasi yang penting. Sama ada pendaftaran pengguna, tetapan semula kata laluan atau pengesahan pesanan dalam e-dagang, menghantar e-mel adalah fungsi penting. Artikel ini akan memperkenalkan cara menggunakan PHPMailer untuk menghantar e-mel dan menyimpan maklumat e-mel ke jadual maklumat pengguna dalam pangkalan data MySQL. 1. Pasang pustaka PHPMailer PHPMailer ialah

Memandangkan jumlah data terus meningkat, prestasi pangkalan data telah menjadi isu yang semakin penting. Pemprosesan pemisahan data panas dan sejuk ialah penyelesaian berkesan yang boleh memisahkan data panas dan data sejuk, dengan itu meningkatkan prestasi dan kecekapan sistem. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan pangkalan data MySQL untuk memisahkan data panas dan sejuk. 1. Apakah pemprosesan pemisahan data panas dan sejuk Pemprosesan pemisahan data panas dan sejuk ialah cara mengklasifikasikan data panas dan data sejuk. Data panas merujuk kepada data dengan kekerapan akses tinggi dan keperluan data sejuk

Sejauh manakah saya boleh membangunkan kemahiran pangkalan data MySQL untuk berjaya digunakan? Dengan perkembangan pesat era maklumat, sistem pengurusan pangkalan data telah menjadi komponen yang amat diperlukan dan penting dalam semua lapisan masyarakat. Sebagai sistem pengurusan pangkalan data hubungan yang biasa digunakan, MySQL mempunyai pelbagai bidang aplikasi dan peluang pekerjaan. Jadi, sejauh manakah kemahiran pangkalan data MySQL perlu dibangunkan untuk berjaya digunakan? Pertama sekali, menguasai prinsip asas dan pengetahuan asas MySQL adalah keperluan paling asas. MySQL ialah pengurusan pangkalan data hubungan sumber terbuka

Apabila jumlah data meningkat, sandaran pangkalan data menjadi lebih penting. Untuk pangkalan data MySQL, kita boleh menggunakan bahasa Go untuk mencapai sandaran tambahan automatik. Artikel ini akan memperkenalkan secara ringkas cara menggunakan bahasa Go untuk melaksanakan sandaran tambahan data pangkalan data MySQL. 1. Pasang persekitaran bahasa Go Mula-mula, kita perlu memasang persekitaran bahasa Go secara setempat. Anda boleh pergi ke laman web rasmi untuk memuat turun pakej pemasangan yang sepadan dan memasangnya. 2. Pasang perpustakaan yang sepadan Bahasa Go menyediakan banyak perpustakaan pihak ketiga untuk mengakses pangkalan data MySQL, antaranya yang paling biasa digunakan ialah.

Bagaimana untuk menggunakan pangkalan data MySQL untuk analisis siri masa? Data siri masa merujuk kepada koleksi data yang disusun mengikut urutan masa, yang mempunyai kesinambungan dan korelasi temporal. Analisis siri masa ialah kaedah analisis data penting yang boleh digunakan untuk meramalkan arah aliran masa hadapan, menemui perubahan kitaran, mengesan penyimpangan, dsb. Dalam artikel ini, kami akan memperkenalkan cara menggunakan pangkalan data MySQL untuk analisis siri masa, bersama-sama dengan contoh kod. Buat jadual data Mula-mula, kita perlu mencipta jadual data untuk menyimpan data siri masa. Katakan kita ingin menganalisis nombor

Bagaimana untuk menggunakan pangkalan data MySQL untuk pemprosesan imej? MySQL ialah sistem pengurusan pangkalan data hubungan yang berkuasa Selain menyimpan dan mengurus data, ia juga boleh digunakan untuk pemprosesan imej. Artikel ini akan memperkenalkan cara menggunakan pangkalan data MySQL untuk pemprosesan imej dan menyediakan beberapa contoh kod. Sebelum anda bermula, pastikan anda telah memasang pangkalan data MySQL dan biasa dengan pernyataan SQL asas. Buat jadual pangkalan data Mula-mula, buat jadual pangkalan data baharu untuk menyimpan data imej. Struktur jadual boleh seperti berikut

Dengan jumlah data yang besar yang perlu disimpan dan diproses, MySQL telah menjadi salah satu pangkalan data hubungan yang paling biasa digunakan dalam pembangunan aplikasi. Bahasa Go menjadi semakin popular di kalangan pembangun kerana pemprosesan serentak yang cekap dan sintaks ringkasnya. Artikel ini akan membawa pembaca untuk melaksanakan sambungan pangkalan data MySQL yang boleh dipercayai melalui bahasa Go, membolehkan pembangun membuat pertanyaan dan menyimpan data dengan lebih cekap. 1. Beberapa cara untuk bahasa Go untuk menyambung ke pangkalan data MySQL Biasanya terdapat tiga cara untuk menyambung ke pangkalan data MySQL dalam bahasa Go, iaitu: 1. Pustaka pihak ketiga

Dalam beberapa tahun kebelakangan ini, bahasa Go telah menjadi semakin popular di kalangan pembangun dan telah menjadi salah satu bahasa pilihan untuk membangunkan aplikasi web berprestasi tinggi. MySQL juga merupakan pangkalan data popular yang digunakan secara meluas. Dalam proses menggabungkan kedua-dua teknologi ini, caching adalah bahagian yang sangat penting. Berikut akan memperkenalkan cara menggunakan bahasa Go untuk mengendalikan cache pangkalan data MySQL. Konsep caching Dalam aplikasi web, caching ialah lapisan tengah yang dicipta untuk mempercepatkan capaian data. Ia digunakan terutamanya untuk menyimpan data yang kerap diminta
