ブログBlog
SQLの種類
投稿日:2021年02月25日 テクノロジー
こんにちは。松宮です。
本日はSQLの種類について書いてみます。
SQLの勉強、順調に進んでいないのでしばしお付き合いください。
SQLはデータべースを扱う言語です。まず代表的なのは下記の4つの命令ですね。
データベースに存在しているテーブルに対する命令です。
- 抽出 SELECT(セレクト)
- 追加 INSERT(インサート)
- 更新 UPDATE(アップデート)
- 削除 DELETE(デリート)
SQLの命令はこの4つだけではありません。
去年の11月25日の記事で削除に関する命令について書かせてもらったのですが、テーブル自体を作成したり消したり作り直す命令もSQLにはあります。
テーブルに対しての命令はDMLデータ操作言語(Data Manipulation Language)に含まれます。最初に書いた代表4つの命令が含まれます。
他には
- データベース状態を調べて効率よくSQLを実行させるEXPLAIN(エクスプレイン)
- 一時的に編集したいテーブルに鍵をかけ他の人が編集できなくするLOCK TABLE(ロックテーブル)
などもあります。デタベースに存在しているテーブルの中身を操作できます。
データベース内にテーブルを新規で作成したり存在しているテーブルの存在を削除したりテーブルの列を追加や削除をしたり列の型(文字列や数値なと)を変更して設定したりする命令はDDLデータ定義言語(Data Definition Language)に含まれます。
- テーブルの作成 CREATE TEABLE(クリエイトテーブル)
- テーブルの削除 DOUP TEABLE (ドロップテーブル)
- テーブルの列の追加, ALTER TEABLE ADD(オルターテーブルエィディディ)
- テーブルの列の削除 ALTER TEABLE DLOP(オルターテーブルドロップ)
- テーブルの初期化すTRUNCATE TEABLE (トランケートテーブル)
権限に関する命令はDCLデータ制御言語(Data Control Language)になります。
決まった人、決まったアカウントだけ閲覧、編集できる設定で権限付与と権限を剥奪のことです。
- GRANT(グランド)で権限付与。閲覧、編集できる様になります。
- 付与された権限を剥奪する命令はREVOKE(リヴォーク)になります。
最後にトランザクションに対しての命令です。
TCLトランザクション制御言語(Transaction Control Language )といいます。
まずトランザクションについてですがSQLを使った処理の一連の流れを一括りの処理として定義できます。
- トランザクションの処理を確定する COMMIT(コミット)
- トランザクションの処理を中断し実行前の状態に戻す(実行処理が無かったことにする)ROLLBACK(ロールバック)
- トランザクション実行中に他の人が閲覧、編集などできない様に処理を分離する設定(分離レベルを定義する。)SET TRANSACTION(セットトランザクション)
- トランザクションの処理の途中でROLLBACK(ロールバック)できる様にするポイントSEVEPOINT(セーブポイント)
(トランザクション内に2つのSQL文があり一つ目のSQL文をSEVEPOINT(セーブポイント)とした場合2つ目のSQL文を実行してもROLLBACK TO <セーブポイント名>でセーブポイントまで処理を戻せます。
私はSQLはDMLデータ操作言語だけかと踏み込んで勉強するまで思っていたので、もしご存知なかった方はこの機会に4種類あると覚えていただけたらと思います。
私は引き続き、構文や綴りも含めて勉強します。
それにしても、一気に暖かくなりましたね。苺のスイーツもよく目につく様になりましたね。
久しぶりに絵をつけてみます。