#はじめに
Railsを使っているとActive Recordで簡単にできてしまいますので、ターミナルでmysqlを操作してみました。
#目次
- ターミナルでmysqlに接続する
- データベースを一覧で確認する
- データベースの作成
- データベースの選択
- テーブルを確認する
- テーブルを作成する
- テーブル構造を確認する
- カラムの追加
- カラムを一つ追加する
- カラムを複数追加する
- カラムを修正する
- カラムを削除する
- データを登録する
- mysqlから抜ける
- GUIでの操作
###ターミナルでmysqlに接続する
ここからは全てターミナルでの操作になります。
mysql -u root
コマンドの意味「mysqlにユーザー名がrootで接続する」
###データベースを一覧で確認する
mysql> SHOW DATABASES;
実行結果
+------------------------------------+
| Database |
+------------------------------------+
| blog_development |
| blog_test |
+------------------------------------+
###データベースの作成
CREATE DATABASE データベース名;
###データベースの選択
USE データベース名;
###テーブルを確認する
SHOW TABLES;
###テーブルを作成する
CREATE TABLE テーブル名(複数系) (カラム名 型,カラム名 型);
例)postsテーブルに整数型のidカラムと長文字列のtitleカラムを追加する
CREATE TABLE posts (id INT, title VARCHAR(255));
###テーブル構造を確認する
SHOW columns FROM テーブル名;
実行結果
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
###カラムの追加
カラムの操作は以下のコマンドが基本になります
ALTER TABLE テーブル名 操作
####カラムを一つ追加する
ALTER TABLE テーブル名 ADD カラム名 カラムの型;
####カラムを複数追加する
ALTER TABLE テーブル名 ADD (カラム名 カラムの型, ……);
####カラムを修正する
ALTER TABLE テーブル名 CHANGE 古いカラム名 新しいカラム名 新しいカラムの型;
####カラムを削除する
ALTER TABLE テーブル名 DROP カラム名;
###データを登録する
####全てのカラムに値を入れる場合
INSERT INTO テーブル名 VALUES(値1, 値2, 値3);
####特定のカラムに値を入れる場合
INSERT INTO テーブル名(カラム名1, カラム名2) VALUES(値1, 値2);
テーブルにある全てのレコードを取得する
SELECT * FROM goods;
####NULL
空のカラムにはデフォルト値としてNULLが入っている。
例)
+------+--------------+------+-------+
| id | name | text | price |
+------+--------------+------+-------+
| 2 | 消しゴム | NULL | NULL |
+------+--------------+------+-------+
####データを更新する
UPDATE テーブル名 SET 変更内容 WHERE 条件;
####データを削除する
DELETE FROM テーブル名 WHERE 条件;
usersテーブルのid2のレコードを削除する場合
DELETE FROM users WHERE id = 2;
###mysqlから抜ける
mysql> exit
###GUIでの操作
GUIでSQLクエリを直接入力します。
Sequel Pro
TablePlus
####取得するテーブルを指定する
FROM テーブル名
####取得するカラムを指定する
SELECT カラム名
####取得するレコードを制限する(条件)
AND演算子
WHERE a AND b
OR演算子
WHERE a OR b
NOT演算子
WHERE NOT a
BETWEEN演算子
1つのカラムに対し上限と下限を指定して式を作り
WHERE カラム名 BETWEEN 下限 AND 上限
####コメント
-- ここにコメントを書く
IN演算子
WHERE カラム名 IN (値1, 値2, ……)