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

PHPを使用してMySQLデータベースで可能な列挙型の値を取得するにはどうすればよいですか?


INFORMATION_SCHEMA.COLUMNSテーブルを使用して、MySQLデータベースで可能な列挙値を取得できます。構文は次のとおりです-

SELECT
   COLUMN_TYPE AS anyAliasName
FROM
   INFORMATION_SCHEMA.COLUMNS
WHERE
   TABLE_SCHEMA = ‘yourDatabaseName’ AND TABLE_NAME = 'yourTableName' AND COLUMN_NAME = 'yourEnumColumnName';

上記の構文を理解するために、ENUMデータ型のテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table EnumDemo
-> (
-> Id int,
-> Color ENUM('RED','GREEN','BLUE','BLACK','ORANGE')
-> );
Query OK, 0 rows affected (0.66 sec)

ここでは、テーブル「EnumDemo」が「サンプル」データベースにあります。これで、上記の構文を実装して、列からすべての可能な列挙値を取得できます。

クエリは次のとおりです-

mysql> SELECT
-> COLUMN_TYPE as AllPossibleEnumValues
-> FROM
-> INFORMATION_SCHEMA.COLUMNS
-> WHERE
-> TABLE_SCHEMA = 'sample' AND TABLE_NAME = 'EnumDemo' AND COLUMN_NAME = 'Color';

出力

+---------------------------------------------+
| AllPossibleEnumValues                       |
+---------------------------------------------+
| enum('RED','GREEN','BLUE','BLACK','ORANGE') |
+---------------------------------------------+
1 row in set (0.00 sec)

  1. 与えられた値が3つしかない列を持つMySQLテーブルを作成するにはどうすればよいですか?

    これには、ENUMデータ型を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable838(Color ENUM('RED','GREEN','BLUE')); Query OK, 0 rows affected (0.67 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable838 values('RED'); Query OK, 1 row affected (0.11 sec) mys

  2. MySQLデータベースの別のテーブルからIDを使用してユーザー名を取得するにはどうすればよいですか?

    2つのテーブルからIDを使用してユーザー名を取得するには、JOINを使用してテーブルを結合する必要があります。 テーブルを作成しましょう- 例 ); Query OK、0行が影響を受けます(2.63 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 insert into demo77 values(2、Bob); Query OK、1行が影響を受ける(0.36 selectステートメントを使用してテーブルのレコードを表示する- 例 select * from demo77; これにより、次の出力が生成されます- 出力 + -------- + -