-
-
ストアドプロシージャーって何?基本的な使い方まとめ
2021/2/28
仕事でデータ移行するときに、ストアドプロシージャを使ったので基本的なことをまとめておく。 ※ MySQLでしかストアドプロシージャを使ったことがないので、MySQL前提で。 プロシージャ必要なら Ru ...
-
-
MySQL(InnoDB)の行ロック
2020/10/16
前回、InnoDBの共有ロック、排他ロック、インテンションロック(テーブルロック)について記事を書いたので、今回は行ロックについて記事にしました。 MySQL(InnoDB)共有ロックと排他ロックとイ ...
-
-
【COALESCE】SQLでNULLを別の値に置き換える
2020/10/7
COALESCE関数とは? COALESCE関数は引数を順番に評価し、NULL と評価されない最初の式の現在の値を返します。 つまり、「SQLの実行結果がNULLだったらデフォルト値を返す」みたいなこ ...
-
-
MySQLでロック状態を確認する方法
2020/10/11
MySQL(8.0)でロック状態を確認するには、 SELECT * FROM performance_schema.data_locks; -- もしくは show engine innodb sta ...
-
-
MySQL(InnoDB)共有ロックと排他ロックとインテンションロック(テーブルロック)
2020/10/13
↓↓↓↓↓を参考にInnoDBの共有ロックと排他ロックとインテンションロックについてまとめました。 エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド innodbのロックモード ...
-
-
MySQL実行計画(EXPLAIN)の見方
2020/9/27
MySQL EXPLAINとは EXPLAINとは、MySQLがどのような実行計画でクエリ実行するかを表示するコマンド。EXPLAINの結果を見ることで効率の悪いクエリを見つけたり、改善結果を確認でき ...
-
-
MySQL公式のサンプルデータでSQLの学習環境を作る方法
2020/11/18
SQLの学習をする最初の関門として、練習でSQLを実行する環境を整えることだと思います。 データベースとテーブルの構成を考えて、それにあったデータを作るのは大変ですよね。 しかし、MySQL公式のサン ...
-
-
SQL文書き方まとめ
2020/8/5
Tableのリネーム RENAME TABLE [現在のtable名] TO [新しいtable名]; Table削除 DROP TABLE [table名]; 存在したら削除する場合、 DROP T ...
-
-
「SQL実践入門」は良書だった。脱初心者、中級者を目指す人にオススメ!!
2020/11/18
「SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)」を読んだところ良書だったので紹介したいと思います!! ここまでSQLの仕組み、書き方、パフォーマンスについ ...
-
-
SQL結合のアルゴリズムNested Loopsとは?
2020/7/26
結合のアルゴリズムには大きく次の3つがある。 Nested Loops Hash Soft Merge Nested Loopsは結合アルゴリズムの基礎となるアルゴリズムで、どのDBMSでもサポートさ ...
-
-
独学でSQLを学びたい初心者向けオススメ入門書【まずはこの一冊を読め!!】
2020/8/8
【前置き】フレームワークを使っていてもSQLは知っておいた方が良い!! RailsやLaravelなどのフレームワークを使用する場合、ActiveRecordやEloquentといったORMでデータ操 ...
-
-
内部結合(INNER JOIN)と外部結合(OUTER JOIN)
2020/9/12
【前提】データ準備 以下のclubs(部活)テーブルとstudents(生徒)テーブルがあるとして話をします。 students(生徒)テーブルは所属するclubsのidを外部キーとして持っていて、次 ...
-
-
【SQL】CASE式を使ったSELECTとUPDATE
2020/7/13
MySQL(8.0.19)で動作確認しています CASE式の構文 「単純CASE式」と「検索CASE式」の2つあります。 -- 単純CASE式 CASE column_name WHEN 1 THEN ...
-
-
postgresql dump
2020/5/18 postgresql
ごくたまにしか使わず、忘れてしまうのでメモ。 指定したテーブルのみdump pg_dump --username=username --table table_name db_name > du ...