①SQLとは
RDBのデータ構造を定義したり、データを操作(登録、削除)するデータベース言語。
基本的な文法は主に4つで、DDL、DML、DCL、TCL。今回はこの中でもDDLとDMLに着目。
DDL(Data Definition Language)
テーブルの作成やテーブルの更新、削除等を行う文。DDLにある文は以下の3つ。
CREATE
テーブルの作成
ALTER
テーブルの変更
DROP
テーブルの削除
DML(Data Manipulation Language)
データ操作言語と呼ばれており、SQLの中で最も頻繁に使用する言語。
主に以下の4つの文がある。
SERECT
データの参照
INSERT
データの挿入
UPDATE
データの更新
DELETE
データの削除
早速利用してみる
テーブルの作成
データベースを利用するにはテーブルが必要なので、まずはテーブルを作成。
CREATE TABLE languages(
カラム名1 データ型 (制約)
カラム名2 データ型 (制約)
カラム名3 データ型 (制約)
);
テーブルを作成する手順は以下の通り。
①テーブル名を決める(CREATE TABLE テーブル名)。今回はlanguagesで設定。
②データの項目(カラム名)をリストアップする。今回はId、言語、目的、使用場所 の4つの属性を設定。
③カラムのデータ型を決める。データ型は利用するDBによって異なるが、一般的には以下のようなデータ型が用意されている。
※Javaの型と同じようなもの
・文字列型:VARCHAR
・数値型(整数型、少数型等):INTEGER
・日付型(日付のみ、または日付と時間を持つ型等)
・バイナリ型
また、多くのDB設計では、このデータ型の設定の段階で文字数や数値の桁数を型と一緒に定義する。
定義のやり方は データ型(桁数値 or 文字数値)。
④カラムの制約を決める。制約には主に以下の4つがある。
主キー(primary key:PK)
データを特定するためのもの。基本的には主キーの定義は行う。
必須(NOT NULL)
データに値がない状況を認めない時に使用する。
※ユニークキー(unique key:UK)、外部キー(foreign key:FK)は割愛。
以上を踏まえて、CREATE TABLEを組み立ててみる。
CREATE TABLE languages(
Id int(10) PRIMARY KEY NOT NULL,
language VARCHAR (10),
purpose VARCHAR (20)
);
テーブルの変更
テーブルの変更はALTERを使用。構文は以下の通り。
ALTER TABLE テーブル名 変更操作 変更情報
カラムの追加、削除
/*追加*/
ALTER TABLE テーブル名 ADD カラム名 データ型
/*削除*/
ALTER TABLE テーブル名 DROP カラム名
制約の追加、削除
/*追加*/
ALTER TABLE テーブル名 ADD 制約の定義
/*削除*/
ALTER TABLE テーブル名 DROP 制約の定義
上記のことを踏まえ、使用場所 use というカラムを追加してみる。
ALTER TABLE languages ADD use VARCHAR(20);
テーブルの削除。
テーブルの削除はDROPを使用。不要になったテーブルを削除する場合に利用する。構文は以下の通り。
DROP TABLE languages
データも全て削除するため、実行する前に本当に削除しても良いか考えること。
<前回の記事>
・データベース、SQL・MySQLの基礎
https://qiita.com/TaikiTkwkbysh/items/8efc5faf8da2062a8a95
<次回の記事>
・データベース、SQL・MySQLの基礎(データの登録〜並び替えて参照)
https://qiita.com/TaikiTkwkbysh/items/d1d38dda0f5844f7603b