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

MySQLで%ワイルドカードを正しく使用するにはどうすればよいですか?


Like演算子を使用して、%ワイルドカードを操作できます。構文は次のとおりです

select *from yourTableName
where yourColumName Like ‘condition%’;

上記の概念を理解するために、最初にテーブルを作成しましょう。テーブルを作成するためのクエリ

mysql> create table SearchDemo
   -> (
   -> Name varchar(100),
   -> LoginId varchar(100)
   -> );
Query OK, 0 rows affected (1.15 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです

mysql> insert into SearchDemo values('John','1_1');
Query OK, 1 row affected (0.19 sec)

mysql> insert into SearchDemo values('Johnson','1_2');
Query OK, 1 row affected (0.19 sec)

mysql> insert into SearchDemo values('Carol','2_1');
Query OK, 1 row affected (0.12 sec)

mysql> insert into SearchDemo values('Bob','11_1');
Query OK, 1 row affected (0.19 sec)

mysql> insert into SearchDemo values('Sam','11_2');
Query OK, 1 row affected (0.25 sec)

mysql> insert into SearchDemo values('Mike','21_1');
Query OK, 1 row affected (0.22 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです

mysql> select *from SearchDemo;

以下は出力です

+---------+---------+
| Name    | LoginId |
+---------+---------+
| John    | 1_1     |
| Johnson | 1_2     |
| Carol   | 2_1     |
| Bob     | 11_1    |
| Sam     | 11_2    |
| Mike    | 21_1    |
+---------+---------+
6 rows in set (0.00 sec)

%は、0、1、または複数の文字を表すワイルドカードの一種です。 %ワイルドカードを使用したクエリは次のとおりです

mysql> select *from SearchDemo
   -> where LoginId Like '2%';

以下は出力です

+-------+---------+
| Name  | LoginId |
+-------+---------+
| Carol | 2_1     |
| Mike  | 21_1    |
+-------+---------+
2 rows in set (0.00 sec)

  1. MySQLクエリでCASE条件でカウントを使用するにはどうすればよいですか?

    MySQLでこれにCASEWHENを使用し、COUNT()メソッド内でCASE条件を設定してカウントします。まずテーブルを作成しましょう- mysql> create table DemoTable1374    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20),    -> Score int    -> ); Query OK, 0 rows affe

  2. MySQLストアドプロシージャでDELIMITERを正しく使用するにはどうすればよいですか?

    正しい方法は次のとおりです- DELIMITER // CREATE PROCEDURE yourStoredProcedureName() BEGIN  IF  yourCondition then      yourStatement1 ; else     yourStatement2 ; END IF ; END // DELIMITER ; ここで例を見て、ストアドプロシージャを作成しましょう- mysql> DELIMITER // mysql> CREATE PROCEDURE delimit