SQL

SQLによるデータベース・テーブルの操作

よく使うもの
・SELECT
・INSERT
・UPDATE
・DELETE
・CREATE

SQLを書く時の注意点
半角英数字、半角記号、語句を区切るのは半角スペース、最後には ; を忘れずに。
SQLキーワードは大文字で記載する。それ以外は小文字。
コメントアウトはーー ハイフン二つ。
SQLは上から順に実行される。

テーブルの作成
SQL では、CREATE TABLE というステートメントを利用して、テーブルを作成することができ
ます。構文は、次のとおりです。

CREATE TABLE テーブル名
( 列名1 データ型[NOT]NULL,
列名2 データ型[NOT]NULL, … )

このように、テーブルを作成するには、「列の名前」と「データ型」、「NULL 値を許可するかどう
か」などを設定する必要があります。

テーブルの作成: CREATE TABLE ステートメント

試しに社員2というテーブルを書いてみる。

データの追加: INSERT ステートメント

INSERT INTO テーブル名 (列名1, 列名2, …)
VALUES (値1, 値2, …)

Note: データの追加は行単位
リレーショナル データベースの世界では、データの追加は「行単位」で行い、Excel のように「セル単位」ではありません。したがって、新しい行を追加するには、すべての列の値を指定する必要があります。

纏めて書くときはカンマで区切って記入

データの更新: UPDATE ステートメント

UPDATE テーブル名
SET 更新したい列名 = 更新したい値
WHERE 更新したい行の条件

給与400000に更新
WHERE句を指定しないと全員分の給与が400000になってしまうので指定を忘れない。

データの削除: DELETE ステートメント

DELETE FROM テーブル名
WHERE 削除したい行の条件

WHERE句を指定しないと全部消去しちゃうので注意。

SELECT ステートメントによるデータ検索

SELECT 列名1, 列名2, …
FROM テーブル名
WHERE 検索する行の条件

Note: 文字列と日付データ型の値は単一引用符で囲む
「氏名」列のデータを「’」(単一引用符)で囲んでいるのは、SQL ステートメントでは「文字(char)と日付(date)データ型の値は、単一引用符で囲まなければならない」という決まりがあるためです。文字列を利用する場合は、単一引用符を忘れずに付けるようにしましょう。

データの並べ替え: ORDER BY 句

SELECT 列名1, 列名2, …
FROM テーブル名
OREDER BY 列名[ ASC | DESC ]

descをいれているがこれは降順。初期値は昇順なので逆。

Note: ORDER BY 句を指定しない場合の並べ替え順は保証されない
SQL の世界では、ORDER BY 句を指定しない場合の並べ替え順は保証されません。どういった形で取得されるかは、そのときの状況によって変化し、社員番号で並べ替えられるかもしれないし、給与で並べ替えられるかもしれません。データが内部的に格納されている順番に出てくる場合もあります。また、WHERE 句の検索条件の付け方によっても並べ替え順が変わったりします(どういったインデックスが使用されるかによって、並べ替え順が変化します)。したがって、並べ替え順を保証したい場合は、必ず ORDER BY 句を使用するようにします。

算術演算子: +、-、*、/

Note: 列に対する別名をつける: AS
算術演算子を使って取得した列の名前は「(列名なし)」と表示されます。列名は、ORDER BY 句やアプリケーションからデータを取得する際に必要になるので、このままだと操作がしづらくなります。このような場合のために、結果列に対して、新しい列名をつける機能として「AS」があります。これは、次のように利用します。

文字列連結演算子: +

SELECT 社員番号, 氏名 + ‘さん’ FROM 社員

重複データの排除: DISTINCT

SELECT DISTINCT 列名 FROM テーブル名

DISTINCT の後に、重複したデータを取り除きたい列名を指定します。

今日の昼ごはん

投稿者 sochankun

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です