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 のサイドカーモードの詳細な説明
この記事では、タブ切り替え効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...
1. 内閣府マスターノードを監視することで、他のスレーブノードへの自動フェイルオーバーを実現できます...
MYSQL5.7.17 が MAC で接続できない問題。SQLBench_community 6.3...
MySQL のデータ型は datetime です。データベースに保存されているデータは 2015-0...
<br /> 英語原文: http://desktoppub.about.com/od/...
Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...
序文JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptとxml) 変換は非同...
Centos7はyumを使用してMySQLをインストールし、リモート接続を実現する方法です。MySQ...
<br />矛盾が生じます。私たちのような小さな工房では、デザインとレイアウトは基本的に...
MySQL 5.7.9 バージョンの sql_mode=only_full_group_by の問題...
1. 色合わせの問題<br />Web ページには 3 色以上使用しないでください。そう...
既存のイメージから新しいイメージを構築することは、Dockerfile ドキュメントを通じて行われま...
この記事では、WeChatアプレットの9マスグリッド効果を実現するための具体的なコードを参考までに紹...
目次序文実際の戦闘1. ロックなし2. 悲観的ロック3. 楽観的ロック要約する序文悲観的ロックと楽観...
最近、要素テーブルを使用すると、並べ替えの問題によく遭遇します。単純な並べ替えであれば、要素の公式が...