1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【MySQL】SQL(テーブル操作:作成・表示・構造変更・取得・更新・削除)

Posted at

概要

基本的な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
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?