2013-01-13 99 views
0

我正在學習SQL。我目前在Mac上使用終端的mysql客戶端。 我已經從mysql.com下載了「world.sql」文件,以便玩弄和操縱它。 該文件當前是在我的桌面上/Users/myname/Desktop/world.sql使用終端添加新數據庫mysql客戶端

我創建了一個名爲「world」的新數據庫。這個數據庫是空的。

我想下載的world.sql文件添加到該數據庫。以下是打開時世界.sql文件的樣子:

-- MySQL dump 10.13 Distrib 5.1.51, for pc-linux-gnu (i686) 
-- 
-- Host: 127.0.0.1 Database: world 
-- ------------------------------------------------------ 
-- Server version 5.1.51-debug-log 

/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES latin1 */; 
/*!40103 SET @[email protected]@TIME_ZONE */; 
/*!40103 SET TIME_ZONE='+00:00' */; 
/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */; 

-- 
-- Table structure for table `City` 
-- 

DROP TABLE IF EXISTS `City`; 
/*!40101 SET @saved_cs_client  = @@character_set_client */; 
/*!40101 SET character_set_client = utf8 */; 
CREATE TABLE `City` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `Name` char(35) NOT NULL DEFAULT '', 
    `CountryCode` char(3) NOT NULL DEFAULT '', 
    `District` char(20) NOT NULL DEFAULT '', 
    `Population` int(11) NOT NULL DEFAULT '0', 
    PRIMARY KEY (`ID`) 
) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1; 
/*!40101 SET character_set_client = @saved_cs_client */; 

-- 
-- Dumping data for table `City` 
-- 
-- ORDER BY: `ID` 

INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000); 
INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500); 
INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800); 
INSERT INTO `City` VALUES (4,'Mazar-e-Sharif','AFG','Balkh',127800); 
INSERT INTO `City` VALUES (5,'Amsterdam','NLD','Noord-Holland',731200); 

我已經包含了前幾條記錄。

如何添加這個文件到空的「世界」數據庫?我是否需要首先在數據庫中創建表?鑑於該文件目前在我的桌面上,我需要使用什麼命令將其添加到「世界」?

+0

感謝您的反饋,但我仍在掙扎。也許這是我用來訪問文件的路徑? .sql文件在我的桌面上。 我已經試過: 的mysql>

回答

2

從轉儲文件到您的數據庫中添加數據,執行

mysql -u username -p -h localhost world < world.sql 

這是做什麼的,它告訴mysql客戶端使用數據庫「world」來執行文件的內容。

文件world.sql包含MySQL的查詢,其創建表「城市」的集合(第一丟棄它,如果它已經存在),然後插入5行數據到該表。

+0

所以,假設我在臺階那裏我有訪問MySQL和空數據庫「世界」,像這樣: 在/ usr /本地/ MySQL的/斌/ MySQL的世界 沒有密碼。從這裏命令

+0

你有錯誤信息嗎? – mxgr

+0

我做了,但我必須成功添加 - 現在顯示。我對桌面的路徑感到困惑。謝謝你的幫助 –

2

沒有必要創建表:CREATE TABLE報表已經包含在轉儲。

隨着工作mysql客戶端,只用輸入重定向,使其讀取轉儲和填充數據庫:

mysql world <world.sql