MySQLでよく使うコマンドをまとめました。データベース操作からテーブル設計、レコード操作まで一通り網羅しています。
ログイン
mysql -u ユーザー名 -p
データベースを指定してログインする場合:
mysql -u ユーザー名 -p データベース名
ユーザー管理
ユーザーの作成と権限付与
GRANT ALL ON データベース名.* TO ユーザー名@接続元 IDENTIFIED BY 'パスワード';
接続元に localhost を指定するとローカルからのみ接続可能になります。
データベース操作
作成
CREATE DATABASE データベース名;
接続(選択)
USE データベース名;
一覧表示
SHOW DATABASES;
削除
DROP DATABASE データベース名;
テーブル操作
作成
CREATE TABLE テーブル名 (
id INT AUTO_INCREMENT PRIMARY KEY,
カラム名 データ型,
...
);
一覧表示
SHOW TABLES;
カラム構成の確認
DESC テーブル名;
テーブル名の変更
ALTER TABLE テーブル名 RENAME TO 新テーブル名;
削除
DROP TABLE テーブル名;
カラム操作
カラムの追加
ALTER TABLE テーブル名 ADD カラム名 データ型;
カラム名と型を変更
ALTER TABLE テーブル名 CHANGE 旧カラム名 新カラム名 データ型;
型のみ変更(カラム名はそのまま)
ALTER TABLE テーブル名 MODIFY カラム名 データ型;
カラムの削除
ALTER TABLE テーブル名 DROP カラム名;
レコード操作
追加
INSERT INTO テーブル名 (カラム名, ...) VALUES (値, ...);
取得
-- 全件取得
SELECT * FROM テーブル名;
-- カラムを絞って取得
SELECT カラム名, ... FROM テーブル名;
-- 条件を指定して取得
SELECT * FROM テーブル名 WHERE 条件;
並び替え
-- 昇順(デフォルト)
SELECT * FROM テーブル名 ORDER BY カラム名 ASC;
-- 降順
SELECT * FROM テーブル名 ORDER BY カラム名 DESC;
更新
UPDATE テーブル名 SET カラム名 = 値 WHERE 条件;
WHERE を省略すると全レコードが更新されるので注意。
削除
DELETE FROM テーブル名 WHERE 条件;
こちらも WHERE を省略すると全レコードが削除されます。
よく使うデータ型
| 型 | 説明 |
|---|---|
INT |
整数 |
VARCHAR(n) |
可変長文字列(最大n文字) |
TEXT |
長文テキスト |
DATE |
日付(YYYY-MM-DD) |
DATETIME |
日時(YYYY-MM-DD HH:MM:SS) |
BOOLEAN |
真偽値(実体はTINYINT) |