2013-01-13 100 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