概要
基本的なSQLを備忘録として記載する。
※MySQL5.7を想定
作成(CREATE)
テーブルを作成する
CREATE TABLE db_name.tbl_name (col_name data_type, ...);
/* 例 */
CREATE TABLE sample_db.sample_table_001 (id int);
/* use 文でデータベース選択済みの場合 */
use db_name;
CREATE TABLE db_name.tbl_name (col_name data_type, ...);
/* 例 */
use sample_db;
CREATE TABLE sample_table_002 (id int);
インデックスを作成
CREATE INDEX index_name ON db_name.table_name (col_name, ...);
/* 例 */
CREATE INDEX index_id ON sample_db.sample_table_001 (id);
/* use 文でデータベース選択済みの場合 */
use db_name;
CREATE INDEX index_name ON table_name (col_name, ...);
/* 例 */
use sample_db;
CREATE INDEX index_id ON sample_table_001 (id);
表示(SHOW)
テーブル一覧表示
SHOW TABLES FROM db_name;
/* 例 */
SHOW TABLES FROM sample_db;
/* use 文でデータベース選択済みの場合 */
use db_name;
SHOW TABLES;
/* 例 */
use sample_db;
SHOW TABLES;
テーブルのカラム情報を表示
SHOW COLUMNS FROM db_name.table_name;
/* 例 */
SHOW COLUMNS FROM sample_db.sample_table_001;
/* use 文でデータベース選択済みの場合 */
use db_name;
SHOW COLUMNS FROM table_name;
/* 例 */
use sample_db;
SHOW COLUMNS FROM sample_table_001;
テーブル構造を変更(ALTER)
カラムを追加
ALTER TABLE table_name ADD col_name column_definition
/* 例 */
ALTER TABLE sample_table_001 ADD name varchar(10);
データの挿入(INSERT文)
INSERT INTO db_name.table_name (col_name1, col_name2, ...) VALUES (value1, value2, ...)
/* 例 */
INSERT INTO sample_db.sample_table_001 (id, name) VALUES (1, 'Taro');
/* use 文でデータベース選択済みの場合 */
use db_name;
INSERT INTO table_name (col_name1, col_name2, ...) VALUES (value1, value2, ...)
/* 例 */
use sample_db;
INSERT INTO sample_table_001 (id, name) VALUES (1, 'Taro');
取得(SELECT文)
全てのカラムデータを取得する
SELECT * FROM db_name.table_name;
/* 例 */
SELECT * FROM sample_db.sample_table_001;
/* use 文でデータベース選択済みの場合 */
use db_name;
SELECT * FROM table_name;
/* 例 */
use sample_db;
SELECT * FROM sample_table_001;
指定のカラムデータを取得する
SELECT col_name1, col_name2... FROM db_name.table_name;
/* 例 */
SELECT id, name FROM sample_db.sample_table_001;
/* use 文でデータベース選択済みの場合 */
use db_name;
SELECT col_name1, col_name2... FROM table_name;
/* 例 */
use sample_db;
SELECT id, name FROM sample_table_001;
更新(UPDATE)
条件に一致するデータを更新
UPDATE db_name.table_name SET col_name1 = value1 [, col_name2 = value2, ...] WHERE where_condition;
/* 例 */
UPDATE sample_db.sample_table_001 SET name = 'Takeshi' WHERE name = 'Taro';
/* use 文でデータベース選択済みの場合 */
use db_name;
UPDATE db_name.table_name SET col_name1 = value1 [, col_name2 = value2, ...]
/* 例 */
use sample_db;
UPDATE sample_db.sample_table_001 SET name = 'Taro' WHERE name = 'Takeshi';
削除(DELETE)
条件に一致するデータを削除する
DELETE FROM db_name.table_name [WHERE where_condition]
/* 例 */
DELETE FROM sample_db.sample_table_001 WHERE name = 'Taro';
削除(DROP)
テーブルを削除する
DROP TABLE db_name.table_name;
/* 例 */
DROP TABLE sample_db.sample_table_001;
/* use 文でデータベース選択済みの場合 */
use db_name;
DROP TABLE table_name;
/* 例 */
use sample_db;
DROP TABLE sample_table_002;
インデックスを削除
DROP INDEX index_name ON db_name.table_name;
/* 例 */
DROP INDEX index_id ON sample_db.sample_table_001;
/* use 文でデータベース選択済みの場合 */
use db_name;
DROP INDEX index_name ON db_name.table_name;
/* 例 */
use sample_db;
DROP INDEX index_id ON sample_table_001;
その他メモ
/* 非表形式でテーブル情報を表示 */
SHOW TABLES FROM sample_db\G -- 大文字のGである必要あり
/* 非表形式でカラムデータを取得 */
SELECT * FROM sample_db.sample_table_001\G