【随時更新】使用したSQL文
はじめに
今、某フリマアプリのクローンサイトをrailsでチーム開発しております。
私は、本番環境(AWS)の構築と運用担当&個人的な鍛錬のため、sequel Proから卒業し、ターミナルでSQLを使って操作することを自分に課しております。
そこで、この記事では、使ったSQL文をメモしたいと思います。
(随時更新します。)
テーブル内のレコードをすべて削除する
(2019/11/25更新)
構文
DELETE FROM [テーブル名];
例
brainsテーブルのレコードを全部消す。
DELETE FROM brains;
これで、頭の中が空っぽになります。
指定したレコードを削除する
(2020/01/17更新)
構文
DELETE FROM <テーブル名> WHERE 〜
例
brainsテーブルからmemoryカラムの値が「好きだったのに、思いを伝えられなかった中学3年間」を削除
DELETE FROM brains WHERE memory = "好きだったのに、思いを伝えられなかった中学3年間"
これで、甘酸っぱくてほろ苦い青春の思い出を忘れさることができます。
WHERE
(2019/12/09更新)
シンブルにWHEREの書き方をど忘れしてしまったため、自戒を込めて記載します。
RailsのActiveRecordいじり過ぎて、WHERE(name: 1);
って書いてました…
構文
SELECT <カラム名> FROM <テーブル名> WHERE <カラム名>=<レコード>;
SQL文の入力を途中でやめたいとき
(2019/12/12更新)
SQLを書いているとき、いくら;
を打っても抜け出せない(->
が表示され続ける)ことがあって、一生SQL文を打ち続ける刑に処されたのかと思いました。
そこで、今日は入力を途中でやめたいときに、輪廻の連鎖から抜け出す方法を書きます。
そのコマンドは…
\c
です。
1つのカラムの値だけ、削除したい
(2020/01/29更新)
使用場面
usersテーブルに保存したレコードのうち、phoneカラム(携帯電話)の値だけを削除したいとき
方針
調べてみると….
DELETE
で消せる最小単位は、レコード(つまり、特定のカラムの値だけを削除することはできない)UPDATE
を使って、その値だけをNULL
にする (「NULL クリア」)
ということがわかりました。
コード
今回はidが1のuserから、phoneカラムの値だけをNULL
にします。
UPDATE users SET phone = 'NULL' WHERE id = 1;
注意点
NOT NULL制約
など設定していると、更新できないです。