華玄明網際網路實驗室


華玄明網際網路實驗室 : Powered by vBulletin version 2.2.2 華玄明網際網路實驗室 > 網際網路實驗室 > 系統管理 > MySQL安裝與資料庫備份 ---重Po(以下的內容亂掉了!)
  上一篇主題   下一篇主題
作者
主題 發表新主題    回覆該篇主題

舊文章 01-09-2007 02:12 PM
這個人在您的 黑名單列表. 查看此文請按 [here]

舊文章 01-09-2007 11:17 AM
這個人在您的 黑名單列表. 查看此文請按 [here]

舊文章 01-09-2007 02:44 AM
這個人在您的 黑名單列表. 查看此文請按 [here]
peerless
新兵

註冊日期: Nov 2003
居住地: 台北縣土城市
共發表: 7 篇文章

發表 MySQL安裝與資料庫備份 ---重Po(以下的內容亂掉了!)

MySQL安裝與資料庫備份(匯入&匯出)實例教學文件 by ㄚ鳥

呼~~ 花了好長的一段時間終於完成了這份文件!最近都在K MySQL,也學到一些常用的SQL語法跟條件式跟
一些安裝的方法~ 因此決定實際來操作操作,來親身體驗一下!
在此我將一些個人的使用經驗分享給大家,或許你已經會用了,也可能你沒碰過正想學習使用MySQL資料庫,
因此我就先針對如何安裝MySQL這個好用的咚咚,然後再交大家如何備分資料庫,希望這篇教學文件能夠對
各位有幫助。也希望大家能夠把它給看完~~ =.='' 好像有點強人所難@@
以下的安裝跟操作,我都一步一步的親自實作過,應該是沒有問題才對。若文中有打錯字的話希望各位多多包涵囉^^
先說明一下我的工作環境:Linux RedHat9系統、使用MySQL4.0.24.tar.gz。

好了!不說廢話了,在開始進入主題之前我們先來談談MySQL這個東東:

一、什麼是 MySQL

MySQL 是一個快速穩定多執行緒多使用者的資料庫伺服器,可以與 C、C++、Java、Perl、PHP 等語言很容易的連結,
可以運作在許多平台上 例如 : Sun Solaris 、RedHat 、Linux 、FreeBSD 、OS/2 、Windows ...等平台,目前
已經有相當多的企業單位採用。

二、MySQL版權

MySQL本身是一套自由軟體,它是符合GNU Public License(GPL)。基於GPL,它的原始碼可以被任何檢視及修改,
但是修改過的MySQL版本也受到GPL保護,然而,需注意在某些特定情況下使用MySQL是要授權費的,例如將它何其他
產品包裝販售,大體上來說,個人及非營利使用它是免費的,MySQL所收取的授權費主要來協助MySQL研發所需經費,
使MySQL可以發展的更好。
將MySQL跟自己公司產品包裝一起售出 或經由安裝維護一個MySQL軟體而收費,這樣是要付授權費的。但是如果Web
站台利用它來管理儲存資料,這部分則是受到GPL的保護。 在微軟平台上,你必須在三十天的試用期後,獲得一個
MySQL 的授權,除了教育用途及大學或政府資助的研究單位,可以免費申請獲得使用授權。MySQL 版本的命名機制
是使用三個數字,例如:mysql-4.0.24
第一個數字描述文件格式 4 ,所有版本 4 它們具有相同的文件格式,如果是版本 5 ,則代表必須使用工具程式
將資料庫或資料表轉換到新的格式,第二個數字代表發行的級別。第三個數字代表此發行級別的版本號。


三、MySQL的版本

(1)MySQL3.23:屬於穩定的版本,這個版本在Linux RedHat9的原版光碟中有RPM的安裝套件,這個版本的歷史悠久
MySQL官方網已不再對產品作改進,修改重大錯誤除外。
(2)MySQL4.0:也是穩定的版本。
(3)MySQL4.1:開發中版本,目前仍在Alpha階段。
(4)MySQL5.0:是目前最新的開發版本,Alpha版目前還在大量測試中。

PS:我選擇使用MySQL4.1的理由除了它是穩定的版本以外,就是他還支援了聯集(Union)、子查詢(Sub-Selects)、
交易(Transactions)的功能。由於Oracle及SQL Server資料庫的功能越來越強大,MySQL當然也不落人後的在
新版5.0中加入了以下的高效率及實用性的常用功能命令在MySQL5.0以後的版本更支援了,Select into Table、
外來建(Foreign Key)、檢視(View)、預儲程序(Stored Procedures)、觸發器(Triggers)、資料指標(Cursor)。
所以我還是認為根據自己的需求來選擇版本安裝,並不是最新就是最好,或許會存在著未發現的bug也說不定。


四、安裝MySQL的建議

根據在下阿鳥本人(PS:阿鳥是誰?阿鳥就是peerless啦!)的安裝經驗,我是建議大家如果能不用RPM來安裝MySQL
就不要用,因為RPM有一個很煩人的問題就是套件的相依性關係,我之前在裝Linux RedHat9時候有將MySQL套件
裝到系統,他的版本是mysql-3.23.54a-11.i386.rpm,但後來我有一些考量因素因此想裝4.0的版本,於是想移除
之前的舊版本卻發現移除不掉!天啊~~ 發生了什麼事? 螢幕出現的訊息Show出了套件相依的問題,後來我只好把
光碟找出來根據他所需要的套件都裝上去,然後再一次下移除RPM套件的指令,結果相同的問題又來了,又出現其他
的套件相依性問題@@ ,靠!真是把我氣炸了,後來上網去找尋解決之道,找了好久~好久~終於讓我看到了解決辦法
,本來是因該是該高興的,結果卻不然,因為我發現有個重要的檔案不小心被我人工刪除掉了=.=,救不回來了~嗚..

後來只好只好刷刷氣!乾脆Linux系統重灌,然後選擇不要勾選MySQL的項目(預設是沒勾選的!),裝好系統後再到
官方網站或網路上去找適合自己的MySQL版本,我是用MySQL4.0.24.tar.gz啦,使用tar.gz套件有個好處就是你可以
根據你想安裝的路逕來選擇安裝的位置,而且還可以根據自己的環境需求來重新編譯核心檔案。



五、安裝MySQL

