Open8

個人的SQL構文まとめ

eisukeeisuke

テーブルを作る

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 //デフォルトで現在の時間が入るようにした
);
eisukeeisuke

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 条件;
eisukeeisuke

開始位置の指定

SELECT * FROM test LIMIT 10 OFFSET 5;

10個中6番目のデータから取得し始める

注意する点として、例えば OFFSET に 4 を指定した場合、最初から 4 番目までのデータを飛ばして 5 番目のデータから取得を行います。4 番目のデータから取得を開始するわけではないことに注意して下さい。また LIMIT 句を省略して OFFSET 句だけを記述することはできません。

https://www.javadrive.jp/sqlite/select/index10.html#section2

eisukeeisuke

ランキングナンバー取得

SELECT RANK() OVER(ORDER BY score DESC) as rank_result FROM test ORDER BY score DESC