良く使うSQL例文まとめ13選

MySQLで使用したSQL文のサンプルを記録していきたいと思います。自分用にまとめておくページです。

MySQL操作関連はこちらにまとめました。

http://normalblog.net/system/mysql/mysql_matome/

スポンサーリンク

CREATE

テーブル作成

CREATE TABLE posts (
 id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 title VARCHAR(50),
 body TEXT,
 created DATETIME DEFAULT NULL,
 modified DATETIME DEFAULT NULL
);

DROP

テーブル削除

DROP TABLE test_table;

テーブル削除(存在する場合のみ削除)

DROP TABLE IF EXISTS test_table;

バッチなどにDROP TABLEを組み込む場合などに、存在しないテーブルを削除しようとするとエラーになってしまいますので、存在するか確認した上でDELETEしてあげます。

UPDATE

データ更新

UPDATE test_table SET test_column1 = 1, test_column2 = 2 WHERE deleted IS NULL;

DELETE

テーブルデータ削除

DELETE FROM test_table WHERE deleted IS NULL;

TRUNCATE

テーブルデータ削除(AUTO_INCREMENTも初期化)

TRUNCATE TABLE test_table;
or
TRUNCATE test_table;

RAND

ランダムな値を取得

SELECT round(id * RAND()*100), ROUND(id * RAND()*100) FROM posts WHERE id = 1

DATE_ADD

直近1か月以内に作成したデータを取得

SELECT * FROM test_tables WHERE created >= DATE_ADD(NOW(), INTERVAL -1 MONTH);

1年以上前に作成したデータを取得

SELECT * FROM test_tables WHERE created <= DATE_ADD(NOW(), INTERVAL -1 YEAR)

INDEX

インデックス確認

SHOW INDEX FROM test_tables;

EXPLAIN

実行計画確認

EXPLAINを先頭につける。

EXPLAIN SELECT * FROM test_table;

テーブルをコピーしたい場合

テーブル作成

create table books2 like books;

内容コピー挿入

insert into books2 select * from books;

MySQL記事

MySQL操作関連はこちらにまとめました。

http://normalblog.net/system/mysql/mysql_matome/

MySQL記事一覧はこちら

http://normalblog.net/system/mysql/