質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

解決済

WHERE句で日本語の比較がうまくできない

FoolHotari
FoolHotari

総合スコア78

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

2回答

0リアクション

0クリップ

291閲覧

投稿2022/06/12 09:05

編集2022/06/12 09:09

前提

MySQLの勉強をしています。日本語を含む条件でSELECTしようとしたところ、マッチしませんでした。どうすれば解決できるのかご教授願います。

実現したいこと

日本語を含む条件でSELECT

発生している問題・エラーメッセージ

以下がリクエストのログです。

MySQL

MariaDB [db]> SHOW VARIABLES LIKE 'chara%'; +--------------------------+-----------------------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | cp932 | | character_set_server | utf8mb4 | | character_set_system | utf8mb3 | | character_sets_dir | C:\Program Files\MariaDB 10.6\share\charsets\ | +--------------------------+-----------------------------------------------+ 8 rows in set (0.000 sec) MariaDB [db]> STATUS -------------- Connection id: 5 Current database: db Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '~.txt' Using delimiter: ; Server: MariaDB Server version: 10.6.8-MariaDB mariadb.org binary distribution Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 TCP port: 3307 Uptime: 1 hour 8 min 29 sec Threads: 1 Questions: 196 Slow queries: 0 Opens: 49 Open tables: 20 Queries per second avg: 0.047 -------------- MariaDB [db]> SHOW COLUMNS FROM DetailT; +---------+----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+----------------------+------+-----+---------+-------+ | OrderID | char(5) | NO | PRI | NULL | | | Item | varchar(20) | NO | PRI | NULL | | | Price | int(10) unsigned | NO | | NULL | | | Qty | smallint(5) unsigned | NO | | NULL | | +---------+----------------------+------+-----+---------+-------+ 4 rows in set (0.008 sec) MariaDB [db]> SELECT * FROM DetailT; +---------+------------------+-------+-----+ | OrderID | Item | Price | Qty | +---------+------------------+-------+-----+ | 16001 | テーブルタップ | 2 | 4 | | 16001 | ディスプレイ | 45 | 2 | | 16001 | ハードディスク | 50 | 1 | | 16001 | パソコン | 100 | 2 | | 16002 | SDメモリカード | 10 | 2 | | 16002 | ディジタルカメラ | 30 | 1 | | 16003 | パソコン | 90 | 3 | | 16003 | フィルター | 6 | 2 | | 16004 | キャリアー | 5 | 1 | | 16004 | ディスプレイ | 40 | 3 | | 16004 | ノートパソコン | 190 | 1 | | 16004 | バッテリー | 9 | 1 | +---------+------------------+-------+-----+ 12 rows in set (0.000 sec) MariaDB [db]> SELECT * FROM DetailT WHERE OrderID = '16001'; +---------+----------------+-------+-----+ | OrderID | Item | Price | Qty | +---------+----------------+-------+-----+ | 16001 | テーブルタップ | 2 | 4 | | 16001 | ディスプレイ | 45 | 2 | | 16001 | ハードディスク | 50 | 1 | | 16001 | パソコン | 100 | 2 | +---------+----------------+-------+-----+ 4 rows in set (0.000 sec) MariaDB [db]> SELECT * FROM DetailT WHERE Item = 'パソコン'; Empty set (0.000 sec) MariaDB [db]> SELECT * FROM DetailT WHERE Item LIKE 'SD%'; +---------+----------------+-------+-----+ | OrderID | Item | Price | Qty | +---------+----------------+-------+-----+ | 16002 | SDメモリカード | 10 | 2 | +---------+----------------+-------+-----+ 1 row in set (0.000 sec) MariaDB [db]> SELECT * FROM DetailT WHERE Item LIKE 'SDメ%'; Empty set (0.000 sec) MariaDB [db]> SELECT * FROM DetailT WHERE Qty = 1; +---------+------------------+-------+-----+ | OrderID | Item | Price | Qty | +---------+------------------+-------+-----+ | 16001 | ハードディスク | 50 | 1 | | 16002 | ディジタルカメラ | 30 | 1 | | 16004 | キャリアー | 5 | 1 | | 16004 | ノートパソコン | 190 | 1 | | 16004 | バッテリー | 9 | 1 | +---------+------------------+-------+-----+ 5 rows in set (0.000 sec)

設定ファイル

my.ini

[mysqld] datadir=C:/Program Files/MariaDB 10.6/data port=3307 innodb_buffer_pool_size=2037M character-set-server=utf8mb4 [client] port=3307 default-character-set=utf8mb4 plugin-dir=C:\Program Files\MariaDB 10.6/lib/plugin

試したこと

補足情報(FW/ツールのバージョンなど)

OS: Windows 10 Home 21H2
MariaDB 10.6

character_set_resultscp932なのはコマンドプロンプトを使用していて、SELECTの出力を文字化けさせないためです。
逆にchcp 65001すると日本語を含むリクエストが送れなくなってしまいます。

default-character-set=utf8mb4[client]に追加しているのは、そうしないとUTF-8の.sqlファイルが文字化けして読み込めなかったからです。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。