[root@localhost local]# tar -zxvf mysql-4.0.24.tar.gz
//將套件放到/usr/local下,然後解壓縮 (PS:套件放置的位置不一定要跟我一樣,
//只是我習慣將.tar.gz的檔案統一放到這裡方便管理而已!)
[root@localhost local]# cd mysql-4.0.24
[root@localhost mysql-4.0.24]# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var
//這個是組態設定,意思是將MySQL安裝在/usr/local/mysql下,
//且將MySQL的資料庫裝於/usr/local/mysql下的var資料夾下
[root@localhost mysql-4.0.24]# make
/*開始根據上述的設定環境進行編譯,這個時候你可以去睡個小覺或看看書之類的,
因為ㄚ鳥宿舍的PC實在太慢了,有多慢ㄋ?
AMD //Duron K7 850,夠慢了吧!害我編譯了快20分鐘.....zzZ都快睡著了,無聊死ㄌ!*/
[root@localhost mysql-4.0.24]# make install
//開始安裝核心編譯檔
[root@localhost mysql-4.0.24]# scripts/mysql_install_db
//產生一個叫mysql的資料庫,這個步驟也很重要喔!
[root@localhost mysql-4.0.24]# adduser mysql
//為了系統的安全性,連建立一個叫mysql的使用者,不要任何東西都用root的權限
[root@localhost mysql-4.0.24]# chown -R mysql:mysql /usr/local/mysql
//將位於/usr/local/mysql下的所有目錄跟子目錄下的所有檔案使用者跟群組權限設定給剛剛建立的mysql使用者使用
[root@localhost mysql-4.0.24]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
//萬事具備只缺東風了,原則上剛剛的步驟如果都順利的話,那表示你已經成功的完成MySQL的安裝ㄌ,
//但是要使用之前必須要啟動喔
[root@localhost mysql-4.0.24]# ps -aux | more
//這個命令可以查看你的mysql程序是否已被啟動
[root@localhost mysql-4.0.24]# cd /usr/local/mysql/bin/
//MySQL的命令應用程式都放在這底下
[root@localhost bin]# ./mysqladmin -u root password 'peerless'
//設定MySQL的管理者密碼
[root@localhost bin]# vi /etc/rc.d/rc.local
/*當你每次開機要使用MySQL都要再重新啟動,實在是很麻煩,所以你可以用文字編輯器將
/usr/local/mysql/bin/mysqld_safe --user=mysql & 這一行加到/etc/rc.d/rc.local 裡面*/
[root@localhost bin]# ./mysql -u mysql -p  
//用mysql使用者進入工作環境
Enter password:
//直接按Enter進入,因為我並沒有設定密碼
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 4.0.24

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
mysql> show databases;
+----------+
| Database |
+----------+
| test |
+----------+
1 row in set (0.00 sec)

mysql> quit
Bye


六、MySQL的重要目錄檔案

當你將MySQL的檔案解壓安裝後,進入/local/usr/mysql/ 下會看到許多的目錄跟檔案,大家是否會感到好奇跟
不解ㄋ,還有這些是要做什麼用的ㄋ?我們就以mysql-4.0.24安裝後談談幾個目錄的功能,如下所示:

bin:目錄,包含了幾個執行 MySQL所必須的程式,例如:mysqld、 mysqladmin、mysqlaccess... 等。
在 Windows 版本中還有 mysqlmanager 等程式。
var:目錄,是 MySQL 存放資料處,每個資料庫都各自存放在獨立目錄下... 等。
include:目錄,存放著一些 C/C++ 的 API 標頭檔及 MyODBC 驅動程式... 等。
lib:目錄,包含著存取 MySQL 所必須的 C++ 函數庫 ... 等。
share:目錄,MySQL 所產生的訊息檔 (message) 及錯誤檔 (error log) 都放在這個目錄。
mysql_bench:目錄,在這個目錄下有一個 crash_me 工具程式,可以用來產生 MySQL 跟其他資料庫效能比較的結果。


七、MySQL使用教學

//以下我都以root管理者的身份來使用資料庫,免除一般使用者存取資料庫使用權限的麻煩
[root@localhost bin]# ./mysql -u root -ppeerless // -p 後面指定管理者的密碼,中間不能有空格喔!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 35 to server version: 4.0.24

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases; //顯示目前所有的資料庫名稱
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)


1、資料庫的匯入功能

[root@localhost bin]# ./mysql -u root -ppeerless < /usr/local/mysql/var/must.sql
//說明:must.sql裡面的內容是一個批次文字檔的SQL語句,內容如下:
//PS:以下個#為註解符號,在實際的檔案中不要把#加進去喔^^

# create database must;
# use must;
# create table classmate(No smallint not null auto_increment primary key,
# Std_No char(10) not null,
# Name varchar(10) not null,
# Sex char(2) not null,
# Address varchar(30) not null);

//PS: MySQL語法敘述句的用法,我這邊就不多加解釋了,不懂的人自己去翻書學習吧,因為這個不難懂^^

[root@localhost bin]# ./mysql -u root -ppeerless
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36 to server version: 4.0.24

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;  //將sql語句匯入資料庫後你會發現must這個資料庫已經被成功匯入ㄌ
+------------+
| Database |
+------------+
| must |
| mysql |
| test |
+------------+
3 rows in set (0.01 sec)
mysql> use must;  //指定目前要使用的是哪一個資料庫
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables; //Show出該資料庫下有哪些資料表
+----------------+
| Tables_in_must |
+----------------+
| classmate |
+----------------+
1 row in set (0.00 sec)

mysql> describe classmate;  //列出這個資料表的綱要(Schema)
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| No | smallint(6) | | PRI | NULL | auto_increment |
| Std_No | varchar(10) | | | | |
| Name | varchar(10) | | | | |
| Sex | char(2) | | | | |
| Address | varchar(30) | | | | |
+---------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql> select * from classmate;  //取出資料表欄位(Fields),因為我們還沒有建資料進去,所以當然是空的ㄚ
Empty set (0.00 sec)

-------------------------------------------------------------------------------------------------------
◎ 說明使用方法

在mysql/bin目錄下有一個程式檔名為 mysqlimport,它是一命令列模式下的工具程式,經由設定相關的選項,
可以將特定格式的文字檔資料匯入指定的資料表中。其語法敘述為:
mysqlimport (option1 option2…………) <資料庫的名稱> <文字檔的檔案名稱>

這個工具是使用文字檔名作為資料表名稱,文字檔中的資料型別及欄位數目也要跟要預備匯入的資料表數量相符,
否則會發生
錯誤而造成無法匯入資料的情形。所以用 mysqlimport 匯入資料之前一定要確定文字檔內的資料格式是正確無誤的。


