IP2Location™ LITE IP-COUNTRY Database

前書き

IP2Location LITE Database

このデータベースは、いくつかの簡単な手順で任意のIPアドレスの原産国を特定するためのソリューションを提供します。まず、Webサーバーのネットワークプロトコルまたはサーバー側変数からIPアドレスを取得します。次に、IPアドレスを10進形式のIP番号に変換して、データベースクエリを高速化します。最後に、IP2Location™データベースからIP番号を逆引きして、正確な地理的位置を特定します。

DB1.LITEエディションは、 Creative Commons Attribution-ShareAlike 4.0 International Licenseの下でライセンスされています。このデータの使用について次のように言及することにより、帰属が必要となる個人的または商業的使用は無料です。

高いデータ精度、より多くの記録、カスタマーサポートをお探しの場合は、商用版を入手してください。詳細については、製品比較ページをご覧ください。

Creative Commons License

特徴

IPアドレスを国に変換します。

現行版 June 2021
データベースサイズ 1.75 MB (114,091 Rows)
アレイ ASCII Text File (Comma Delimited) & Binary (BIN)

データベースフィールド

名前 タイプ 説明
ip_from INT (10) / DECIMAL (39,0)†† 最初のIPアドレスはnetblockを示しています。
ip_to INT (10) / DECIMAL (39,0)†† 最後のIPアドレスはnetblockを示しています。
country_code CHAR(2) ISO3166に基づく2文字の国コード。
country_name VARCHAR(64) ISO3166に基づく国名。

IPv4
†† IPv6

データベースのセットアップ

以下は、IPv4データとIPv6データの両方のデータベースをセットアップする手順です。

データベースの作成

