データベース、テーブルの作成、編集
SQLはデータベースに指令を出して得たい情報などを取得できる言語なので、
まずはデータベースありきです。
データベース内では様々なテーブルがあり、それら各々のテーブルから、またテーブル同士を結合させるなどして情報を取得します。
データベース、テーブルを作ることもSQLではできるので、まずはそこからまとめていきます。
なお、コードの内容については今読んでる参考書のものを引用させて頂きます。
使用するRDBMSはSQL serverを想定しています。
データベースを作る
CREATE DATABASE データベース名;
下記ではshopというデータベースを作りました。
CREATE DATABASE shop;
テーブルを作る
CREATE TABLE テーブル名
(カラム名 データ型 制約の設定);
下記、shohinというテーブルを作りました。
その下は、例えばshohin_idカラムで、データ型はCHAR型、さらにNOT NULL制約をつけています。制約については付けなくてもOK。付ければデータの整合性は高められます。反面、制約をかけるのでデータの使い勝手が悪くなるということも。
一番下のPRIMARY KEYは主キーです。今回はshohin_idを主キーにしました。
CREATE TABLE shohin
(shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER ,
shiire_tanka INTEGER ,
torokubi DATE ,
PRIMARY KEY (shohin_id)
);
テーブルの削除
DROP TABLE テーブル名;
DROP TABLE Shohin;
テーブルの更新
カラムの追加
ALTER TABLE テーブル名 ADD カラム名 データ型
ALTER TABLE Shohin ADD shihin_mei_kana VARCHAR(100);
カラムの削除
ALTER TABLE テーブル名 DROP COLUM カラム名
※追加の時は新規なのでデータ型も指定しますが、削除する時はすでにデータ型はわかっているので指定は不要。
ALTER TABLE Shohin DROP COLUMN shohin_mei_kana;
テーブルにデータを登録
先ほどまではカラムでしたが、1つのデータ、つまりレコードを追加します。
INSERT INTO テーブル名 VALUES(カラムに対応する値、カラムに対応する値・・・);
下記の()の中の値は、上記「テーブルを作る」で作ったshohinテーブルのカラム(shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka, shiire_tanka, tourokubi)にそれぞれ対応します。順番はカラム通りに追加されるので、このように全てのカラムに値を入れる際、特に順番やカラム名を指定する必要はありません。
INSERT INTO Shohin VALUES('0001', 'Tシャツ', '衣服',
1000, 500, '2009-09-20');
もし、一部のみデータを登録したい場合は、下記のように、どのカラムにどういう値を入れたいという指定をすることができます。逆に、これが基本です。もちろん、全部登録したい時にもカラム名も全部書いても同じですが、上記コードのように省略もできます。一部だけの時はちゃんと指定しないとどのカラムに入れたらいいのか分からないので登録できません。
INSERT INTO Shohin
(shohin_id, shohin_mei)
VALUES('0001', 'Tシャツ)