0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【chatGPT 対話備忘録】SQLコマンドガイド

Last updated at Posted at 2024-11-21

私:

SQLとは

ChatGPT:

SQL (Structured Query Language) は、データベースの作成、管理、操作を行うための標準的なプログラミング言語です。以下に、基本的なSQLのコマンドや概念を紹介します。

基本構文

  1. データベースの作成と選択
sql

-- データベースの作成

CREATE DATABASE database_name;

-- データベースの選択

USE database_name;
  1. テーブルの作成
sql

CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
);

例:

sql

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. データの挿入
sql

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

例:

sql

INSERT INTO users (name, email)
VALUES ('John Doe', 'john@example.com');
  1. データの取得
sql

SELECT column1, column2, ...
FROM table_name
WHERE condition;

例:

sql

SELECT * FROM users WHERE name = 'John Doe';
5. データの更新

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

例:

sql

UPDATE users
SET email = 'john.doe@example.com'
WHERE name = 'John Doe';
  1. データの削除
sql

DELETE FROM table_name
WHERE condition;

例:

sql

DELETE FROM users WHERE id = 1;

SQLの種類
DDL (Data Definition Language): データベースの構造を定義する。

CREATE, ALTER, DROP, TRUNCATE
DML (Data Manipulation Language): データを操作する。

SELECT, INSERT, UPDATE, DELETE
DCL (Data Control Language): 権限の管理。

GRANT, REVOKE
TCL (Transaction Control Language): トランザクションを管理する。

COMMIT, ROLLBACK, SAVEPOINT
条件式と関数
WHERE句の条件式
比較演算子: =, <>, <, >, <=, >=
論理演算子: AND, OR, NOT
範囲指定: BETWEEN ... AND ...
部分一致: LIKE 'pattern%' (%と_を使用)
NULL値チェック: IS NULL, IS NOT NULL
集計関数
COUNT(): 行数をカウント
SUM(): 合計
AVG(): 平均
MAX(): 最大値
MIN(): 最小値

例:

sql

SELECT COUNT(*) AS user_count FROM users;
グループ化
sql

SELECT column, COUNT(*)
FROM table_name
GROUP BY column
HAVING COUNT(*) > 1;
ジョイン (JOIN)
INNER JOIN: 両方のテーブルに一致するデータを取得
sql

SELECT *
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
LEFT JOIN: 左のテーブルのすべての行を取得し、一致しない場合はNULL
sql

SELECT *
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
RIGHT JOIN: 右のテーブルのすべての行を取得
FULL OUTER JOIN: 両方のテーブルのすべての行を取得

SQL練習環境
ローカル環境: MariaDB, MySQL, PostgreSQL, SQLite
オンラインツール: DB Fiddle, SQL Zoo

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?