台灣最大程式設計社群網站
線上人數
1012
 
會員總數:246087
討論主題:189663
歡迎您免費加入會員
討論區列表 >> MySQL >> [mysql問題]請問要如何匯出~~~~~~~~~?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[mysql問題]請問要如何匯出~~~~~~~~~?
價值 : 0 QP  點閱數:1657 回應數:13
樓主

阿牛哥
門外漢
0 0
0 0
發送站內信

請問一下 要如何在monitor中
匯出呢~?
就是把sql敘述 存成一個*.sql檔
可以幫幫我嗎~
謝謝~^^ 

本篇文章發表於2003-08-13 01:33
1樓
作者回應

阿牛哥
檢舉此回應
例如我在monitor裡面
輸入了這些:
============================================
create database aaaa;
use aaaa;
create table at (at1 int,at2 text);
insert into at (at1,at2) values (432,'fewafe');
insert into at (at1,at2) values (111,'abc');
============================================
然後我希望將這些 做成一個*.sql檔
不知道指令該怎麼打...
可以幫我一下嗎~?
本篇文章回覆於2003-08-13 01:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小龜
檢舉此回應
在 c:\mysql\bin 這個目錄裡面用 mysqldump 這個命令

ex:

c:\mysql\bin\mysqldump aaaa at > xx.sql
                     
aaaa =>是你的資料庫名稱
at     =>是你的資料表名稱
>      =>就是輸出的意思(就是把左邊的內容輸出成右邊的內容)
xx.sql =>就是你想要輸出的檔案名稱

希望可以解決你的問題,有錯請指正喔! ^^


本篇文章回覆於2003-08-13 09:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

阿牛哥
檢舉此回應
那要先回到dos模式嗎~?
要在哪邊打上c:\mysql\bin\mysqldump aaaa at > xx.sql
這個指令呢 我直接在monitor 模式打 會有錯誤??
本篇文章回覆於2003-08-13 13:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小龜
檢舉此回應
用DOS模式.. 進入你安裝mysql的目錄裡面,然後再進入bin這個目錄裡面下mysqldump 這個指令

假設你是用預設的方式安裝mysql到c槽的話..
利用dos模式(命令提示字元),到c:\mysql\bin 裡面去下以上的指令就可以了.. 

有問題在問喔.. ^^

本篇文章回覆於2003-08-13 13:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

阿牛哥
檢舉此回應
非常感謝你..
已經可以做出一個*.sql出來了

可以接下來又有個問題.....
要如何將這個*.sql 匯進去mysql中呢~?
本篇文章回覆於2003-08-13 14:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

小龜
檢舉此回應
也是用同樣的道理..

在你的 mysql\bin 這個目錄裡面下以下的指令

ex: c:\mysql\bin\mysql < xx.sql

mysql   => 是指令
<        => 表示資料是由右邊丟回左邊
xx.sql  => 就是你匯出來的 *.sql 這個檔案

其實匯出跟匯回的原理大致上是類似的..
只是匯回 mysql,是用 mysql 這個命令.. 匯出是用 mysqldump..

有問題在問啦.. 我也是剛學mysql... ^^"
請多多批評與指教
本篇文章回覆於2003-08-13 15:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

阿牛哥
檢舉此回應
謝謝你~! 高手

可是我輸入以後 他出現
ERROR 1046 line 11: No Database Selected
??
照理說應該可以的阿@@
你知道是什麼原因嗎~?
本篇文章回覆於2003-08-13 16:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

小龜
檢舉此回應
呵呵.. 我照我說的方法做了一次.. 結果錯誤訊息跟你一樣耶..@@
不過我參考的那本書說可以做就可以了... ^^"

後來我發覺了一件事情,想不到就可以了... ^^
我把我的做法說給你參考一下..
首先假設你已經把你要匯出的資料存成 at.sql 這個名稱..
然後以下就是 at.sql 這個.sql檔的內容..

-- MySQL dump 9.08
--
-- Host: localhost    Database: aaaa
---------------------------------------------------------
-- Server version        4.0.13-nt

--
-- Table structure for table 'at'
--

use aaaa;  

CREATE TABLE at (
  at1 int(11) default NULL,
  at2 text
) TYPE=MyISAM;

--
-- Dumping data for table 'at'
--

INSERT INTO at VALUES (432,'fewafe');
INSERT INTO at VALUES (111,'abc');


其實我們剛開始的錯誤訊息是  "No Database Selected".. 這行是表示沒有database被選取.. 也就是說 mysql不知道你要對哪個database做動作啦... ^^"
所以你注意看一下上面的那段程式碼..
其中有一行叫做   " use aaaa; "  ..
原來你所匯出的 at.sql 其實裡面沒有這行..
所以當你用 mysql < at.sql 這樣時,你可以參考一下 at.sql 的程式碼..
你會發覺當你在建 at 這個table時,在這之前你都沒有先 use 某個database.. 
so.. 這樣當然就沒辦法匯回資料了..

所以做法就是開啟 at.sql ... 然後在 create table at 之前,你要自行增加一行程式碼,你的database 上面寫的很清楚,是 aaaa..
所以就增加下面這行程式碼到 at.sql 就可以了..


use aaaa;


ps. 我的建議是.. 當你匯出一個 .sql檔時,先把那個 .sql檔開啟來..
然後看一下裡面的內容, 就會發覺少了 use 某個database 這條命令,
所以就可以參考相關訊息,自然可以找到你的database叫什麼,然後再手動的新增一行 use xxxxx 這行程式碼,然後在存檔,我想這樣可能會比較麻煩,但是可能也還好啦.. 因為只有加一行程式碼而已..
其實匯入的方法有滿多種的,你可以參考一下書上寫的喔.. ^^

希望這樣能夠解決你的問題喔.. 我們一起努力吧!! ^^



本篇文章回覆於2003-08-13 17:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

阿牛哥
檢舉此回應
嗯嗯~我了解了 非常謝謝你哦~^^
但是我覺得很奇怪的是 mysqldump 這種方法 會讓sql檔少一個use xxx;
這是bug嗎~?
本篇文章回覆於2003-08-13 17:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

小龜
檢舉此回應
呵呵.. 這我就不清楚了.. 你可以用用 phymyadmin 這套軟體試看看..
我覺得它做的很不錯.. 像你說的資料庫匯出或匯入都提供比較方便的使用介面,而且也不用在慢慢的key sql 指令了喔...

剛開始時我也是用 命令提示字元進入 mysql\bin 裡面學一些相關的指令,但是自從裝了 phpmyadmin之後,就比較少在用打的了.... ^^"
建議你可以去裝個 phpmyadmin 玩看看.. 不錯用啦! ^^

本篇文章回覆於2003-08-14 08:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

阿牛哥
檢舉此回應
恩恩~我知道 我也是聽很多人都這樣說@@
但是我想先把這個先全都搞懂 至少要知道
才去使用那個
這樣比較有紮實的感覺~^^
本篇文章回覆於2003-08-14 14:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

小龜
檢舉此回應
呵呵.. 如果是這樣的話,可以去買一本專門在講 my-sql 的書來看喔,因為裡面的資訊會比較多啦... ^0^
本篇文章回覆於2003-08-14 15:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

阿牛哥
檢舉此回應
應該不必吧~
我只求略懂在monitor模式下 作業
因為已經有phpmyadmin了~^^
本篇文章回覆於2003-08-14 15:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.