MEMO REC

雑記帳兼php、mysql、html、css、javascript等の備忘録です。

プログラミング-MySql

【mysql】日付(datetime型)を加算/減算する方法

mysqlで日付演算を実行したいときはDATE_ADD、DATE_SUBを利用します。 加算する場合はDATE_ADD関数を使い、減算する場合はDATE_SUB関数を使います。 書式 例文 日単位で加算/減算 1日加算 1日減算 月単位で加算減算 1ヶ月加算 1ヶ月減算 SELECTする場合 UPDA…

【MySQL】slow_query_logの保管場所や設定(閾値)時間の確認/変更

Mysqlのチューニングの際にスロークエリログを確認する事がありますが、 ログの場所やスロークエリを吐きだすまでの時間を確認する方法と設定を変更(更新)する方法をメモします。 確認 slow_query_logがどこに保存されているかを確認する。 現在指定されて…

【MySQL】登録されているデータを一括置換(更新)する方法

mysqlのデータで既に登録されているデータを一括置換する方法をメモしておきます。 構文 例文 構文 UPDATE と REPLACE()の組み合わせにより一括置換が可能になります。 UPDATE テーブル名 SET カラム名 = REPLACE(カラム名,置換前文字列,置換後文字列) ; 例…

【MySQL】INDEXの張られている情報を確認する方法

MySQLの特定のテーブルにどのようなINDEXが貼られているか確認する方法を、 メモしておきます。 テーブルに貼られているINDEXを確認 例 INDEXの追加/削除については テーブルに貼られているINDEXを確認 テーブルに既に登録されているINDEXを確認するには、 …

【MySQL】MySQLセッションタイムアウト(wait_timeout)の時間を変更する方法

MySQLに接続してからの 接続維持時間(アイドリングするタイムアウト秒数)は デフォルトで28800秒(8時間)に設定されています。 セッション変数で変更(SET文) グローバル変数で変更(my.cnfを編集) デフォルトの状態で「wait_timeout」を確認してみると…

【MySQL】mysqldumpでテーブル構造だけ/データだけdumpする

他のサーバーにデータベースを移行する際に、テーブルの構造だけを保持したい場合やデータだけを移行したい場合には、以下の手順を利用することができます。これにより、スムーズなデータ移行が可能となります。詳細な手順は以下の通りです。 テーブル構造(…

【MySQL】UPDATE時、内容を連結(結合)して登録する方法、CONCAT_WS

普通MySQLのUPDATEといえばカラムの情報を更新(書き換え)しますが、 既に情報が登録されているカラムに「,(カンマ)」(区切り文字)で情報を連結(追記)する、 CONCAT_WSの使用方法について記載しておきます。 CONCAT_WS 構文 説明 UPDATE文での使用例 CO…

【MySQL】自作したストアドプロシージャの確認方法

mysqlで作成したストアドプロシージャを確認する方法です。 ストアドプロシージャの一覧を表示 show procedure status; ストアドプロシージャの内容を確認 show create procedure プロシージャ名;

【MySQL】自作したファンクションの確認方法

mysqlで自作したファンクションを確認する方法です。 ファンクションの一覧を表示 ファンクションの内容を確認 ファンクションの一覧を表示 show function status; ファンクションの内容を確認 show create function ファンクション名;

【MySQL】テーブルサイズを確認する方法

MySql利用時にテーブルのサイズがどれくらいか調べる機会がありましたので、 クエリを記しておきます。 テーブルサイズを取得するクエリ SELECT table_name ,table_rows ,floor((data_length+index_length)/1024/1024) as MB FROM information_schema.tables…

【MySQL】カラム名に予約語が使われている時のSELECT

カラム名に予約語を使用していてエラー 下記の様な構成のテーブルがある時に 論理名 物理名 部署ID group_id 部署名 group 何も考えずに下記SELECT文を投げるとエラーになります。 mysql> SELECT group FROM GroupMaster; ERROR 1064 (42000): You have an e…

【MySQL】QUERY CACHE(クエリーキャッシュ)をクリア(リセット)する方法

MySQL利用時にSELECT文のレスポンススピードを確認したい時などがあるかと思います。クエリーキャッシュが効いているとキャッシュを利用したSELECTになってしまうため、 クエリーキャッシュをクリアしたい時があります。まず現在のキャッシュの状態を確認す…

【MySQL】INDEX(インデックス)追加や削除の方法

MySQLのチューニングを行う際に必ず確認が必要になるINDEXですが、 対象のテーブル作成時にINDEXを張る方法と、 既に作成済みのテーブルに対してINDEXを張る構文を備忘録としてメモしておきます。 テーブル作成時にINDEXを追加 既に作成済みのテーブルにINDE…