ブログ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種類あると覚えていただけたらと思います。

私は引き続き、構文や綴りも含めて勉強します。

それにしても、一気に暖かくなりましたね。苺のスイーツもよく目につく様になりましたね。

久しぶりに絵をつけてみます。

PAGE TOP