0
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.

SQL入門(基本的なクエリの備忘録)

Posted at

SQL クエリ

備忘録です。

カラムとテーブルの選択

SELECT カラム名
FROM テーブル名;

データの取得

WHERE

SELECT *
FROM テーブル名
WHERE カラム名 = 要素  -- 「取得したい要素」と一致するものを検索
WHERE カラム名 LIKE %要素%  -- 「取得したい要素」を含む要素を検索
WHERE NOT カラム名 = 要素  -- 「取得したい要素」と一致しないものを検索
WHERE カラム名 IS NULL  -- 指定したカラムのなかでNULLのデータを検索
WHERE カラム名 IS NOT NULL  -- 指定したカラムの中でNULLでないデータを検索

比較演算子等

カラム名 =             -- 一致
カラム名 >=            -- 以上
カラム名 <=            -- 以下
カラム名 <             -- より大きい
カラム名 >             -- 未満
カラム名 LIKE          -- 含む
NOT カラム名 演算子     -- NOT文
カラム名 IS NULL       -- NULL値である
カラム名 IS NOT NULL   -- NULL値でない

AND / OR

WHERE 条件
AND 条件;  -- AND文

WHERE 条件
OR 条件;  -- OR文

並び替え

ORDER BY 並び替えたいカラム 並び方;  -- 並び替え文法
ASC  -- 昇順 ascending order
DESC  -- 降順 descending order

取得データ数の制限

LIMIT データの件数;  -- 指定したデータの件数を取得する(numpyのheadとおなじ)
/*クエリの最後に記述する*/

データベース・テーブルの作成

テーブルの作成

CREATE TABLE テーブル名(
    行名1 データ型,
    行名2 データ型
)

データ型の種類

分類 データ型名 説明
数値型 int 整数型
^ decimal(桁数) 固定長小数型
^ money 通貨
^ float 浮動小数点数値
文字列型 char(文字数), nchar(文字数) 固定長文字列型(~8000字)
^ varchar,nvarchar 可変長文字列型(~8000字)
^ text,ntext 可変長文字列型(~10億文字)
日付型 time hh:flag_mm:ss
^ date YYYY-MM-DD
^ datetime YYYY-MM-DD hh:flag_mm:ss

データの追加・更新・削除

データの追加

INSERT INTO テーブル名  -- 操作するテーブルを指定
(列名1,列名2,列名3)  -- 操作する列を指定
VALUES 
(1,2,3);  -- 追加する値を入力

データの更新(既に登録されているデータを新しいものに置き換える)

UPDATE テーブル名
SET 列名1 = 1, 列名2 = 2, 列名3 = 3  --更新する値を入力
WHERE 条件  -- 更新する場所の条件を指定

行の削除

DELETE FROM テーブル名
WHERE 条件  -- 指定した条件を満たす行を削除する

列の追加・削除

ALTER TABLE テーブル名 ADD 列名 データ型 初期値  --列の追加
ALTER TABLE テーブル名 DROP COLUMN 列名  -- 列の削除
ALTER TABLE テーブル名 ALTER COLUMN 列名 データ型  -- 指定した列のデータ型の変更

データの加工

重複する要素を省く

/*指定したカラムから重複をのぞいて計算する*/
SELECT DISTINCT(カラム名)
FROM テーブル名;

計算を実行する

SELECT カラムⅠ,カラムⅡ*5  -- カラムⅠと、カラムⅡに5を掛けた値を取得

python(SQLiteの使い方)

#### モジュールのインポート
import sqlite3
#### データベースとの接続
conn = sqlite3.connect("データベース.db")  # データベースファイルと接続
c = conn.cursor()  # カーソルオブジェクトの作成
#### クエリの実行
c.execute('''
クエリ
''')  # クエリの実行
#### データベースとの切断
conn.close()  # 切断を怠るとデータベースにロックがかかってしまう。
0
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
0
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?