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

MySQLの列名にワイルドカードがありますか?


MySQLの列名でワイルドカードを使用するには、最初にcolumn_nameを選択してから、ワイルドカードにLIKE演算子を適用する必要があります。

構文は次のとおりです-

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = ’yourTableName’
AND COLUMN_NAME LIKE 'yourWildCards%';

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

mysql> create table WildcardDemo
   -> (
   -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> ProductName varchar(10),
   -> Shippingdatetime datetime,
   -> ProductPrice int
   -> );
Query OK, 0 rows affected (1.31 sec)

これで、テーブルの説明を確認できます。クエリは次のとおりです-

mysql> desc WildcardDemo;

出力

+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| ProductId        | int(11)     | NO   | PRI | NULL    | auto_increment |
| ProductName      | varchar(10) | YES  |     | NULL    |                |
| Shippingdatetime | datetime    | YES  |     | NULL    |                |
| ProductPrice     | int(11)     | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

4つのフィールドがあり、そのうち3つはProductという単語から始まります。次に、列名にワイルドカードを適用します。クエリは次のとおりです-

mysql> select column_name from information_schema.columns
   -> where table_name = 'WildcardDemo'
   -> and column_name LIKE 'product%';

出力

+--------------+
| COLUMN_NAME  |
+--------------+
| ProductId    |
| ProductName  |
| ProductPrice |
+--------------+
3 rows in set (0.10 sec)

  1. 列値のMySQLでENUMを設定します

    テーブルの作成中に、ENUM値が必要な列のENUMタイプを設定します。まずテーブルを作成しましょう- mysql> create table DemoTable2019    -> (    -> StudentMarks int,    -> StudentStatus ENUM('First','Second','Fail')    -> ); Query OK, 0 rows affected (1.75 sec) 挿入コマンド-

  2. MySQLを使用してSELECTにワイルドカードを追加しますか?

    追加には、concat()の概念を使用します。構文は次のとおりです- select *from yourTableName where yourColumnName like concat('%',yourValue,'%'); テーブルを作成しましょう- mysql> create table demo48 -> ( −> id int not null auto_increment primary key, −> name varchar(20) −> ); Query OK, 0 rows