まぁ、他にもあるだろうけどこれだけあれば十分かと
新規作成
/* データベース作成 */
CREATE DATABASE database_name;
/* テーブル作成 */
CREATE TABLE table_name(
id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
mail VARCHAR(100) UNIQUE,
name VARCHAR(100),
/* PRIMARY KEY (id) */
);
/* カラム追加 */
ALTER TABLE table_name ADD column_name VARCHAR(100);
/* カラム複数追加 */
ALTER TABLE table_name ADD column_name1 VARCHAR(100)
,ADD column_name2 VARCHAR(200);
/* カラム追加位置指定 */
ALTER TABLE table_name ADD column_name3 VARCHAR(100) FIRST;
ALTER TABLE table_name ADD column_name4 VARCHAR(100) AFTER column_name3;
AUTO_INCREMENT
直訳:自動で増加
NOT NULL
NULLにならないようにする
Intならデフォルトで0、文字列ならデフォルトで""
このデフォルトは変更可能
これがないやつは値を入れないとデフォルトでNULLになる
PRIMARY KEY
一つのテーブルに一つだけ
値の重複不可
NOT NULL になる
UNIQUE
値の重複不可
NULL許可してもいい
ALTER
変更
変更
/* データベースの指定(元々指定されてるなら省略可) */
USE database_name;
/* テーブル名変更 */
ALTER TABLE table_name RENAME TO new_table_name;
/* カラム名変更 */
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
/* カラム名称・構造変更 */
ALTER TABLE table_name CHANGE COLUMN column_name new_column_name VARCHAR(999) NOT NULL;
/* カラム構造変更 */
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(888) NOT NULL;
削除
/* データベース削除 */
DROP DATABASE databaseName;
/* データベースの指定(元々指定されてるなら省略可) */
USE database_name;
/* テーブル削除 */
DROP TABLE table_name;
/* カラム削除 */
ALTER TABLE table_name DROP COLUMN column_name;
/* カラム複数削除 */
ALTER TABLE table_name DROP COLUMN column_name1
,DROP COLUMN column_name2;
レコード(データ)
/* 全てのカラムを指定して登録
* auto increment を使用するときの値は0 */
INSERT INTO table_name VALUES(0, 'mail1@example.com', 'name1')
,(1, 'mail2@example.com', 'name2');
/* 指定したカラムのみに値を入力 */
INSERT INTO table_name (mail, name) VALUES('mail@example.com', 'name');
/* 内容確認 */
SELECT * FROM table_name; /* 全てのカラムを表示 */
SELECT column_name FROM table_name; /* 指定したカラムだけ表示 */
SELECT * FROM table_name WHERE column_name = 1; /* column_name = 1 はcolumn_nameが1のもののみ抽出する例 */
/* 変更 */
UPDATE table_name SET update_column_name = "changed" WHERE condition_column_name = 1;
UPDATE table_name SET update_column_name = "changed", update_column_name_2 = 2 WHERE condition_column_name = 1;
/* 削除 */
他にくっつけるやつ
並び替え
ORDER BY column_name ASC /* 昇順 */
ORDER BY column_name DESC /* 降順 */
/* 例文 */
SELECT * FROM table_name ORDER BY column_name ASC;
データ型の種類(MySQL)
いつか書くかも
MySQL v8.0 英語版
MySQL v5.6 日本語版