SQL
SQL(エスキューエル、Structured Query Language)
構造化クエリ言語と訳せる
リレーショナル・データベース(RDB)から情報を取得したり、データベースの情報を更新するためプログラミング言語
SQLの仕様がある
データ定義言語(Data Definition Language; DDL)
CREATEやDROP、ALTERなどデータベースオブジェクトの生成や削除変更を行うコマンド
CREATE
DROP
GRANT
REVOKE
データ操作言語(Data Manipulation Language; DML)
SELECT/INSERT/UPDATE/DELETEなどテーブルに対するデータの取得・追加・更新・削除を行うコマンド
select
insert
update
delete
DECLARE CURSOR
OPEN
FETCH
CLOSE
データ制御言語(Data Control Language; DCL)
BEGIN、COMMIT、ROLLBACKなどトランザクションの制御を行うためのコマンド
BEGIN
COMMIT
ROLLBACK
code:sample.sql
-- 単一レコードのinsert
insert into table_name (col1, col2, ...) values (col1, col2, ...);
-- select insert
insert into table_name (col1, col2, ...)
select col1, col2, ... from table2_name;
-- update
update table_name
set col_name1 = ...,
col_name2 = ...
where
col_name1 = ...;
delete from table_name
where col_name1 = ...;
code:with.sql
-- WITH サブクエリ名 AS ( ...select文など... )
WITH CTE1 AS (
SELECT item_id, item_name FROM items
), CTE2 AS (
SELECT item_id, item_name FROM items
)
SELECT * FROM CTE1
UNION ALL
SELECT * FROM CTE2;
code:sql
select distinct language from v_example_desc order by language;
code:memo.sql
/* GRANT */
GRANT 権限名 ON オブジェクト名
TO { ユーザ名 | ロール名 | PUBLIC }
/* REVOKE */
REVOKE 権限名 ON オブジェクト名
FROM { ユーザ名 | ロール名 | PUBLIC }
関連
確認用
Q. SQL
Q. DDL
Q. DML
Q. DCL
Q. select文
Q. insert文(1行分を挿入)
Q. insert文(クエリで)
Q. update文
Q. delete文
Q. WITH句
Q. WITH句を複数書く場合は
Q. distinctの使い方
Q. GRANT文とは
Q. GRANT文の構文
Q. REVOKE文とは
Q. REVOKE文の構文
Q. ビューの作成
参考
メモ