(2)由資料嵌入檔匯入資料

透過這種方式來匯入資料其實跟使用 mysqlimport 程式是很相似的,先進入 MySQL monitor,請輸入下面指令:
切換工作資料庫至 TEST:
USE TEST;
然後,再輸入下面指令:
LOAD DATA INFILE "\home\data.sql" INTO TABLE TEST;
這樣會將data.sql檔案中的資料新增插入 TEST 資料表中,也可以設定一些參數來控制資料匯入的動作如:

LOAD DATA LOCAL INFILE "C:\home\data.sql" INTO TABLE REMOTE_TEST;
會將本機 C:\home\data.sql文字檔內容匯入到遠端 MySQL server 的REMOTE_TEST資料表中,不需先上傳檔案再匯入。

也可以設定當文字檔資料和資料表內容重複時要採取何種動作,REPLACE 表示以前者取代後者,IGNORE則是跳過
文字檔。該筆資料,敘述如下:
LOAD DATA INFILE "C:\home\data.sql" REPLACE INTO TABLE TEST;

使用關鍵字 FIELDS 宣告,相關說明如下:
lTERMINATED BY<char A>
TERMINATED BY <char A> 表示以字元A為匯入資料檔每筆紀錄間的欄位分隔字元,預設值是tab字元(\t)。
lENCLOSED BY<char A>
ENCLOSED BY<char A>則是在選取範圍內若有被框的字元時使用。
lESCAPED BY<char A>
ESCAPED BY<char A>是告訴MySQL匯入資料檔內特殊符號的跳脫字元(用以解除特殊符號的意義)者為字元A,
預設值是反斜線( \ )。

範例:
LOAD DATA INFILE "/home/orders.txt" REPLACE INTO TABLE
FIELDS TERMINATED BY ',' ENCLOSED BY '"';

有個特性是 mysqlimport 沒有的,就是 LOAD DATA INFILE 的資料檔可以進行局部匯入(Partial Import)功能。
例如,假設文字匯入檔內資料欄位有三欄,而資料表中卻不只這三個欄位,這時只有LOAD DATA INFILE來解決:
LOAD DATA INFILE "/home/order.txt"
INTO TABLE orders (Order_Number,Order_Data,Customer_ID);

-----------------------------------------------------------------------------------------------------
mysql> load data infile "/usr/local/mysql/var/myclassmates.txt" into table classmate;
//說明:myclassmates.txt裡面的內容也是一個批次文字檔的SQL語句,內容如下:

# 01 A92090001 湯佳倫 女 苗栗縣頭份鎮
# 02 A92090006 葉維潔 女 桃園縣平鎮市
# 03 A92090007 簡其弘 男 台北縣淡水鎮
# 04 A92090012 黃鈞蓮 女 高雄縣鳳山市
# 05 A92090013 吳文琦 男 宜蘭縣頭城鎮
# 06 A92090018 洪志興 男 基隆市中山區
# 07 A92090019 彭賢倫 男 桃園縣新屋鄉
# 08 A92090024 劉忠豪 男 桃園縣中壢市
# 09 A92090025 張盛堡 男 桃園市永星街
# 10 A92090030 李世逸 男 台北縣樹林市
# 11 A92090031 黃雅君 女 桃園縣楊梅鎮
# 12 A92090036 程志達 男 台北市八德路
# 13 A92090037 陳美靜 女 台北市文山區
# 14 A92090042 戴君羽 男 桃園縣中壢市
# 15 A92090043 鄒健會 男 桃園縣平鎮市
# 16 A92090049 蘇詩涵 女 嘉義市信興街
# 17 A92090054 黃敏雯 女 台北市信義區
# 18 A92090055 陳琪玲 女 台北市中華路
# 19 A92090060 鍾鑫昌 男 桃園縣楊梅鎮
# 20 A92090066 周承德 男 苗栗縣後龍鎮
# 21 A92090067 許仲恩 男 台北市南港區
# 22 A92090072 謝志彥 男 新竹縣竹東鎮
# 23 A92090073 李柏軍 男 基隆市安和一街
# 24 A92090078 簡得成 男 宜蘭縣礁溪鄉
# 25 A92090084 陳正愷 男 彰化縣永靖鄉
# 26 A92090085 武志遠 男 桃園縣中壢市
# 27 A92090090 葉日昇 男 台北縣土城市
# 28 A92090091 洪俐葳 女 台南縣仁德鄉
# 29 A92090096 李珀松 男 台北縣蘆洲市
# 30 A92090097 李明峰 男 台北縣三峽鎮
# 31 A92090102 賴曉君 女 宜蘭縣五結鄉
# 32 A92090103 林佳宜 女 台北市文山區
# 33 A92090108 陳立凡 男 屏東市建豐路
# 34 A92090109 楊豐豪 男 台北縣三重市
# 35 A92090114 劉耀元 男 台北市士林區
# 36 A92090115 陳秀玲 女 新竹市原興路
# 37 A92090120 李依芝 女 新竹市埔頂路
# 38 A92090121 林洪聖 男 新竹縣湖口鄉
# 39 A92090126 譚美蘭 女 基隆市暖暖街
# 40 A92090127 張筱楓 女 新竹縣橫山鄉
# 41 A92090132 張瓊文 女 桃園縣平鎮市
# 42 A92090133 游琇閔 女 宜蘭縣大同鄉
# 43 A92090138 鄧福祥 男 桃園縣中壢市
# 44 A92090139 林欣姿 女 宜蘭縣羅東鎮
# 45 A92090144 劉璟慧 女 花蓮縣光復鄉
# 46 A92090145 施展嘉 男 台中市北屯區
# 47 A92090150 曾婉瑜 女 新竹市民生路
# 48 A92090151 張宜彩 女 台中縣豐原市
# 49 A92090156 范立璋 男 台北市民和街
# 50 A92090157 陳敬宗 男 新竹市明湖路

Query OK, 50 rows affected (0.00 sec)
Records: 50 Deleted: 0 Skipped: 0 Warnings: 50 //成功匯入的訊息

