MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで電話番号の列に国コードを追加する方法

電話番号に国コードを設定するということは、既存の番号の先頭にコードを連結するということです。MySQLではCONCAT()関数を使うことで簡単に実現できます。

この記事では、サンプルテーブルを作成し、UPDATE文とCONCAT()関数を組み合わせて、すべての電話番号に国コード「+91」を一括で追加する手順を解説します。

1. サンプルテーブルを作成する

まず、電話番号を格納するテーブルを作成します。電話番号は「+」などの記号を含む可能性があるため、VARCHAR型を使用します。

mysql> create table DemoTable769 (MobileNumber varchar(100));
Query OK, 0 rows affected (0.54 sec)

2. テーブルにレコードを挿入する

次に、INSERTコマンドを使っていくつかの電話番号を登録します。

mysql> insert into DemoTable769 values('8799432434');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable769 values('9899996778');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable769 values('7890908989');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable769 values('9090898987');
Query OK, 1 row affected (0.20 sec)

3. 登録されたデータを確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable769;

実行すると次のような結果が得られます。

+--------------+
| MobileNumber |
+--------------+
| 8799432434   |
| 9899996778   |
| 7890908989   |
| 9090898987   |
+--------------+
4 rows in set (0.00 sec)

4. CONCAT()関数で国コードを追加する

ここからが本題です。UPDATE文とCONCAT()関数を組み合わせることで、列のすべての値の先頭に国コードを連結できます。

mysql> update DemoTable769
   set MobileNumber=concat('+91',MobileNumber);
Query OK, 4 rows affected (0.20 sec)
Rows matched: 4 Changed: 4 Warnings: 0

このクエリでは、各電話番号の前に「+91」を付けた文字列でMobileNumber列を上書きしています。

5. 更新結果を確認する

再度SELECT文を実行して、更新後のデータを確認しましょう。

mysql> select *from DemoTable769;

実行すると、すべての電話番号の先頭に国コードが付与されていることがわかります。

+---------------+
| MobileNumber  |
+---------------+
| +918799432434 |
| +919899996778 |
| +917890908989 |
| +919090898987 |
+---------------+
4 rows in set (0.00 sec)

まとめ

このように、MySQLではCONCAT()関数とUPDATE文を組み合わせるだけで、既存の電話番号データに対して国コードを一括で追加できます。なお、日本の場合は「+81」、アメリカの場合は「+1」のように、対象の国に合わせて連結する文字列を変更してください。

  1. MySQLで郵便番号の先頭に0を埋める方法|LPAD()関数の使い方

    MySQLでは、LPAD()関数を使うことで、文字列の左側(先頭)に任意の文字を埋め込むことができます。これを利用すると、INT型などで保存された郵便番号の先頭に「0」を付けて桁数を揃える(ゼロパディング)処理が簡単に行えます。例えば、5桁の郵便番号「23455」を6桁表記の「023455」に変換したいようなケースで役立ちます。LPAD()関数の基本構文SELECT LPAD(カラム名, 桁数, 0) AS 別名 FROM テーブル名;第2引数に最終的な文字列の長さを、第3引数に埋め込みたい文字を指定します。足りない分だけ先頭に指定文字が繰り返し追加されます。サンプルテーブルを作成して確認して

  2. PHPとMySQLでブール値を扱うには?BOOL・BOOLEAN・TINYINT(1)の違いと使い方

    本記事では、MySQL 8.0.12を使用して、ブール(Boolean)値の正しい取り扱い方を解説します。まず、使用しているMySQLのバージョンを確認しておきましょう。 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) MySQLにおけるブール値の基本:BOOL・BOOLEAN・TINYINT(1) MySQLでブール値を扱うには、BOOL、BOOLEAN、またはTINYINT(1)のいずれかを使用