0

我正在学习 SQL。我目前在 Mac 上使用带有终端的 mysql 客户端。我已经从 mysql.com 下载了“world.sql”文件,以便使用和操作它。该文件目前在我的桌面上 /Users/myname/Desktop/world.sql

我创建了一个名为“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 @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES latin1 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@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);

我已经包括了前几条记录。

如何将此文件添加到空的“世界”数据库中?我需要先在数据库中创建表吗?鉴于文件当前在我的桌面上,我需要使用什么命令将其添加到“世界”?

4

2 回答 2

2

无需创建表:CREATE TABLE语句已包含在转储中。

使用工作mysql客户端,只需使用输入重定向使其读取转储并填充数据库:

mysql world <world.sql
于 2013-01-13T18:42:29.960 回答
2

要将转储文件中的数据添加到数据库中,请执行

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

它的作用是告诉 mysql 客户端使用数据库“world”执行文件的内容。

文件 world.sql 包含 mysql 查询的集合,这些查询创建表“City”(如果它已经存在,则首先将其删除),然后将 5 行数据插入该表中。

于 2013-01-13T18:52:42.683 回答