mysql> select * from classmate;  //我們可以看到剛剛所匯入的50筆的資料已經近資料表中ㄌ
+----+-----------+--------+-----+----------------+
| No | Std_No | Name | Sex | Address |
+----+-----------+--------+-----+----------------+
| 1 | A92090001 | 湯佳倫 | 女 | 苗栗縣頭份鎮 |
| 2 | A92090006 | 葉維潔 | 女 | 桃園縣平鎮市 |
| 3 | A92090007 | 簡其弘 | 男 | 台北縣淡水鎮 |
| 4 | A92090012 | 黃鈞蓮 | 女 | 高雄縣鳳山市 |
| 5 | A92090013 | 吳文琦 | 男 | 宜蘭縣頭城鎮 |
| 6 | A92090018 | 洪志興 | 男 | 基隆市中山區 |
| 7 | A92090019 | 彭賢倫 | 男 | 桃園縣新屋鄉 |
| 8 | A92090024 | 劉忠豪 | 男 | 桃園縣中壢市 |
| 9 | A92090025 | 張盛堡 | 男 | 桃園市永星街 |
| 10 | A92090030 | 李世逸 | 男 | 台北縣樹林市 |
| 11 | A92090031 | 黃雅君 | 女 | 桃園縣楊梅鎮 |
| 12 | A92090036 | 程志達 | 男 | 台北市八德路 |
| 13 | A92090037 | 陳美靜 | 女 | 台北市文山區 |
| 14 | A92090042 | 戴君羽 | 男 | 桃園縣中壢市 |
| 15 | A92090043 | 鄒健會 | 男 | 桃園縣平鎮市 |
| 16 | A92090049 | 蘇詩涵 | 女 | 嘉義市信興街 |
| 17 | A92090054 | 黃敏雯 | 女 | 台北市信義區 |
| 18 | A92090055 | 陳琪玲 | 女 | 台北市中華路 |
| 19 | A92090060 | 鍾鑫昌 | 男 | 桃園縣楊梅鎮 |
| 20 | A92090066 | 周承德 | 男 | 苗栗縣後龍鎮 |
| 21 | A92090067 | 野糪? | 男 | 台北市南港區 |
| 22 | A92090072 | 謝志彥 | 男 | 新竹縣竹東鎮 |
| 23 | A92090073 | 李柏軍 | 男 | 基隆市安和一街 |
| 24 | A92090078 | 簡得成 | 男 | 宜蘭縣礁溪鄉 |
| 25 | A92090084 | 陳正愷 | 男 | 彰化縣永靖鄉 |
| 26 | A92090085 | 武志遠 | 男 | 桃園縣中壢市 |
| 27 | A92090090 | 葉日昇 | 男 | 台北縣土城市 |
| 28 | A92090091 | 洪俐葳 | 女 | 台南縣仁德鄉 |
| 29 | A92090096 | 李珀松 | 男 | 台北縣蘆洲市 |
| 30 | A92090097 | 李明峰 | 男 | 台北縣三峽鎮 |
| 31 | A92090102 | 賴曉君 | 女 | 宜蘭縣五結鄉 |
| 32 | A92090103 | 林佳宜 | 女 | 台北市文山區 |
| 33 | A92090108 | 陳立凡 | 男 | 屏東市建豐路 |
| 34 | A92090109 | 楊豐豪 | 男 | 台北縣三重市 |
| 35 | A92090114 | 劉耀元 | 男 | 台北市士林區 |
| 36 | A92090115 | 陳秀玲 | 女 | 新竹市原興路 |
| 37 | A92090120 | 李依芝 | 女 | 新竹市埔頂路 |
| 38 | A92090121 | 林洪聖 | 男 | 新竹縣湖口鄉 |
| 39 | A92090126 | 譚美蘭 | 女 | 基隆市暖暖街 |
| 40 | A92090127 | 張筱楓 | 女 | 新竹縣橫山鄉 |
| 41 | A92090132 | 張瓊文 | 女 | 桃園縣平鎮市 |
| 42 | A92090133 | 游琇閔 | 女 | 宜蘭縣大同鄉 |
| 43 | A92090138 | 鄧福祥 | 男 | 桃園縣中壢市 |
| 44 | A92090139 | 林欣姿 | 女 | 宜蘭縣羅東鎮 |
| 45 | A92090144 | 劉璟慧 | 女 | 花蓮縣光復鄉 |
| 46 | A92090145 | 施展嘉 | 男 | 台中市北屯區 |
| 47 | A92090150 | 曾婉瑜 | 女 | 新竹市民生路 |
| 48 | A92090151 | 張宜彩 | 女 | 台中縣豐原市 |
| 49 | A92090156 | 范立璋 | 男 | 台北市民和街 |
| 50 | A92090157 | 陳敬宗 | 男 | 新竹市明湖路 |
+----+-----------+--------+-----+----------------+
50 rows in set (0.00 sec)

/*
PS:仔細看了一下,咦?奇怪!編號(No)21號的姓名(Name)怎麼會是亂碼ㄋ@@?
其實在MySQL中是有一些中文的保留字的,EX:許,功,閱,珮... 這些都是,如果你
在資料表中有看到亂碼的字,他就有可能是保留字喔!
那要怎樣讓他正常顯示ㄋ? 嗯!其實把剛剛的myclassmates.txt裡面的內容稍微修改
一下,再重新匯入即可。方法如下:
21 A92090067 許\仲恩 男 台北市南港區
*/

mysql> load data infile "/usr/local/mysql/var/myclassmates.txt" into table classmate;
ERROR 1062: Duplicate entry '1' for key 1
//將它重新匯入,但卻出現重複輸入的錯誤訊息!
mysql> load data infile "/usr/local/mysql/var/myclassmates.txt" replace into table classmate;
Query OK, 100 rows affected (0.00 sec)
Records: 50 Deleted: 50 Skipped: 0 Warnings: 50
//加入REPLACE關鍵字就OK啦 ^^

