3

我一直在谷歌上搜索一个包含世界上所有(或尽可能多的)城市的 SQL 数据库,

但我发现最好的是一个 .txt 文件,其格式如下:

-1049671    Kassel          agglomeration   323216                      
-1049670    Kingston            agglomeration   956716                      
-1049669    Derry           agglomeration   98319                       
-1049668    Birmingham          agglomeration   1000010                     
-1049667    West Palm Beach         agglomeration   1370178                     
-1049666    Springfield         agglomeration   748567                      
-1049665    Philadelphia            agglomeration   6423182                     
-1049664    New York            agglomeration   23637491

还有其他几行,例如:

467009670   Lillo           locality    3139    3972    -330    Spain   Kastilien-La 

    Mancha  Toledo  
    467009725   Tresjuncos          locality    363 3972    -275    Spain   Kastilien-La Mancha Cuenca  
    467009743   Alconchel de la Estrella            locality    129 3972    -257    Spain   Kastilien-La Mancha Cuenca  
    467009780   Valverde de Júcar           locality    1284    3972    -220    Spain   Kastilien-La Mancha Cuenca  
    467009793   Piqueras del Castillo           locality    71  3972    -207    Spain   Kastilien-La Mancha Cuenca  
    467009812   Almodóvar del Pinar         locality    452 3972    -188    Spain   Kastilien-La Mancha Cuenca  
    467009822   Paracuellos         locality    123 3972    -178    Spain   Kastilien-La Mancha Cuenca  
    467009857   Mira            locality    780 3972    -143    Spain   Kastilien-La Mancha Cuenca  
    467009965   Estivella           locality    1454    3972    -35 Spain   Valencia    Valence 
    467009975   Faura           locality    3872    3972    -25 Spain   Valencia    Valence 
    467010262   Valldemosa  Valdemosa, Valldemossa      locality    2098    3972    262 Spain   Balearen    Baléares    
    467010287   Lloseta         locality    5939    3972    287 Spain   Balearen    Baléares    
    467010291   Inca            locality    30441   3972    291 Spain   Balearen    Baléares    
    467010865   Terralba            locality    9610    3972    865 Italy   Sardinien

所以问题是我不知道如何将其导入 mysql/sql 表..然后能够进行查询。

有办法吗?如果没有,任何 SQL 完整数据库?

4

3 回答 3

2

查看mysql中的LOAD DATA LOCAL INFILE语句

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

基本上你最终会在 excel 或类似的东西中打开你的文件,保存为 .csv 然后发出查询

LOAD DATA LOCAL INFILE 'c:\db.csv' INTO TABLE some_table FIELDS TERMINATED BY ';'

当然,您的“some_table”必须具有适当的结构,并且您必须将字段分隔符调整为您在保存 .csv 文件时选择的内容。

查看我提供的文档以查看更多选项,例如设置文件编码或忽略 n 首行(如果您的文件有标题,则很有用)

于 2012-12-18T15:51:51.007 回答
0

是的,首先将其导入excel(制表符分隔),然后通过导入导出工具将其导入SQL

如果你可以提供文件请

于 2012-12-18T15:50:40.100 回答
0

查看GeoLite 数据库

它们专为地理位置而设计,非常完整(383361 行)。Geolite-city 位置的文件以 CSV 格式提供,您应该能够以最少的问题导入该文件。

要导入 CSV 文件,请参阅以下帖子:如何将 csv 文件导入 MySQL 工作台?MySQL 手册

于 2012-12-18T15:52:33.677 回答