【DB】SQL基本構文

【DB】SQL基本構文

はじめに

このページで得られる情報

  • SQL構文の組み方(概要)
  • SQL基本構文について(データ操作言語のみ)

構文の組み方 ※初心者向け

SQL文を組むときにどんな構文でどんな組み方をしたらよいか分からなくなったら見てほしい

SELECT文なら

いきなりselect句から記述せず以下の考え方で組むと分かりやすいと思う。

SELECT [カラム名] FROM [テーブル名] WHERE [条件];の場合

  • どのテーブル?(FROM句)
  • どんな条件? (WHERE句)  ※条件なければパス
  • どのカラム及びデータ? (SELECT句)

INSERT文の場合

INSERT INTO [テーブル名] ([カラム名]) VALUES ([データ]);で組む場合

  • どのテーブル? => INSERT INTO [テーブル名])
  • どのカラム? => INSERT INTO [テーブル名]([カラム名1],[カラム名2]…) ※すべてならテーブル丸ごと
  • どんなデータ? => INSERT INTO [テーブル名]([カラム名1],[カラム名2]…)VALUES([データ1],[データ2]…)

といった具合にまずは、

  • 何のテーブルからどのカラムを挿入対象とするか
  • どんなデータを抽出対象とするか

この辺を押さえれば、問題なし。

他にUPDATE,DELETE,DROP TABLE等あるが、基本的にテーブルをベースに考えれば、使い方はおのずとわかってくる。

以下、「基本構文」よりそれぞれの文の使い方を参照してほしい。

※DBMSは、「PostgreSQL」をベースとしているが基本的な部分は同じであるはず

基本構文

記述内容でselect句やwhere句を小文字で記述しているが、大文字だろうと小文字だろうと特に問題ない。

SELECT(データ取得)

-- テーブルの全カラムデータ取得
select * from [テーブル名];

-- 特定カラムのデータ取得
select [カラム名] from [テーブル名] ;

-- 特定カラムのデータを条件付き取得
select [カラム名] from [テーブル名] where [条件] ;

-- 複数の特定カラムのデータを条件付き取得
select [カラム名1],[カラム名2]  from [テーブル名] where [条件] ;

INSERT INTO(データ挿入)

--データ挿入
insert into [テーブル名] select * from [テーブル名] ; 

--カラム指定データ挿入
insert into [テーブル名]([カラム名1],[カラム名2]) select [カラム名1],[カラム名2] from [テーブル名] ;  -- 個人的にこの構文が一番使いやすく速い

--カラム及びデータ指定データ挿入
insert into [テーブル名] ([カラム名1],[カラム名2]...) values ([データ1],[データ2]...) ; 

DELETE(データ削除)

-- テーブル内全データ削除 ※使用するIDEにより警告表示される。
delete from [テーブル名];

-- テーブル内条件付きデータ削除
delete from [テーブル名] where [条件];

UPDATE(データ更新)

-- テーブルデータ一括更新 ※使用するIDEにより警告表示される。
update [テーブル名] set [カラム名] = [データ];

-- テーブルデータ条件付き一括更新
update [テーブル名] set [カラム名] = [データ] where [条件];

-- テーブルデータ条件付き一括更新(複数カラム)
update [テーブル名] set [カラム名1] = [データ1], [カラム名2] = [データ2],  where [条件];

最後に

ざっくりとした内容だが、基本さえちゃんと押さえれば、とりあえずはデータ操作が可能であることを伝えたい。

もちろんこれだけでは、データ操作の細かい部分ができないため

別記事でデータを細かく取得できる方法を紹介する。

おそらくSQLが複雑になると理解が追い付かなくなると思うので、複雑なSQLに対してどのように向き合えばよいかの説明も別記事でできればと思う。

他のサイトで検索してもらったほうが多分早いが。。。(笑)