勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLで全国の市区町村のデータを入手し、抽出する方法

   2024/01/15  MySQL データベース

都道府県と市区町村が連携したセレクトメニューを作成したかった。具体的には大阪府を選択すると「大阪市○○区」「門真市」等が市区町村側のセレクトメニューとして選択できるようにしたい。連携セレクトメニューに関しては過去記事の方法でおおよそ対応できそうだが、そもそもの市区町村データが無いので用意したかった。

 

データの取得

以下サイトから取得する。今回はCSVの全国版を取得した。

http://jusyo.jp/sql/document.html

 

必要なデータの抽出

取得したデータをMySQLにインポート後、以下で必要なデータを抽出・保存する。

#テーブルのコピー
CREATE TABLE new_ad_address LIKE ad_address;

#新規テーブルに必要データのみ格納
INSERT INTO new_ad_address 
SELECT  * 
FROM ad_address 
GROUP BY city_name 
ORDER BY ken_id;

 - MySQL データベース

  関連記事

MySQLでランダムにデータを取得しつつページング機能も実装する方法
MySQLでランダムにデータを取得しつつページング機能も実装する方法

MySQLからデータを持ってくる際にランダムな表示を行ってほしいと言われた。ただ ...

MySQLでデータがあれば上書き、無ければ挿入する
MySQLでデータがあれば上書き、無ければ挿入する

既存のソースを編集時に「REPLACE INTO~~」 という見たことの無いSQ ...

MySQLにてSELECT時にdate型のカラムから和暦を計算し表示する方法
MySQLにてSELECT時にdate型のカラムから和暦を計算し表示する方法

MySQLにdate型のカラムに誕生年月日が格納されており、そこから和暦を計算し ...

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法
MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)
MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)

あるシステムでMySQLの検索時に「WHERE test_column coll ...