mysql> select * from classmate;
+----+-----------+--------+-----+----------------+
| No | Std_No | Name | Sex | Address |
+----+-----------+--------+-----+----------------+
| 1 | A92090001 | 湯佳倫 | 女 | 苗栗縣頭份鎮 |
| 2 | A92090006 | 葉維潔 | 女 | 桃園縣平鎮市 |
| 3 | A92090007 | 簡其弘 | 男 | 台北縣淡水鎮 |
| 4 | A92090012 | 黃鈞蓮 | 女 | 高雄縣鳳山市 |
| 5 | A92090013 | 吳文琦 | 男 | 宜蘭縣頭城鎮 |
| 6 | A92090018 | 洪志興 | 男 | 基隆市中山區 |
| 7 | A92090019 | 彭賢倫 | 男 | 桃園縣新屋鄉 |
| 8 | A92090024 | 劉忠豪 | 男 | 桃園縣中壢市 |
| 9 | A92090025 | 張盛堡 | 男 | 桃園市永星街 |
| 10 | A92090030 | 李世逸 | 男 | 台北縣樹林市 |
| 11 | A92090031 | 黃雅君 | 女 | 桃園縣楊梅鎮 |
| 12 | A92090036 | 程志達 | 男 | 台北市八德路 |
| 13 | A92090037 | 陳美靜 | 女 | 台北市文山區 |
| 14 | A92090042 | 戴君羽 | 男 | 桃園縣中壢市 |
| 15 | A92090043 | 鄒健會 | 男 | 桃園縣平鎮市 |
| 16 | A92090049 | 蘇詩涵 | 女 | 嘉義市信興街 |
| 17 | A92090054 | 黃敏雯 | 女 | 台北市信義區 |
| 18 | A92090055 | 陳琪玲 | 女 | 台北市中華路 |
| 19 | A92090060 | 鍾鑫昌 | 男 | 桃園縣楊梅鎮 |
| 20 | A92090066 | 周承德 | 男 | 苗栗縣後龍鎮 |
| 21 | A92090067 | 許仲恩 | 男 | 台北市南港區 |
| 22 | A92090072 | 謝志彥 | 男 | 新竹縣竹東鎮 |
| 23 | A92090073 | 李柏軍 | 男 | 基隆市安和一街 |
| 24 | A92090078 | 簡得成 | 男 | 宜蘭縣礁溪鄉 |
| 25 | A92090084 | 陳正愷 | 男 | 彰化縣永靖鄉 |
| 26 | A92090085 | 武志遠 | 男 | 桃園縣中壢市 |
| 27 | A92090090 | 葉日昇 | 男 | 台北縣土城市 |
| 28 | A92090091 | 洪俐葳 | 女 | 台南縣仁德鄉 |
| 29 | A92090096 | 李珀松 | 男 | 台北縣蘆洲市 |
| 30 | A92090097 | 李明峰 | 男 | 台北縣三峽鎮 |
| 31 | A92090102 | 賴曉君 | 女 | 宜蘭縣五結鄉 |
| 32 | A92090103 | 林佳宜 | 女 | 台北市文山區 |
| 33 | A92090108 | 陳立凡 | 男 | 屏東市建豐路 |
| 34 | A92090109 | 楊豐豪 | 男 | 台北縣三重市 |
| 35 | A92090114 | 劉耀元 | 男 | 台北市士林區 |
| 36 | A92090115 | 陳秀玲 | 女 | 新竹市原興路 |
| 37 | A92090120 | 李依芝 | 女 | 新竹市埔頂路 |
| 38 | A92090121 | 林洪聖 | 男 | 新竹縣湖口鄉 |
| 39 | A92090126 | 譚美蘭 | 女 | 基隆市暖暖街 |
| 40 | A92090127 | 張筱楓 | 女 | 新竹縣橫山鄉 |
| 41 | A92090132 | 張瓊文 | 女 | 桃園縣平鎮市 |
| 42 | A92090133 | 游琇閔 | 女 | 宜蘭縣大同鄉 |
| 43 | A92090138 | 鄧福祥 | 男 | 桃園縣中壢市 |
| 44 | A92090139 | 林欣姿 | 女 | 宜蘭縣羅東鎮 |
| 45 | A92090144 | 劉璟慧 | 女 | 花蓮縣光復鄉 |
| 46 | A92090145 | 施展嘉 | 男 | 台中市北屯區 |
| 47 | A92090150 | 曾婉瑜 | 女 | 新竹市民生路 |
| 48 | A92090151 | 張宜彩 | 女 | 台中縣豐原市 |
| 49 | A92090156 | 范立璋 | 男 | 台北市民和街 |
| 50 | A92090157 | 陳敬宗 | 男 | 新竹市明湖路 |
+----+-----------+--------+-----+----------------+
50 rows in set (0.00 sec)


2、MySQL資料匯出方法

為何我們要匯出資料呢?一個重要的原因是為了要備份資料庫,資料是無價的,定期的備份資料,
萬一資料庫損毀時可以將損失減至最低,另一個則是為了與其它系統分享資料。

(1)MySQL資料匯出工具 mysqldump
Myspldump在某些方面跟資料匯入工具mysqlimport蠻像的,它可以將整個資料庫結構及資料傾成
一份單一文字檔,這個檔案中包含所有重建這個資料庫所需的SQL敘述,如建立資料庫結構的敘述
(CREATE…)及所有資料的插敘述(INSERT…),由於所有的資料都彙集在單一檔案中,當需要重建資料時,
只需要這個檔案重新匯入即可。例如要將範例資料庫Bird整個傾印出來,輸入:

bin/mysqldump 資料庫 > 文字檔檔案名稱

如果要將某個資料表的內容完全傾倒出來,請輸入:
bin/mysqldump 資料庫名稱 資料表明稱 > 文字檔檔案名稱

可以更進一步,利用SQL的WHERE敘述來選擇性的匯出資料,例如:
bin/mysqldump -where="欄位名稱> 2000" 資料庫名稱 資料表明稱 > 文字檔檔案名稱

********************* Way1 **********************
mysql> quit
Bye

[root@localhost bin]# ./mysqldump must classmate > /usr/local/mysql/var/classmate_bk.2005
./mysqldump: Got error: 1045: Access denied for user: 'root@localhost' (Using password: NO) when trying to connect
//又是存取權限的問題,必須要指定使用者稱跟密碼
[root@localhost bin]# ./mysqldump -u root -ppeerless must classmate > /usr/local/mysql/var/classmate_bk.2005
[root@localhost bin]# cd /usr/local/mysql/var
[root@localhost var]# ls
classmate_bk.2005 ib_logfile0 localhost.localdomain.pid myclassmates.txt test
ib_arch_log_0000000000 ib_logfile1 must mysql
ibdata1 localhost.localdomain.err must.sql peerlessdb

[root@localhost var]# cat classmate_bk.2005
-- MySQL dump 9.11
--
-- Host: localhost Database: must
-- ------------------------------------------------------
-- Server version 4.0.24

--
-- Table structure for table `classmate`
--

CREATE TABLE classmate (
No smallint(6) NOT NULL auto_increment,
Std_No varchar(10) NOT NULL default '',
Name varchar(10) NOT NULL default '',
Sex char(2) NOT NULL default '',
Address varchar(30) NOT NULL default '',
PRIMARY KEY (No)
) TYPE=MyISAM;

--
-- Dumping data for table `classmate`
--

