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

MySQLを使用してパイプ区切り列で一致する行を検索する


一致するものを見つけるには、MySQLで正規表現を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Value varchar(60)
   -> );
Query OK, 0 rows affected (0.48 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('8|56|78|45');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values('9876');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('98|8');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('3|8|9');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('97|94');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('103|104|110|8|97');
Query OK, 1 row affected (0.10 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable ;

これにより、次の出力が生成されます-

+------------------+
| Value            |
+------------------+
| 8|56|78|45       |
| 9876             |
| 98|8             |
| 3|8|9            |
| 97|94            |
| 103|104|110|8|97 |
+------------------+
6 rows in set (0.00 sec)

パイプ区切りの列で一致する行を検索するためのクエリは次のとおりです-

mysql> select *from DemoTable
   -> where Value regexp '\\|8\\|';

これにより、次の出力が生成されます-

+------------------+
| Value            |
+------------------+
| 3|8|9            |
| 103|104|110|8|97 |
+------------------+
2 rows in set (0.00 sec)

  1. MySQLで特定の列名を持つテーブルを見つける方法は?

    列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_

  2. MySQLAUTO_INCREMENTと例

    ATUO_INCREMENTがどのように機能するかを理解しましょう- AUTO_INCREMENT属性は、新しい行の一意のIDを生成するために使用されます。このステートメントがどのように機能するかを見てみましょう。その前に、以下のクエリを検討してください- クエリ CREATE TABLE tableName (    id MEDIUMINT NOT NULL AUTO_INCREMENT,    name CHAR(30) NOT NULL,    PRIMARY KEY (id) ); INSERT INTO tableNam