1. はじめに不明な値または部分的に既知の値をフィルタリングする場合は、like 演算子を使用できます。like 演算子は、あいまい一致に使用されます。 Like は 2 つのワイルドカードをサポートしています。
ワイルドカードは、その位置に応じて 6 つの異なる方法で一致させることができます。
2. 本文まず、User テーブルを準備します。DDL とテーブルデータは以下のとおりで、そのままコピーして使用できます。 名前を設定します utf8mb4; FOREIGN_KEY_CHECKS = 0 を設定します。 -- ---------------------------- -- ユーザー用テーブル構造 -- ---------------------------- `user` が存在する場合はテーブルを削除します。 テーブル `user` を作成します ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主キー', `name` varchar(255) 文字セット utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ユーザー名', `age` int(11) NOT NULL COMMENT '年齢', `sex` smallint(6) NOT NULL COMMENT '性別', BTREE を使用した主キー (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- ユーザーの記録 -- ---------------------------- `user` に VALUES (1, '李子8', 18, 1) を挿入します。 INSERT INTO `user` VALUES (2, '张三', 22, 1); `user` VALUES (3, '李四', 38, 1) に INSERT INTO します。 `user` VALUES (4, '王五', 25, 1) に INSERT INTO します。 INSERT INTO `user` VALUES (5, '六麻子', 13, 0); `user` VALUES (6, '田七', 37, 1) に INSERT INTO します。 `user` VALUES (7, 'Thank you', 18, 1) に INSERT INTO します。 FOREIGN_KEY_CHECKS = 1 を設定します。 コピーされたコードデータの初期順序は次のとおりです。 mysql> ユーザーから * を選択します。 +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 2 | 張三 | 22 | 1 | | 3 | 李思 | 38 | 1 | | 4 | 王武 | 25 | 1 | | 5 | 劉麻子 | 13 | 0 | | 6 | 天斉 | 37 | 1 | | 7 | ありがとう | 18 | 1 | +----+--------+-----+-----+ セット内の行数は 7 です (0.00 秒) 2.1 % ワイルドカード% ワイルドカードには、 必要: 声明: mysql> select * from user where name like '张%'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 2 | 張三 | 22 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: 声明: mysql> select * from user where name like '%七'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 6 | 天斉 | 37 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: 名前に「李」という文字が含まれるユーザーを 声明: mysql> select * from user where name like '%李%'; +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 3 | 李思 | 38 | 1 | +----+--------+-----+-----+ セット内の 2 行 (0.00 秒) 2.2 _ワイルドカード
必要: 姓がLiで名に中国語の文字が2つしかないユーザーを 声明: mysql> select * from user where name like '李_'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 3 | 李思 | 38 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: ユーザーテーブル内の3という名前の 声明: mysql> select * from user where name like '_三'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 2 | 張三 | 22 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: 名前が 3 つ "zi" で、2 番目の "zi" が "ma" であるユーザーを 声明: mysql> select * from user where name like '_麻_'; +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 5 | 劉麻子 | 13 | 0 | +----+--------+-----+-----+ セット内の 1 行 (0.00 秒) 2.3 ワイルドカード使用時の注意事項ワイルドカードは非常に強力で、多くの人が頻繁に使用していると思いますが、文字列の一致はそれほど高速ではないことがよくあります。したがって、ワイルドカードを使用する際にはいくつか留意すべき点があります。
以下もご興味があるかもしれません:
|
>>: Docker Compose のサイドカーモードの詳細な説明
この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...
目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...
UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...
関連記事:初心者が学ぶ HTML タグ (4)導入された HTML タグは、必ずしも XHTML 仕...
それは何ですか? Spring Boot は、Spring オープンソース組織のサブプロジェクトであ...
導入:インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質に...
1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...
毎日のjQueryプラグイン - ステップ進捗軸 ステップ進捗軸ツール系のサイトでは入門チュートリア...
viteを使用してvue3プロジェクトを構築するターミナルで次のコマンドを実行すると、Vite を使...
仮想マシン内の Ubuntu がネットワークに接続できない場合の効果的な解決策: 1. Ubuntu...
この記事では、jsネイティブカルーセルプラグインの具体的なコードを参考までに共有します。具体的な内容...
現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...
序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...
1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...
問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...