スクール時代ではあまり文法を用いての操作をしていなかったため、
カリキュラムで学んだことと、調べた情報をアウトプットしていこうと思います。
今回はDDL編です!
SQLとは
RDB1の操作を行うための言語で、ActiveRecordなどのORM2のメソッドは、
SQLに変換されるためテーブル操作が可能になる。
SQLでできること
大きく分けて3つに分類される。
- データ定義(DDL)・・・データベースやテーブルを作成・削除する
- データ操作(DML)・・・データを探す・登録・更新
- データ制御(DCL)・・・変更を確定する・取り消す
SQLの使用
ターミナルもしくはGUIツールでも操作が可能。
(スクールではSequelProを使用)
# ホームディレクトリに戻る
% cd
# MySQLに接続
% mysql -u root
DDL
Data Definition Language(データデフィニションランゲージ)の略。
主な命令 | 機能 |
---|---|
CREATE | データベースやテーブルの作成 |
ALTER | データベースやテーブルの更新 |
DROP | データベースやテーブルの削除 |
SQL文について
SQL文は小文字でも動作するが、SQL文と他の文字列が混ざると読みづらくなるため大文字で記述する。
また、SQL文の文末には必ず;
をつける必要がある。
;
を忘れるとまだ操作が続くものだと見なされ、期待した動きをしない。
CREATE文
データベースやテーブル作成ができる。
# データベースの作成
CREATE DATABASE データベース名 ;
# テーブルとカラムを同時に作成することも可能。
CREATE TABLE テーブル名 (カラム名1 カラム名1の型, カラム名2 カラム名2の型, …);
使用例
# sqltestというデータベースを作成
CREATE DATABASE sqltest;
# itemテーブルと、idカラムを同時に作成
CREATE TABLE item id INT;
SHOW文
データベースやテーブルを一覧表示できるSQL文
SHOW DATABASES;
上記にて作成したデータベースが表示されます。
mysql> SHOW DATABASES;
+------------------------+
| Database |
+------------------------+
| 省略 |
| sqltest |
| 省略 |
+------------------------+
USE文
どのデータベースを使用するのかを指定するSQL文。
USE データベース名
USE sqltest;
DROP文
データベースやデータを削除できる。
# データの削除
ALTER TABLE テーブル名 DROP カラム名;
# データベースの削除
DROP DATABASE データベース名;
使用例
# itemテーブルのidカラムを削除
ALTER TABLE item DROP id;
# sqltestデータベースを削除
DROP DATABASE sqltest;
ALTER文
データベースやテーブルを編集できる。
ALTER TABLE テーブル名 操作内容;
使用例
# itemテーブルにnameカラムを追加
ALTER TABLE item ADD name VARCHAR(20);
書きたい記事が多いけど、何をどこまで書こうかなと時間がかかって下書きばかりが増えていく・・・
続けられるよう頑張ります!