分享學(xué)習(xí)將Access數(shù)據(jù)導(dǎo)入到Mysql
本文章給大家分享學(xué)習(xí),關(guān)于如何將Access數(shù)據(jù)導(dǎo)入到Mysql中去,希望對大家有用。
在建設(shè)網(wǎng)站的過程中,經(jīng)常要處理一些數(shù)據(jù)的導(dǎo)入及導(dǎo)出。在Mysql數(shù)據(jù)庫中,一般有兩種方法來處理數(shù)據(jù)的導(dǎo)出:
1. 使用select * from table_name into outfile “file_name”;
2. 使用mysqldump實用程序
下面我們來舉例說明:
假設(shè)我們的數(shù)據(jù)庫中有一個庫為samp_db,一個表為samp_table,F(xiàn)在要把samp_table的數(shù)據(jù)導(dǎo)出。則我們可以利用以下方法來實現(xiàn):
在Mysql提示符下打入select * from samp_table into outfile “file_name”;
在系統(tǒng)命令提示符下打入mysqldump –u root samp_db samp_table >samp.sql
(當(dāng)然mysqldump有很多選項.如 -d 表示只導(dǎo)出表結(jié)構(gòu);。璽 表示只導(dǎo)入表數(shù)據(jù))
如何來處理數(shù)據(jù)的導(dǎo)入:一般我們在系統(tǒng)命令提示符下打入mysqlimport –u root samp_db samp_table.txt(注意:這個TXT文件名必須以表的名字命名)。對于mysqldump導(dǎo)出的數(shù)據(jù)我們還可以用mysql –u root samp_db < file_name來導(dǎo)入。在Mysql提示符下我們用Load data infile “file_name” into table samp_table。
另外除了以上方法,對于移動后的數(shù)據(jù)庫系統(tǒng)與原系統(tǒng)一致的前提下,我們可以通過文件的拷貝來實現(xiàn)數(shù)據(jù)的導(dǎo)入與導(dǎo)出.首先我們用mysqladmin –u root variables(在系統(tǒng)命令提示符下)或者用show variables;(在Mysql提示符下)來找到datadir。如在我的環(huán)境下,此目錄在c:\mysql\data。然后對其中的一些文件進行拷貝。一切ok!
有了以上知識后,我們進入正題:如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中。
首先我們把數(shù)據(jù)從ACCESS中導(dǎo)出為文本文件。在導(dǎo)出過程中注意選擇好字段分隔符和文本標(biāo)識符,且查看一下文本文件,確定一個記錄是否在同一行上,如不是,則手工把回車鍵除掉。假如我們導(dǎo)出的文本文件為c:\samp_table.txt。其內(nèi)容如下:
1.張新化,男
2.江先進,女
接下來我們用mysqlimport –u root –fields-terminated-by=”\,” samp_db samp_table.txt ,或者用load data infile “c:\\samp_table.txt” into table samp_table fields terminated by “\,”; 去試一下(注意轉(zhuǎn)義字符),是不是一切ok!如果還不行,請仔細看一下具體命令的幫助。下面列出一些選項:
--fields-enclosed-by=char 指明列值應(yīng)包括在指定的字符中。通常用引號。缺省時,假定列值不包括在任何字符中。
--fields-escaped-by=char 表示用于轉(zhuǎn)義特殊字符的轉(zhuǎn)義符。缺省時表示無轉(zhuǎn)義符。
--fields-terminated-by=char 指定分隔列的字符。缺省時假定列值由制表符分隔。
--lines-terminated-by=str 指定結(jié)束輸入行的串(可以是多字符的)。缺省時假定由換行符終止行