今までの復習


データを定義する DDL
CREATE データベースの作成
ALTER  データベース、テーブルの作成
DROP データベース、テーブルの削除

データを操作する DML
INSERT データの登録
UPDATE データの更新
DELETE データの削除
SELECT データの検索

ターミナルからデータベースを操作する
mysql -u root
(mysqlにユーザー名がrootで接続する)
sequel proの’ユーザー名 :root'がコマンドの -u rootに対応していることになる。

SHOW DATABASES; (コロンはつけなきゃいけない)
データベースを一覧で表示するSQL文

ターミナルからデータベースを作成
rake db:create

CREATE DATABASE データベース名;
これでデータベースを作成することができる。

mysql> CREATE DATABESE データベース名
query ok ~~
mysql>
この表示が出ていれば成功となる。

USE文

USE データベース名;
データベースを選択する

mysql> USE データベース名;
Database changed
mysql >
この表示が出ていれば成功となる

SHOW TABLES;
テーブル一覧
mysql> show tables;
Empty set ~~
mysql>
この表示が出て入れば成功となる
empty setというのはテーブルがない状態になる。

CREATE TABLE文
データベースの作成の時と同様に、テーブルを作成する場合はCREATE命令を使用する。
CREATE TABLE文はテーブルを作成するためのSQL文

CREATE TABLE テーブル名 (カラム名 カラム名の型, );
テーブルの作成とカラムの作成ができる

railsでテーブルを作る場合はrails g model モデル名
でテーブルに紐づくモデルを作成し、その時に作られたマイグレーションファイルをrake db:migrateで実行するという手順。

rake db:migrateが実行される裏側では、 CREATE TABLEが動いていることになる。
CREATE TABLEで使用するカラムの方は決まっているものを配置する必要がある

VARCHAR(文字数)  最大文字数文字の文字列

テーブル構造の確認
SHOW columns FROM テーブル名;

作成したテーブルにカラムを追加する

ALTER TABLE文
ALTER TABLE テーブル名  操作

カラムを一つだけ追加する場合
ALTER TABLE テーブル名 ADD カラム名 カラムの型;

カラムを複数追加する場合
ALTER TABLE テーブル名 ADD (カラム名 カラムの型, カラム名 カラムの型、  ....)

カラムの修正
ALTER TABLE テーブル名 CHANGE 古いカラム名 新しいカラム名 新しいカラムの型;
(カラムの型は必ず追加する必要がある)

ex) ALTER TABLE goods CHANGE zaiko stock int;

カラムの削除
ALTER table テーブル名 DROP  カラム名;

テーブルに保存するデータの操作
mysqlに接続
mysql -u root
データベースを選択
USE データベース名;

INSERT文(データを登録(データベース)
テーブルを登録するためのSQL文、INSERT文は全てのカラムに値を入れるか否かで以下のように変化する

全てのカラムに値を入れる場合
INSERT INTO テーブル名 VALUES (値1, 値2, 値3);

特定のカラムのみに値を入れる場合
INSERT INTO テーブル名 (カラム名、カラム名) VALUES (値1, 値2);

ex) INSERT INTO goods VALUES(1, "ペン", 120);

デフォルト値
レコードを生成するときにカラムを入れるものを特定しなかった場合、そのカラムに入る値のこと。

デフォルト値を設定していないカラムのデフォルト値はNULLとなる。

データを更新する
UPDATE文  テーブル名、変更内容、条件を指定

UPDATE テーブル名 SET 変更内容 WHERE 条件;

UPDATE goods SET price = 100 WHERE id = 2;
条件  idが2のレコードのpriceが100となるように更新する

SELECT * FROM テーブル名
指定したテーブルの内容を全て表示

データを削除
DELETE文   テーブルにあるデータを削除
DELETE FROM テーブル名 WHERE 条件;

ex) DELETE FROM goods WHERE id = 2