CREATE DATABASE ip2location;
USE ip2location;
CREATE TABLE `ip2location_db1`(
	`ip_from` INT(10) UNSIGNED,
	`ip_to` INT(10) UNSIGNED,
	`country_code` CHAR(2),
	`country_name` VARCHAR(64),
	INDEX `idx_ip_from` (`ip_from`),
	INDEX `idx_ip_to` (`ip_to`),
	INDEX `idx_ip_from_to` (`ip_from`, `ip_to`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

データベースのインポート

LOAD DATA LOCAL
	INFILE 'IP2LOCATION-LITE-DB1.CSV'
INTO TABLE
	`ip2location_db1`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES;

データベースの作成

CREATE DATABASE ip2location
GO

USE ip2location
GO

CREATE TABLE [ip2location].[dbo].[ip2location_db1](
	[ip_from] bigint NOT NULL,
	[ip_to] bigint NOT NULL,
	[country_code] nvarchar(2) NOT NULL,
	[country_name] nvarchar(64) NOT NULL
) ON [PRIMARY]
GO

CREATE CLUSTERED INDEX [ip_to] ON [ip2location].[dbo].[ip2location_db1]([ip_to]) ON [PRIMARY]
GO

データベースのインポート

BULK INSERT [ip2location].[dbo].[ip2location_db1]
FROM '{PATH TO IP2LOCATION-LITE-DB1.CSV}'
WITH
(
	FORMATFILE = '{PATH TO DB1.FMT}'
)
GO

注:以下のFMTコードをコピーして、DB1.FMTという名前のファイルとしてコンピューターに保存する必要があります。

12.0
5
1 SQLCHAR 0 1 "\"" 0 first_double_quote  Latin1_General_CI_AI
2 SQLCHAR 0 20 "\",\"" 1 ip_from "",
3 SQLCHAR 0 20 "\",\"" 2 ip_to "",
4 SQLCHAR 0 2 "\",\"" 3 country_code Latin1_General_CI_AI,
5 SQLCHAR 0 64 "\",\"" 4 country_name Latin1_General_CI_AI

データベースの作成

CREATE DATABASE ip2location WITH ENCODING 'UTF8';
\c ip2location
CREATE TABLE ip2location_db1(
	ip_from bigint NOT NULL,
	ip_to bigint NOT NULL,
	country_code character(2) NOT NULL,
	country_name character varying(64) NOT NULL,
	CONSTRAINT ip2location_db1_pkey PRIMARY KEY (ip_from, ip_to)
);

データベースのインポート

COPY ip2location_db1 FROM 'IP2LOCATION-LITE-DB1.CSV' WITH CSV QUOTE AS '"';

データベースの作成

CREATE DATABASE ip2location;
USE ip2location;
CREATE TABLE `ip2location_db1_ipv6`(
	`ip_from` DECIMAL(39,0) UNSIGNED,
	`ip_to` DECIMAL(39,0) UNSIGNED,
	`country_code` CHAR(2),
	`country_name` VARCHAR(64),
	INDEX `idx_ip_from` (`ip_from`),
	INDEX `idx_ip_to` (`ip_to`),
	INDEX `idx_ip_from_to` (`ip_from`, `ip_to`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

データベースのインポート

LOAD DATA LOCAL
	INFILE 'IP2LOCATION-LITE-DB1.IPV6.CSV'
INTO TABLE
	`ip2location_db1_ipv6`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES;

データベースの作成

CREATE DATABASE ip2location
GO

USE ip2location
GO

CREATE TABLE [ip2location].[dbo].[ip2location_db1_ipv6](
	[ip_from] char(39) NOT NULL,
	[ip_to] char(39) NOT NULL,
	[country_code] nvarchar(2) NOT NULL,
	[country_name] nvarchar(64) NOT NULL
) ON [PRIMARY]
GO

CREATE CLUSTERED INDEX [ip_to] ON [ip2location].[dbo].[ip2location_db1_ipv6]([ip_to]) ON [PRIMARY]
GO

データベースのインポート

BULK INSERT [ip2location].[dbo].[ip2location_db1_ipv6]
FROM '{PATH TO IP2LOCATION-LITE-DB1.IPV6.CSV}'
WITH
(
	FORMATFILE = '{PATH TO DB1.FMT}'
)
GO

注:以下のFMTコードをコピーして、DB1.FMTという名前のファイルとしてコンピューターに保存する必要があります。 FMTコードの最初の行は、bcpのバージョンを示しています。インストールされているMS-SQLに応じてバージョンを変更してください。

12.0
5
1 SQLCHAR 0 1 "\"" 0 first_double_quote  Latin1_General_CI_AI
2 SQLCHAR 0 39 "\",\"" 1 ip_from "",
3 SQLCHAR 0 39 "\",\"" 2 ip_to "",
4 SQLCHAR 0 2 "\",\"" 3 country_code Latin1_General_CI_AI,
5 SQLCHAR 0 64 "\",\"" 4 country_name Latin1_General_CI_AI

データベースの作成

CREATE DATABASE ip2location WITH ENCODING 'UTF8';
\c ip2location
CREATE TABLE ip2location_db1_ipv6(
	ip_from decimal(39,0) NOT NULL,
	ip_to decimal(39,0) NOT NULL,
	country_code character(2) NOT NULL,
	country_name character varying(64) NOT NULL,
	CONSTRAINT ip2location_db1_pkey PRIMARY KEY (ip_from, ip_to)
);

データベースのインポート

COPY ip2location_db1_ipv6 FROM 'IP2LOCATION-LITE-DB1.IPV6.CSV' WITH CSV QUOTE AS '"';

AMIと画像

IP2Locationは、データベースを簡単にセットアップするための、無料の事前構成済みですぐに実行できるAMIとイメージを提供します。

サポート

LITE製品に関する技術的な質問/回答を表示するには、 Stack Overflowにアクセスしてください。

ライセンス

データベースのライセンスについては、の一般利用規約を確認してください。

IP2Location™IPアドレスジオロケーションデータベース

Commercial Editionでは、IPアドレスの検索だけではありません。

  • データ精度の向上
  • 最新のデータベースへのアクセス
  • 電子メールによる追加レベルのサポート
Product Upgrade