始めに(自己紹介)
最近SierからWebエンジニアになろうと思って勉強を始めました
今回の記事もその一環で、何かアウトプットの練習がしたいと思っての記事です
かなり初歩的かつわかりづらい内容かと思いますがご容赦ください
対象
SQL超初心者
概要
先輩からいくつかのテーブルの中身を消しておいてほしい
でも一文ずつ書くと間違えるかもしれないから一度で対象の全テーブルの中身を消すように
・・・とのこと(信用がない)
恥ずかしながらこれまで自分でSQL文を書いたことがなかったので
ググりながら書いてみた
探してもあまりピンとくる情報がなかったので(調べ方が悪いのか)
Qiita初投稿ネタついでに備忘として残しておこうと思う
本編
一つ目
delete from table1, table2, ... , tablen
みたいな文を流してみた
・・・エラー
どうやら複数のテーブルに対して一度にデリートはできないらしい
JOINで結合やらをしたら複数のテーブルからの削除はできるらしい。
下記、参考までに
複数テーブルからDELETE
ただ複数テーブルの全件削除の方法は見つからなかった
二つ目
ここから記事のタイトルにあるものを実践することになります
どうやらSQLPlusは入っているようだったので、SQLファイル(.sql)に
必要なSQL文を全部詰め込んで、それをSQLPlusで流し込むという方法を取ることにした
SQL*Plusとは
cd SQLファイルがある場所のパス
sqlplus ユーザID/パスワード
@SQLファイル名
sqlファイルの中身はこんな感じ
delete from table1
delete from table2
...
delete from tablen
これを流してみた
・・・最後の一文しか実行してない・・・
三つ目
文の区切りとして、セミコロン(;)がないとダメらしい
delete from table1;
delete from table2;
...
delete from tablen;
これで再度実施
・・・やっと出来た
ちなみにファイルの後ろにexitがないと実行と同時のコミットはしないっぽい
終わりに
このくらいの記事書くのにもなかなか時間がかかった
今はProgateなどでインプット中心だけど、そこで引っかかったところとか
書いていきたいな〜と思ってます