MySQL 从geonames.org数据库导入数据到MySQL DB

MySQL 从geonames.org数据库导入数据到MySQL DB

阅读更多:MySQL 教程

简介

Geonames是一个免费且高质量的地理数据库,包含了世界各地的城市、村庄、州、省和国家的细节信息。该数据库包括超过250个国家和地区的相当数量的名称和地区信息。

MySQL是一种开源的关系数据库,可用于存储和管理大型数据集。导入Geonames数据库到MySQL中可使用户更轻松地管理该数据集并执行查询。本文将讲解如何将Geonames数据库导入到MySQL数据库中。

步骤1: 从Geonames.org上下载数据文件

首先,访问 http://download.geonames.org/export/dump/ 下载需要的数据文件。该网站提供很多选项,您可以根据需要下载不同的文件。在本文中,我们将下载的是所有国家的城市数据,文件名为cities1000.zip

步骤2: 创建一个新的数据库

在导入数据之前,您需要创建一个新的数据库用于存储导入的数据。您可以使用MySQL的命令行界面或者MySQL Workbench来创建数据库。以下是在MySQL中使用命令行创建数据库的示例代码:

CREATE DATABASE geonames;
Mysql

步骤3: 解压并导入数据文件

现在您已经下载了cities1000.zip文件,接下来需要解压它并将数据导入到MySQL数据库中。可以使用以下示例代码:

unzip cities1000.zip
Mysql

解压后您将得到一个名为cities1000.txt的文件,它是tab分隔的文件。使用以下示例代码将该文件导入到之前创建的geonames数据库中:

LOAD DATA INFILE '/path/to/cities1000.txt' INTO TABLE geoname
FIELDS TERMINATED BY '\t' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Mysql

上面的代码将数据导入了geoname表中。如果您还没有创建该表,那么您需要使用以下示例代码创建一个新的表:

CREATE TABLE geoname (
  geonameid         INT(11) NOT NULL,
  name              VARCHAR(200),
  asciiname         VARCHAR(200),
  alternatenames    VARCHAR(5000),
  latitude          FLOAT(10,6),
  longitude         FLOAT(10,6),
  feature_class     CHAR(1),
  feature_code      VARCHAR(10),
  country_code      VARCHAR(2),
  cc2               VARCHAR(60),
  admin1_code       VARCHAR(20),
  admin2_code       VARCHAR(80),
  admin3_code       VARCHAR(20),
  admin4_code       VARCHAR(20),
  population        INT(11),
  elevation         INT(11),
  dem               INT(11),
  timezone          VARCHAR(40),
  modification_date DATE,
  PRIMARY KEY (geonameid)
);
SQL

总结

本文介绍了如何从Geonames.org数据库导入数据到MySQL数据库中。通过将数据导入到MySQL后,您可以更轻松地管理和查询所需的数据,希望本文对您有所帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册