INSERT INTO classmate VALUES (1,'A92090001','湯佳倫','女','苗栗縣頭份鎮');
INSERT INTO classmate VALUES (2,'A92090006','葉維潔','女','桃園縣平鎮市');
INSERT INTO classmate VALUES (3,'A92090007','簡其弘','男','台北縣淡水鎮');
INSERT INTO classmate VALUES (4,'A92090012','黃鈞蓮','女','高雄縣鳳山市');
INSERT INTO classmate VALUES (5,'A92090013','吳文琦','男','宜蘭縣頭城鎮');
INSERT INTO classmate VALUES (6,'A92090018','洪志興','男','基隆市中山區');
INSERT INTO classmate VALUES (7,'A92090019','彭賢倫','男','桃園縣新屋鄉');
INSERT INTO classmate VALUES (8,'A92090024','劉忠豪','男','桃園縣中壢市');
INSERT INTO classmate VALUES (9,'A92090025','張盛堡','男','桃園市永星街');
INSERT INTO classmate VALUES (10,'A92090030','李世逸','男','台北縣樹林市');
INSERT INTO classmate VALUES (11,'A92090031','黃雅君','女','桃園縣楊梅鎮');
INSERT INTO classmate VALUES (12,'A92090036','程志達','男','台北市八德路');
INSERT INTO classmate VALUES (13,'A92090037','陳美靜','女','台北市文山區');
INSERT INTO classmate VALUES (14,'A92090042','戴君羽','男','桃園縣中壢市');
INSERT INTO classmate VALUES (15,'A92090043','鄒健會','男','桃園縣平鎮市');
INSERT INTO classmate VALUES (16,'A92090049','蘇詩涵','女','嘉義市信興街');
INSERT INTO classmate VALUES (17,'A92090054','黃敏雯','女','台北市信義區');
INSERT INTO classmate VALUES (18,'A92090055','陳琪玲','女','台北市中華路');
INSERT INTO classmate VALUES (19,'A92090060','鍾鑫昌','男','桃園縣楊梅鎮');
INSERT INTO classmate VALUES (20,'A92090066','周承德','男','苗栗縣後龍鎮');
INSERT INTO classmate VALUES (21,'A92090067','許\仲恩','男','台北市南港區');
INSERT INTO classmate VALUES (22,'A92090072','謝志彥','男','新竹縣竹東鎮');
INSERT INTO classmate VALUES (23,'A92090073','李柏軍','男','基隆市安和一街');
INSERT INTO classmate VALUES (24,'A92090078','簡得成','男','宜蘭縣礁溪鄉');
INSERT INTO classmate VALUES (25,'A92090084','陳正愷','男','彰化縣永靖鄉');
INSERT INTO classmate VALUES (26,'A92090085','武志遠','男','桃園縣中壢市');
INSERT INTO classmate VALUES (27,'A92090090','葉日昇','男','台北縣土城市');
INSERT INTO classmate VALUES (28,'A92090091','洪俐葳','女','台南縣仁德鄉');
INSERT INTO classmate VALUES (29,'A92090096','李珀松','男','台北縣蘆洲市');
INSERT INTO classmate VALUES (30,'A92090097','李明峰','男','台北縣三峽鎮');
INSERT INTO classmate VALUES (31,'A92090102','賴曉君','女','宜蘭縣五結鄉');
INSERT INTO classmate VALUES (32,'A92090103','林佳宜','女','台北市文山區');
INSERT INTO classmate VALUES (33,'A92090108','陳立凡','男','屏東市建豐路');
INSERT INTO classmate VALUES (34,'A92090109','楊豐豪','男','台北縣三重市');
INSERT INTO classmate VALUES (35,'A92090114','劉耀元','男','台北市士林區');
INSERT INTO classmate VALUES (36,'A92090115','陳秀玲','女','新竹市原興路');
INSERT INTO classmate VALUES (37,'A92090120','李依芝','女','新竹市埔頂路');
INSERT INTO classmate VALUES (38,'A92090121','林洪聖','男','新竹縣湖口鄉');
INSERT INTO classmate VALUES (39,'A92090126','譚美蘭','女','基隆市暖暖街');
INSERT INTO classmate VALUES (40,'A92090127','張筱楓','女','新竹縣橫山鄉');
INSERT INTO classmate VALUES (41,'A92090132','張瓊文','女','桃園縣平鎮市');
INSERT INTO classmate VALUES (42,'A92090133','游琇閔','女','宜蘭縣大同鄉');
INSERT INTO classmate VALUES (43,'A92090138','鄧福祥','男','桃園縣中壢市');
INSERT INTO classmate VALUES (44,'A92090139','林欣姿','女','宜蘭縣羅東鎮');
INSERT INTO classmate VALUES (45,'A92090144','劉璟慧','女','花蓮縣光復鄉');
INSERT INTO classmate VALUES (46,'A92090145','施展嘉','男','台中市北屯區');
INSERT INTO classmate VALUES (47,'A92090150','曾婉瑜','女','新竹市民生路');
INSERT INTO classmate VALUES (48,'A92090151','張宜彩','女','台中縣豐原市');
INSERT INTO classmate VALUES (49,'A92090156','范立璋','男','台北市民和街');
INSERT INTO classmate VALUES (50,'A92090157','陳敬宗','男','新竹市明湖路');

//哇塞!有夠酷的,竟然把所有資料表的資訊都記載起來,不錯喔!
[root@localhost root]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysql -u root -ppeerless

mysql> show tables;
+----------------+
| Tables_in_must |
+----------------+
| classmate |
+----------------+
1 row in set (0.00 sec)

mysql> drop table classmate;  //刪除資料表的紀錄
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
Empty set (0.00 sec)

mysql> quit
Bye

[root@localhost bin]# ./mysql -u root -ppeerless < /usr/local/mysql/var/classmate_bk.2005
ERROR 1046 at line 11: No Database Selected
//OOPS!奇怪,怎嚜不能匯入檔案到資料庫ㄋ?
//這是因為你剛剛用mysqldump將資料匯出,而資料裡面的內容記載著有關資料表的一些資訊
//它將所有CREATE TABLE與INSERT INTO都寫到這個檔案中,必須要用其他方法將他匯入才行
//我將於Way2中為大家解答^^
[root@localhost bin]# ./mysql -u root -ppeerless
mysql> load data infile "/usr/local/mysql/var/classmate_bk.2005" into table classmate;
ERROR 1146: Table 'must.classmate' doesn't exist
//這個命令也不能這樣用,因為上一步匯入資料表的SQL敘述並未成功的匯進資料庫中

