Open8
個人的SQL構文まとめ
テーブルを作る
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT, //主キーに設定、autoインクリメント設定
username VARCHAR(50) NOT NULL, //空白はダメという設定にした
email VARCHAR(100) UNIQUE NOT NULL,
birthdate DATE,
registration_date DATE DEFAULT CURRENT_DATE //デフォルトで現在の時間が入るようにした
);
SELECT文
SELECT 列1, 列2, ...
FROM テーブル名
WHERE 条件;
INSERT文
INSERT INTO テーブル名 (列1, 列2, ...)
VALUES (値1, 値2, ...);
UPDATE文
UPDATE テーブル名
SET 列1 = 値1, 列2 = 値2, ...
WHERE 条件;
DELETE文
DELETE FROM テーブル名
WHERE 条件;
ORDER BY(ソート)
test{ id, score , }
SELECT * FROM test ORDER BY score DESC
スコアを降順でソートできる。ASCで昇順
Selectに取得制限をかける
SELECT * FROM test LIMIT 10;
LIMITの後に取得数制限をかける
開始位置の指定
SELECT * FROM test LIMIT 10 OFFSET 5;
10個中6番目のデータから取得し始める
注意する点として、例えば OFFSET に 4 を指定した場合、最初から 4 番目までのデータを飛ばして 5 番目のデータから取得を行います。4 番目のデータから取得を開始するわけではないことに注意して下さい。また LIMIT 句を省略して OFFSET 句だけを記述することはできません。
ランキングナンバー取得
SELECT RANK() OVER(ORDER BY score DESC) as rank_result FROM test ORDER BY score DESC
大量にインサートする場合の文
INSERT INTO user (id,name) VALUES (1,"yamada")(2,"takahasi")(3,"sato")