#author("2025-01-22T17:28:42+09:00","default:irrp","irrp") #author("2025-04-19T15:29:51+09:00","default:irrp","irrp") →[[MySQL関連]] #contents *Tips [#f8bc018e] -[[MySQLのNULL値の扱い方について(Vol2) | スマートスタイル TECH BLOG>https://blog.s-style.co.jp/2025/04/14057/]] 2025.4 -[[MySQLにいつの間にか実装されていたRANK関数がすごい便利だったのでみんなに知ってほしい>https://zenn.dev/agent_grow/articles/b82cde4e39e0ec]] 2024.12 -[[MySQLクライアントからRDSへ大量データをインポートしようとしたら処理が途中で終了した #MySQL - Qiita>https://qiita.com/tatsumi_t2/items/219ab4ff5bb0a81b16d1]] 2024.9 -[[MySQLのロールがビューやストアドプロシージャで反映されない隠し仕様について | スマートスタイル TECH BLOG>https://blog.s-style.co.jp/2024/09/12803/]] 2024.9 -[[MySQL 8.0 は遅くなってきてる?何故?(1) >http://buildup-db.blogspot.com/2024/09/mysql-80.html]] 2024.9 -オートインクリメントで作成したIDを取得する。 SELECT LAST_INSERT_ID() -[[MySQL DB インスタンスのローカルタイムゾーン - Amazon Relational Database Service>https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/MySQL.Concepts.LocalTimeZone.html]] 2024.7 -[[MySQL DBロック自由自在!>https://zenn.dev/neinc_tech/articles/b71893a78064dd]] 2024.7 -[[【MySQL】初心者に優しい便利機能6選 #Database - Qiita>https://qiita.com/mmm_qiita/items/d504272d7eac8b346d4b]] 2024.6 1. テーブルのクリエイト 2. 実行結果のカラム名全コピー 3. レコードの全コピー 4. 実行結果のCSV出力 5. 実行結果のクリア 6. Dump出力 -[[PythonでMySQLのパラメータ化クエリを効率的に使う方法 | IT trip>https://ittrip.xyz/python/python-mysql-parameterized-queries]] 2024.6 -[[MySQL で特定の IP アドレスからのアクセスを許可する #CentOS - Qiita>https://qiita.com/u-dai/items/b360a337b5001778699e]] 2024.6 --my.cnf で bind-address の設定 --mysql.user テーブルで host 列の設定 --Aws上の EC2 である場合はセキュリティグループのインバウンド設定で 3306ポートを空ける -[[MySQLで「無ければINSERT、あればUPDATE」を実現する方法 - Mobile Factory Tech Blog>https://tech.mobilefactory.jp/entry/2024/06/12/160000]] 2024.6 -[[MySQLで日本語が入力できない #Docker - Qiita>https://qiita.com/subun33/items/d0dd2202f14279e19312]] 2024.5 -[[第217回 MySQL ShellでJavaScriptを使ってMySQLを操作してみよう[その2] | gihyo.jp>https://gihyo.jp/article/2024/03/mysql-rcn0217]] 2024.3 -[[MySQL テーブルデータをcsv形式で出力する | mebee>https://mebee.info/2021/12/17/post-46374/]] 2021 -[[【MySQL】フロントエンドエンジニアがMySQLのWITH句の便利さを知った話>https://zenn.dev/manalink_dev/articles/mysql-with-benri]] 2024.1 -[[データの秘密を暴く!MySQLでシステムを徹底解析する究極のガイド | ジコログ>https://self-development.info/%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae%e7%a7%98%e5%af%86%e3%82%92%e6%9a%b4%e3%81%8f%ef%bc%81mysql%e3%81%a7%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%82%92%e5%be%b9%e5%ba%95%e8%a7%a3%e6%9e%90%e3%81%99/]] 2023.11 -[[MySQL のインデックスと EXPLAIN の社内講習会しました!|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ>https://www.infiniteloop.co.jp/tech-blog/2023/08/learning-mysql-index-explain/]] 2023.8 -[[MySQL8.0ではGRANTでユーザ登録ができなかった話>https://qiita.com/tech31/items/e40a3e73c237c97f94f1]] 2019 -[[Node.jsのMySQLでAsync/Awaitする方法>https://qiita.com/reon777/items/d3781e40ba518a6544f8]] 2018.5 -[[MySQLのCollationを理解するためにまとめてみた。>http://blog.6vox.com/2014/05/mysqlcollatoin.html]] 2014 -[[テキストファイルから SQL ステートメントを実行する(公式)>https://dev.mysql.com/doc/refman/5.6/ja/mysql-batch-commands.html]] -[[mysqldumpで特定のレコードだけエクスポートする>https://journal.lampetty.net/entry/mysqldump-option-where]] 2016.12 -[[DeNAによる大規模なMySQLノンストップ運用の裏側にある、フェイルオーバー自動化ツール>http://www.publickey1.jp/blog/11/denamysql.html]] 2011.4.15 -[[MySQL管理者最速マスター>http://nippondanji.blogspot.com/2010/02/mysql.html]] 2010.2.5 -[[MySQLに纏わる10の都市伝説>http://nippondanji.blogspot.com/2009/12/mysql10.html]] 2009.12.18 -[[MySQL InnoDBだけで全文検索>http://d.hatena.ne.jp/sh2/20091206]] 2009.12.6 --Twitterのデータを転置インデックスで検索 -[[MySQLのEXPLAINを徹底解説>http://nippondanji.blogspot.com/2009/03/mysqlexplain.html]] 2009 -[[なぜMySQLのサブクエリは遅いのか>http://nippondanji.blogspot.com/2009/03/mysql_25.html]] 2009 --結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そして、 MySQLのオプティマイザはたびたび相関関係のないもの、つまり本来はSUBQUERYと分類されるべきものをDEPENDENT SUBQUERYであると判断してしまう。そのため、多くの場合においてサブクエリが遅くなってしまうのである。 -[[MySQLでOracleのROWNUM>http://code.nanigac.com/source/view/88]] *状態を知るSQL [#j19898f4] -[[【MySQL】知っておくと便利なinformation_schemaのクエリ集 #Database - Qiita>https://qiita.com/lvn-okino/items/d2797f17398410973ae8]] 2025.1 --テーブル、カラムの一覧取得 --インデックスの確認 --外部キーとして参照されているカラムと参照しているカラム一覧を取得 --CASCADEが設定されているカラム一覧を取得 --テーブルの行数とサイズ一覧の取得 -バージョン、現在日付 mysql> SELECT VERSION(), CURRENT_DATE; +-----------+--------------+ | VERSION() | CURRENT_DATE | +-----------+--------------+ | 8.0.35 | 2023-11-15 | +-----------+--------------+ 1 row in set (0.00 sec) -ユーザをリストする select user, host from mysql.user; +------------------+-----------+ | user | host | +------------------+-----------+ | wordpress | % | | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 5 rows in set (0.00 sec) -DBをリスト mysql> select host,db,user from mysql.db; +-----------+--------------------+---------------+ | host | db | user | +-----------+--------------------+---------------+ | localhost | performance_schema | mysql.session | | localhost | sys | mysql.sys | +-----------+--------------------+---------------+ 2 rows in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) -テーブルをリストする(https://uxmilk.jp/12296) mysql> show tables from sys; +-----------------------------------------------+ | Tables_in_sys | +-----------------------------------------------+ | host_summary | | host_summary_by_file_io | | host_summary_by_file_io_type | | host_summary_by_stages | | host_summary_by_statement_latency | | host_summary_by_statement_type | | innodb_buffer_stats_by_schema | | innodb_buffer_stats_by_table | | innodb_lock_waits | | io_by_thread_by_latency | | io_global_by_file_by_bytes | | io_global_by_file_by_latency | | io_global_by_wait_by_bytes | | io_global_by_wait_by_latency | | latest_file_io | | memory_by_host_by_current_bytes | … | x$wait_classes_global_by_avg_latency | | x$wait_classes_global_by_latency | | x$waits_by_host_by_latency | | x$waits_by_user_by_latency | | x$waits_global_by_latency | +-----------------------------------------------+ 101 rows in set (0.02 sec) -テーブルのDDLを表示させる show create table <table名> -[[MySQLでユーザー一覧を取得する方法 権限とパスワード一覧も取得!>https://www.sejuku.net/blog/81974]] 2018.12 --テーブルのカラム表示 SHOW COLUMNS FROM <table>; --ユーザの権限一覧 SHOW GRANTS FOR <user>@<host>;