********************* WAY2 **********************
mysqldump -T的使用語法:
mysqldump -T 資料庫要儲存的路徑 資料庫名稱 資料表名稱
//我個人偏好使用mysqldump -T這種方法,真的比較好用喔^^
// -T這個參數代表將資料表產生兩個檔案格式,一個是.sql的語句、另一個則是.txt的內容文字檔
[root@localhost bin]# ./mysqldump -u root -ppeerless -T /home/mysql/ must classmate
//我們這次要將資料備份到/home/mysql的位置下
[root@localhost bin]# cd /home/mysql
[root@localhost mysql]# ls -l
總計 8
-rw-r--r-- 1 root root 453 5月 24 18:20 classmate.sql
-rw-rw-rw- 1 mysql mysql 1794 5月 24 18:20 classmate.txt
//你瞧!真的產生兩種檔案格式了,而且你仔細看會發現.sql 跟 .txt的使用者權限竟然不同
[root@localhost mysql]# cat classmate.sql
-- MySQL dump 9.11
--
-- Host: localhost Database: must
-- ------------------------------------------------------
-- Server version 4.0.24

--
-- Table structure for table `classmate`
--

CREATE TABLE classmate (
No smallint(6) NOT NULL auto_increment,
Std_No varchar(10) NOT NULL default '',
Name varchar(10) NOT NULL default '',
Sex char(2) NOT NULL default '',
Address varchar(30) NOT NULL default '',
PRIMARY KEY (No)
) TYPE=MyISAM;

[root@localhost mysql]# cat classmate.txt
1 A92090001 湯佳倫 女 苗栗縣頭份鎮
2 A92090006 葉維潔 女 桃園縣平鎮市
3 A92090007 簡其弘 男 台北縣淡水鎮
4 A92090012 黃鈞蓮 女 高雄縣鳳山市
5 A92090013 吳文琦 男 宜蘭縣頭城鎮
6 A92090018 洪志興 男 基隆市中山區
7 A92090019 彭賢倫 男 桃園縣新屋鄉
8 A92090024 劉忠豪 男 桃園縣中壢市
9 A92090025 張盛堡 男 桃園市永星街
10 A92090030 李世逸 男 台北縣樹林市
11 A92090031 黃雅君 女 桃園縣楊梅鎮
12 A92090036 程志達 男 台北市八德路
13 A92090037 陳美靜 女 台北市文山區
14 A92090042 戴君羽 男 桃園縣中壢市
15 A92090043 鄒健會 男 桃園縣平鎮市
16 A92090049 蘇詩涵 女 嘉義市信興街
17 A92090054 黃敏雯 女 台北市信義區
18 A92090055 陳琪玲 女 台北市中華路
19 A92090060 鍾鑫昌 男 桃園縣楊梅鎮
20 A92090066 周承德 男 苗栗縣後龍鎮
21 A92090067 許\仲恩 男 台北市南港區
22 A92090072 謝志彥 男 新竹縣竹東鎮
23 A92090073 李柏軍 男 基隆市安和一街
24 A92090078 簡得成 男 宜蘭縣礁溪鄉
25 A92090084 陳正愷 男 彰化縣永靖鄉
26 A92090085 武志遠 男 桃園縣中壢市
27 A92090090 葉日昇 男 台北縣土城市
28 A92090091 洪俐葳 女 台南縣仁德鄉
29 A92090096 李珀松 男 台北縣蘆洲市
30 A92090097 李明峰 男 台北縣三峽鎮
31 A92090102 賴曉君 女 宜蘭縣五結鄉
32 A92090103 林佳宜 女 台北市文山區
33 A92090108 陳立凡 男 屏東市建豐路
34 A92090109 楊豐豪 男 台北縣三重市
35 A92090114 劉耀元 男 台北市士林區
36 A92090115 陳秀玲 女 新竹市原興路
37 A92090120 李依芝 女 新竹市埔頂路
38 A92090121 林洪聖 男 新竹縣湖口鄉
39 A92090126 譚美蘭 女 基隆市暖暖街
40 A92090127 張筱楓 女 新竹縣橫山鄉
41 A92090132 張瓊文 女 桃園縣平鎮市
42 A92090133 游琇閔 女 宜蘭縣大同鄉
43 A92090138 鄧福祥 男 桃園縣中壢市
44 A92090139 林欣姿 女 宜蘭縣羅東鎮
45 A92090144 劉璟慧 女 花蓮縣光復鄉
46 A92090145 施展嘉 男 台中市北屯區
47 A92090150 曾婉瑜 女 新竹市民生路
48 A92090151 張宜彩 女 台中縣豐原市
49 A92090156 范立璋 男 台北市民和街
50 A92090157 陳敬宗 男 新竹市明湖路

[root@localhost bin]# ./mysql -u root -ppeerless test < /home/mysql/classmate.sql
//嗯嗯~~果然可以順利的匯入ㄌ
[root@localhost bin]# ./mysqlimport -u root -ppeerless test /home/mysql/classmate.txt
test.classmate: Records: 50 Deleted: 0 Skipped: 0 Warnings: 0
//注意看了!剛剛在WAY1中不能將.txt匯入的原因是匯入方法錯誤,因為使用mysqldump所匯出的.txt檔
//是要用mysqlimport來匯入,而不是使用LOAD DATA INFILE... ,ㄚ鳥之前也是觀念錯誤搞了好久!
//後來終於在書中發現要使用import這個命令才是正確的 =.=''
[root@localhost bin]# ./mysql -u root -ppeerless
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 81 to server version: 4.0.24

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| classmate |
+----------------+
1 row in set (0.00 sec)

