##1.SQL(Structured Query Language)とは
リレーショナルデータベース(RDB)の操作を行うための言語
命令は大きく分けて2つ
①データベースを定義するDDL(Data Definition Language)
命令 | 機能 |
---|---|
CREATE | データベースやテーブルの作成 |
ALTER | データベースやテーブルの更新 |
DROP | データベースやテーブルの削除 |
②データを操作するDML(Data Manipulation Language)
命令 | 機能 |
---|---|
INSERT | データの登録 |
UPDATE | データの更新 |
DELETE | データの削除 |
SELECT | データの検索 |
##2.データベース構造の操作
/*DBへ接続*/
mysql -u root
/*DBを一覧で表示*/
SHOW DATABASES;
/*指定した名前のDBの作成*/
CREATE DATABASE データベース名;
/*作業するDBを選択*/
USE データベース名
SHOW DATABASES文:DBを一覧で表示するSQL文
CREATE DATABASE文:DBやテーブルを作成するSQL文
USE文:DBを選択するSQL文
##3.テーブルの操作
/*選択したDBに存在するテーブルを一覧表示*/
SHOW TABLES;
/*テーブルを作成*/
CREATE TABLE テーブル名 (カラム名 カラム名の型, ……);
SHOW TABLES文:選択したデータベースに存在するテーブルを一覧で表示するSQL文
CREATE TABLE文:テーブルを作成するためのSQL文
テーブルを作成する際にカラムの型を選択する必要がある。
参考:MySQL 5.6 リファレンスマニュアル 第 11 章 データ型
例)商品の情報を保存することを想定し、"goods"という名前のテーブルを作成する。
テーブルには商品idを数字で保存するidカラム、商品名を文字列で保存するnameカラムが必要。
CREATE TABLE goods (id INT, name VARCHAR(255));
意味:goodsテーブルにidカラム、nameカラムを作成。それぞれの方はINTとVARCHAR(最大255文字数)。
##4.テーブル構造を確認
/*構造の確認*/
SHOW columns FROM テーブル名;
##5.カラムを追加(ALTER TABLE文)
/*カラムを1つ追加*/
ALTER TABLE テーブル名 ADD カラム名 カラムの型;
/*カラムを複数追加*/
ALTER TABLE テーブル名 ADD (カラム名 カラムの型, ……);
/*カラムの修正*/
ALTER TABLE テーブル名 CHANGE 古いカラム名 新しいカラム名 新しいカラムの型;
/*カラムの削除*/
ALTER TABLE テーブル名 DROP カラム名;
##6.テーブルにデータを保存(INSERT文)
INSERT文:テーブルにデータを登録するためのSQL文
/*全てのカラムに値を入れる場合と特定のカラムに値を入れる場合*/
INSERT INTO テーブル名 VALUES(値1, 値2, 値3);
INSERT INTO goods VALUES(1, "ペン", 120);/*意味:goodsテーブルにid:1,nema:"ペン",price:120を登録*/
/*特定のカラムのみに値を入れる場合*/
INSERT INTO テーブル名(カラム名1, カラム名2) VALUES(値1, 値2);
INSERT INTO goods(id, name) VALUES(2, "消しゴム");/*意味:goodsテーブルにidカラムに2,nemaカラムに"消しゴム"を登録*/
デフォルト値を設定していないカラムのデフォルト値はNULLとなる。
##7.データを更新(UPDATE文)
UPDATE テーブル名 SET 変更内容 WHERE 条件;
UPDATE goods SET price = 100 WHERE id = 2;/*goodsテーブルのid2のpriceを100に更新*/
##8.データを削除(DELETE文)
DELETE FROM テーブル名 WHERE 条件;
DELETE FROM goods WHERE id = 2;
##その他
/*テーブルにあるレコードを全て表示*/
SELECT * FROM テーブル名;