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

MySQLで列の値が特定のサブストリングで終わる行を検索しますか?


行を検索し、列の値が特定のサブ文字列で終わる新しい値で更新するには、LIKE演算子を使用する必要があります。

構文は次のとおりです。

UPDATE yourTableName
SET yourColumnName=’yourValue’
WHERE yourColumnName LIKE ‘%.yourString’;

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

mysql> create table RowEndsWithSpecificString
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> FileName varchar(30),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.50 sec)

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

mysql> insert into RowEndsWithSpecificString(FileName) values('MergeSort.c');
Query OK, 1 row affected (0.11 sec)
mysql> insert into RowEndsWithSpecificString(FileName) values('BubbleSortIntroduction.pdf');
Query OK, 1 row affected (0.25 sec)
mysql> insert into RowEndsWithSpecificString(FileName) values('AllMySQLQuery.docx');
Query OK, 1 row affected (0.18 sec)
mysql> insert into RowEndsWithSpecificString(FileName) values('JavaCollections.pdf');
Query OK, 1 row affected (0.16 sec)
mysql> insert into RowEndsWithSpecificString(FileName) values('JavaServlet.pdf');
Query OK, 1 row affected (0.18 sec)

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

mysql> select *from RowEndsWithSpecificString;

出力は次のとおりです。

+----+----------------------------+
| Id | FileName                   |
+----+----------------------------+
|  1 | MergeSort.c                |
|  2 | BubbleSortIntroduction.pdf |
|  3 | AllMySQLQuery.docx         |
|  4 | JavaCollections.pdf        |
|  5 | JavaServlet.pdf            |
+----+----------------------------+
5 rows in set (0.00 sec)
>

これは、列の値が特定の部分文字列で終わる場所を見つけて更新するためのクエリです。次のクエリは、「。docx」で終わる部分文字列を検索し、「。pdf」である新しい部分文字列で更新します。クエリは次のとおりです。

mysql> update RowEndsWithSpecificString
   -> set FileName='IntroductionToCoreJava.pdf'
   -> where FileName LIKE '%.docx';
Query OK, 1 row affected (0.14 sec)
Rows matched: 1 Changed: 1 Warnings: 0

次に、テーブルレコードをもう一度確認します。クエリは次のとおりです。

mysql> select *from RowEndsWithSpecificString;

出力は次のとおりです。

+----+----------------------------+
| Id | FileName                   |
+----+----------------------------+
|  1 | IntroductionToCoreJava.pdf |
|  2 | BubbleSortIntroduction.pdf |
|  3 | IntroductionToCoreJava.pdf |
|  4 | JavaCollections.pdf        |
|  5 | JavaServlet.pdf            |
+----+----------------------------+
5 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. 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