Python の MySQL データベース LIKE 演算子の詳細な説明

Python の MySQL データベース LIKE 演算子の詳細な説明

LIKE 演算子は、列内の指定されたパターンを検索するため、WHERE 句で使用されます。

文法:

列名を選択
テーブル名から
WHERE 列名 LIKE パターン

パターンは指定されたテンプレートが配置される場所であり、ここではワイルドカードとしても知られる「%」を使用する必要があります。

条件の前に % を置くと、... で終わるデータが検索されます。例: %李

条件の後に % を置くと、... で始まるデータが検索されます。例: Li%

%条件の前後に存在する場合は、含まれるデータをチェックすることを意味します。例: %李%

ヒント:

エラー 1064 (42000): SQL 構文にエラーがあります。1 行目の '%z' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

エラー 1064 は、LIKE クエリを実行するときにワイルドカードの周囲に引用符がないために発生するため (構文エラー)、エラーが報告されます...

正しい表示例:「%李%」

例1: 端末はSQLを実行し、WHERE句でLIKEが使用される

住所がHangで始まる人の情報を照会する

ルート@7c6316b19d80:/#mysql -u ルート -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは140です
サーバーバージョン: 5.6.51 MySQL コミュニティサーバー (GPL)
 
mysql> select * from test_user where address like 'Hang%';
+----+---------+-------------+-----------+
| ID | 名前 | 携帯電話 | 住所 |
+----+---------+-------------+-----------+
| 3 | python | 18856565858 | 杭州 |
| 4 | java | 17756565858 | 杭州 |
| 5 | php | 15556565858 | 杭州 |
| 6 | c# | 17748484142 | 杭州 |
+----+---------+-------------+-----------+
セット内の 4 行 (0.00 秒)
マイSQL>

住所がuで終わる人の情報を照会する

mysql> test_user から * を選択します。アドレスは '%u' のような値になります。
+----+---------+-------------+-----------+
| ID | 名前 | 携帯電話 | 住所 |
+----+---------+-------------+-----------+
| 3 | python | 18856565858 | 杭州 |
| 4 | java | 17756565858 | 杭州 |
| 5 | php | 15556565858 | 杭州 |
| 6 | c# | 17748484142 | 杭州 |
+----+---------+-------------+-----------+
セット内の 4 行 (0.00 秒)
マイSQL>

例2: Pythonスクリプトを使用してLIKEを含むSQL文を実行する

住所に文字zが含まれる人の情報を照会する

pymysqlをインポートする
 
# データベースに接続する connection = pymysql.connect(host="localhost", user="root", password="123456",
                             データベース=「テスト」、ポート=3306、文字セット='utf8'、
                             カーソルクラス=pymysql.cursors.DictCursor)
 
試す:
    接続あり:
        connection.cursor() をカーソルとして使用:
            SQL = """
                選択
                    *
                から
                    テストユーザー
                どこ
                    アドレスは '%z%' のように動作します。
            「」
            カーソル.execute(sql)
            結果 = cursor.fetchall()
            i の結果:
                印刷(i)
 
pymysql.err.MySQLError を _error として除く:
    _error を発生させる
{'id': 3、'name': 'python'、'mobile': '18856565858'、'address': '杭州'}
{'id': 4、'name': 'java'、'mobile': '17756565858'、'address': '杭州'}
{'id': 5、'name': 'php'、'mobile': '15556565858'、'address': '杭州'}
{'id': 6、'name': 'c#'、'mobile': '17748484142'、'address': '杭州'}
 
プロセスは終了コード 0 で終了しました

住所に文字zが含まれていない人の情報を照会する

試す:
    接続あり:
        connection.cursor() をカーソルとして使用:
            SQL = """
                選択
                    *
                から
                    テストユーザー
                どこ
                    アドレスは '%z%' と異なります。
            「」
            カーソル.execute(sql)
            結果 = cursor.fetchall()
            i の結果:
                印刷(i)
 
pymysql.err.MySQLError を _error として除く:
    _error を発生させる
{'id': 1、'name': '张三三'、'mobile': '17748484141'、'address': '浙江杭州'}
{'id': 9、'name': '111'、'mobile': '18847474549'、'address': '浙江省杭州'}
 
プロセスは終了コード 0 で終了しました

この時点で、LIKE 演算子を使用したクエリは完了です...

写真

ナレッジポイント拡張: Python での MySQL データベースのようなファジークエリ

% は Python の特殊記号で、%s や %d などがあり、それぞれ文字列プレースホルダーと数値プレースホルダーを表します。

ご存知のとおり、MySQL のファジー クエリにも % が必要です。

したがって、最初にチェックする必要がある文字列を抽出し、それをパラメータとして渡すことができます。

引数 = '%'+サブタイトル+'%'
sqlQueryTitle="タイトルが '%s' のような tbl_peng_article から count(*) を選択"%args

Python での MySQL データベース LIKE 演算子の詳細な説明に関するこの記事はこれで終わりです。Python MySQL の like 演算子に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLのlike演算子の詳細

<<:  docker の run/cmd/entrypoint の違いの詳細な説明

>>:  CSS スタイルが機能しない (史上最も完全な解決策の概要)

推薦する

MySQL ビューの一貫性を確保する方法の詳細な説明 (チェック オプション付き)

この記事では、例を使用して、MySQL ビューの一貫性を確保する方法 (チェック オプションを使用)...

docker compose を使用して consul クラスタ環境を構築する例

領事の基本概念サーバーモードとクライアントモードサーバー モードとクライアント モードは、consu...

webpackのモバイル適応ソリューションの概要

目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...

Linux環境でグラフデータベースneo4jを構築する方法の説明

Neo4j (Nosql の 1 つ) は、高性能なグラフ データベース (分散をサポートしていませ...

CSS のマージンの崩壊問題を解決する方法

まず、マージン崩壊が発生する 3 つの状況を見てみましょう。 1. 隣接する 2 つのブロックレベル...

MySQL のスケジュールされた完全なデータベースバックアップ

目次1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマ...

Xshell にショートカット コマンドを追加する方法

便利なターミナル エミュレーターである Xshell は、開発者がホスト サーバーをリモート管理する...

Ubuntu 19.10 で ssh サービスを有効にする (詳細なプロセス)

Ubuntuでsshを開くのに1時間以上かかりました。主な原因は、最初に読んだチュートリアルの手順...

Linux仮想マシンをWiFiに接続する方法

生活の中で、インターネットはどこにでもあります。インターネットを通じてゲームをしたり、テレビ番組を見...

Nginx proxy_pass の / スラッシュによって引き起こされた殺人事件の詳細な説明

背景nginx サーバー モジュールは 2 つのサーバーにプロキシする必要があるため、異なるサーバー...

MySQL インデックスの長所と短所、およびインデックス作成のガイドライン

1. インデックスを作成する理由(メリット)インデックスを作成するとシステムのパフォーマンスが大幅に...

JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

目次1. 目的2. 文法3. 練習する1. 目的通常、エラーが発生すると、スクリプトは直ちに停止し、...

最新の人気スクリプトAutojsソースコード共有

今日は、最新の人気スクリプト 50 個を含むソース コードを共有します。現在、Mine Guard ...

jQuery はシャッター効果を実現します (li 配置を使用)

この記事では、ブラインド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具体...

MySQL方言の簡単な紹介

データベースはさておき、人生における方言とは何でしょうか?方言とは、ある場所特有の言語です。他の場所...