mysql> select * from classmate;
+----+-----------+--------+-----+----------------+
| No | Std_No | Name | Sex | Address |
+----+-----------+--------+-----+----------------+
| 1 | A92090001 | 湯佳倫 | 女 | 苗栗縣頭份鎮 |
| 2 | A92090006 | 葉維潔 | 女 | 桃園縣平鎮市 |
| 3 | A92090007 | 簡其弘 | 男 | 台北縣淡水鎮 |
| 4 | A92090012 | 黃鈞蓮 | 女 | 高雄縣鳳山市 |
| 5 | A92090013 | 吳文琦 | 男 | 宜蘭縣頭城鎮 |
| 6 | A92090018 | 洪志興 | 男 | 基隆市中山區 |
| 7 | A92090019 | 彭賢倫 | 男 | 桃園縣新屋鄉 |
| 8 | A92090024 | 劉忠豪 | 男 | 桃園縣中壢市 |
| 9 | A92090025 | 張盛堡 | 男 | 桃園市永星街 |
| 10 | A92090030 | 李世逸 | 男 | 台北縣樹林市 |
| 11 | A92090031 | 黃雅君 | 女 | 桃園縣楊梅鎮 |
| 12 | A92090036 | 程志達 | 男 | 台北市八德路 |
| 13 | A92090037 | 陳美靜 | 女 | 台北市文山區 |
| 14 | A92090042 | 戴君羽 | 男 | 桃園縣中壢市 |
| 15 | A92090043 | 鄒健會 | 男 | 桃園縣平鎮市 |
| 16 | A92090049 | 蘇詩涵 | 女 | 嘉義市信興街 |
| 17 | A92090054 | 黃敏雯 | 女 | 台北市信義區 |
| 18 | A92090055 | 陳琪玲 | 女 | 台北市中華路 |
| 19 | A92090060 | 鍾鑫昌 | 男 | 桃園縣楊梅鎮 |
| 20 | A92090066 | 周承德 | 男 | 苗栗縣後龍鎮 |
| 21 | A92090067 | 許仲恩 | 男 | 台北市南港區 |
| 22 | A92090072 | 謝志彥 | 男 | 新竹縣竹東鎮 |
| 23 | A92090073 | 李柏軍 | 男 | 基隆市安和一街 |
| 24 | A92090078 | 簡得成 | 男 | 宜蘭縣礁溪鄉 |
| 25 | A92090084 | 陳正愷 | 男 | 彰化縣永靖鄉 |
| 26 | A92090085 | 武志遠 | 男 | 桃園縣中壢市 |
| 27 | A92090090 | 葉日昇 | 男 | 台北縣土城市 |
| 28 | A92090091 | 洪俐葳 | 女 | 台南縣仁德鄉 |
| 29 | A92090096 | 李珀松 | 男 | 台北縣蘆洲市 |
| 30 | A92090097 | 李明峰 | 男 | 台北縣三峽鎮 |
| 31 | A92090102 | 賴曉君 | 女 | 宜蘭縣五結鄉 |
| 32 | A92090103 | 林佳宜 | 女 | 台北市文山區 |
| 33 | A92090108 | 陳立凡 | 男 | 屏東市建豐路 |
| 34 | A92090109 | 楊豐豪 | 男 | 台北縣三重市 |
| 35 | A92090114 | 劉耀元 | 男 | 台北市士林區 |
| 36 | A92090115 | 陳秀玲 | 女 | 新竹市原興路 |
| 37 | A92090120 | 李依芝 | 女 | 新竹市埔頂路 |
| 38 | A92090121 | 林洪聖 | 男 | 新竹縣湖口鄉 |
| 39 | A92090126 | 譚美蘭 | 女 | 基隆市暖暖街 |
| 40 | A92090127 | 張筱楓 | 女 | 新竹縣橫山鄉 |
| 41 | A92090132 | 張瓊文 | 女 | 桃園縣平鎮市 |
| 42 | A92090133 | 游琇閔 | 女 | 宜蘭縣大同鄉 |
| 43 | A92090138 | 鄧福祥 | 男 | 桃園縣中壢市 |
| 44 | A92090139 | 林欣姿 | 女 | 宜蘭縣羅東鎮 |
| 45 | A92090144 | 劉璟慧 | 女 | 花蓮縣光復鄉 |
| 46 | A92090145 | 施展嘉 | 男 | 台中市北屯區 |
| 47 | A92090150 | 曾婉瑜 | 女 | 新竹市民生路 |
| 48 | A92090151 | 張宜彩 | 女 | 台中縣豐原市 |
| 49 | A92090156 | 范立璋 | 男 | 台北市民和街 |
| 50 | A92090157 | 陳敬宗 | 男 | 新竹市明湖路 |
+----+-----------+--------+-----+----------------+
50 rows in set (0.00 sec)


(2)利用SELECT OUTFILE匯出資料

在 MySQL monitor 下使用 SELECT INTO OUTFILE 敘述匯出資料,
這個方法就如同是 mysqlimport 之於 LOAD DATA INFILE一般。

範例:
SELECT * INTO OUTFILE "/home/mark/Orders.txt"
FILEDS TERMINATED by =',' FROM Orders WHERE Order_Data >= '2000';
//這個方法我救不實作了,因為我較喜歡用第(1)個方法,嘻~~


八、MySQL使用心得

嗯!我發現MySQL還蠻好用的、蠻好玩的,但是他在Linux下的安裝方式實在是讓人覺得麻煩!
不像在Windows下那麼容易安裝只要一直按Next就裝完了,他的安裝路徑預設是在C:\mysql。
此外,我覺得使用MySQL做資料的備分可以用一個叫做phpMyAdmin的圖型化管理工具,他的介面
非常的平易近人、而且還能做快速的資料庫備份跟使用者權限的設定,不但省時還省力呢。
不過話又說回來,使用文字介面的操作模式看起來好像比較屌!讓人感覺起來好像比較厲害!
話雖如此,我覺得用文字介面來操作,優點是能夠學習到SQL的操作語法跟使用語句及函數方法,
但是在某些時候又會在人覺得有點麻煩!所以可以跟phpMyAdmin來搭配使用,剛好能夠截長補短,
真是一舉數得啊!大家也一起來用MySQL吧~~

__________________
刀狂劍癡─葉小釵

向板主反應此篇文章 | IP: 已記錄

舊文章 05-25-2005 10:26 PM
peerless is offline 點選觀看 peerless 的個人資料 Click here to Send peerless a Private Message 搜尋 peerless 更多發表的文章 把 peerless 加到您的好友列表 編輯/刪除文章 回覆/引用
所有的時間均為 GTM +7 hours . 現在的時間是 06:55 PM. 發表一個新主題    回覆該篇文章
  上一篇主題   下一篇主題
預覽列印結果 | 傳送此頁面給朋友 | 訂閱這個主題

選擇另一個討論區:
給該主題評分:

討論區規則:
不可以 發表新主題
不可以 回覆每篇文章
不可以 上傳附件檔案
不可以 編輯您自己的文章
HTML 代碼是 禁止
vB 代碼提供
表情符號提供
[IMG] 代碼是 禁止
 

< 與我們連絡 - 華玄明網際網路實驗室 >