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

MySQLテーブルに列が存在するかどうかを確認するにはどうすればよいですか?


列が存在するかどうかを理解するために、次のアプローチがあります-

  • DESCコマンドを使用して
  • SHOWコマンドの使用

まず、列のあるテーブルを作成します-

mysql> CREATE table ColumnExistDemo
-> (
-> UniqueId int,
-> UniqueName varchar(200),
-> UniqueAddress varchar(200)
-> );
Query OK, 0 rows affected (0.57 sec)

最初のアプローチでは、意味のある情報を含む列名全体を取得します。構文は次のとおりです-

DESC yourTableName;

上記のクエリを適用して、列名が存在するかどうかを確認しましょう。ただし、このアプローチはすべての列を表示するため、適切ではありません。

mysql> DESC ColumnExistDemo;

以下は出力です

+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| UniqueId      | int(11)      | YES  |     | NULL    |       |
| UniqueName    | varchar(200) | YES  |     | NULL    |       | 
| UniqueAddress | varchar(200) | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

単一の列をチェックできるため、2番目のアプローチの方が優れています。構文は次のとおりです-

SHOW COLUMNS from `yourTableName` LIKE 'yourColumnName';

今、私は上記のクエリを適用して、列が存在するかどうかを確認しています。クエリは次のとおりです-

mysql> SHOW COLUMNS from `ColumnExistDemo` LIKE 'UniqueName';

以下は出力です

+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| UniqueName | varchar(200) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)

  1. MySQLにテーブルが存在するかどうかを検出するにはどうすればよいですか?

    テーブルの存在を検出するには、INFORMATION_SCHEMA.TABLESの概念を使用します。構文は次のとおりです- select table_name from information_schema.tables where table_schema=database() and table_name=yourTableName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2032    -> (    -> ClientId int,   &n

  2. MySQLテーブルの単一行で値がNullであるかどうかを確認するにはどうすればよいですか?

    このために、MySQLでISNULLを使用できます。 テーブルを作成しましょう- 例 mysql> create table demo86    -> (    -> value1 varchar(20)    -> ,    -> value2 varchar(20)    -> ); Query OK, 0 rows affected (2.77 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert