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?

SQL DDL(データ定義言語)のまとめ

Last updated at Posted at 2024-08-23

アウトプット:writing_hand:
増える可能性あり
MySQLを使用しているので、一部内容が異なる可能性あります。

DDLとは

データベースやテーブル定義を作成したり、削除や追加、変更したりする命令文

作成

データベースの作成

CREATE DATABASE データベース名;

) 
CREATE DATABASE test;

作成したデータベースを使うには
USE 使いたいデータベース名;
)
USE test;

テーブル作成

CREATE TABLE テーブル名(
 列名 データ型(桁数) この列の制約,
 列名 データ型(桁数) この列の制約, 
 .....
 );
 
)
CREATE TABLE user(
user_id int  PRIMARY KEY,
name VARCHAR(20) NOT NULL,
pass int NOT NULL
);

削除

データベース削除

DROP DATABASE データベース名;

)
DROP DATABASE test;

テーブル削除

DROP TABLE テーブル名;
 
)
DROP TABLE user;

列の削除

ALTER TABLE テーブル名
DROP COLUMN 列名;

)
ALTER TABLE user;
DROP COLUMN pass;

条件削除

DELETE FROM テーブル名
WHERE 条件式;

)
DELETE FROM user
WHERE user_id > 20;

テーブル全レコードの削除
全レコードを高速に削除されるが、テーブルの構造やインデックスは保持される。
削除後のレコードは復元できない

TRUNCATE TABLE テーブル名;

)
TRUNCATE TABLE user;

追加

データの追加

INSERT INTO テーブル名(列名1,列名2,...)
VALUES(値1,値2,...);

)
INSERT INTO user(name, pass)
VALUES('タロウ', 1234)
      ('ハナコ', 5678);

変更

列の追加
既存のテーブルに新しい列を追加する

ALTER TABLE テーブル名
ADD COLUMN 列名 データ型(桁数) 制約;

) 
ALTER TABLE user
ADD COLUMN emali VARCHAR(50);

列の変更
既存のテーブル内にある列(カラム)のデータ型や制約を変更する操作。
列の名前やデータ型、桁数、制約の変更。

ALTER TABLE テーブル名
MODIFY COLUMN データ型(桁数) 制約;

) 列のデータ型の変更(CHAR(20)VARCHAR(50)
ALTER TABLE user
MODIFY COLUMN pass VARCHAR(50);

) 列に制約を追加
ALTER TABLE user
MODIFY COLUMN email VARCHAR(50) NOT NULL;

列名の変更(MySQL)
CHANGE COLUMNを使用する際は、新しい列名とデータ型を指定する。データ型や制約も同時に変更するので、変更がない場合でも元の情報を際入力が必要。

ALTER TABLE テーブル名
CHANGE COLUMN 旧列名 新列名 データ型(桁数) 制約;

) nameuser_name
ALTER TABLE user
CHANGE COLUMN name username VARCHAR(50) NOT NULL;

更新

データの更新

UPDATE テーブル名
SET 列名1 = 新しい値1, 列名2 = 新しい値2, ...
WHERE 条件;

)
UPDATE user
SET name = 'ジロウ', pass = 9876
WHERE user_id = 1;

選択

どのテーブルか、そのテーブルの表示したい列名を選択するときに使う

全データの選択

SELECT * FROM テーブル名;

)
SELECT * FROM user;

データの選択

SELECT 列名1, 列名2, ...
FROM テーブル名;

)
SELECT user_id,name 
FROM user;

条件選択

SELECT 列名1, 列名2, ...
FROM テーブル名
WHERE 条件

)
SELECT user_id,name
FROM user
WHERE user_id > 50;

データの並び替え

昇順(値が小さい順)
ひらがな(カタカナ)は50音順

SELECT 列名1, 列名2, ...
FROM テーブル名
ORDER BY 列名 ABC;

) IDの値が小さい順に並べられる
SELECT name, pass
FROM user
ORDER BY user_id ABC;

降順(値が大きい順)
ひらがな(カタカナ)は50音順の逆

SELECT 列名1, 列名2, ...
FROM テーブル名
ORDER BY 列名 DESC;

) IDの値が大きい順に並べられる
SELECT name, pass
FROM user
ORDER BY user_id DESC;

命令文

比較演算子

//等しい
SELECT * FROM テーブル名 WHERE 列名 = ;

)
SELECT * FROM users WHERE age = 25;



//等しくない(!= または <>)
SELECT * FROM テーブル名 WHERE 列名 != ;
または
SELECT * FROM テーブル名 WHERE 列名 <> ;

)
SELECT * FROM users WHERE age != 25;



//よりおおきい
SELECT * FROM テーブル名 WHERE 列名 > ;
)
SELECT * FROM users WHERE age > 25;



//以上
SELECT * FROM テーブル名 WHERE 列名 >= ;

)
SELECT * FROM users WHERE age >= 25;



//より小さい
SELECT * FROM テーブル名 WHERE 列名 < ;

)
SELECT * FROM users WHERE age < 25;



//以下
SELECT * FROM テーブル名 WHERE 列名 <= ;

)
SELECT * FROM users WHERE age <= 25;

BETWEEN
指定した範囲内のレコードを選択する

SELECT * FROM テーブル名 WHERE 列名 BETWEEN 値1 AND 値2;

) 年齢が20以上30以下を選択
SELECT * FROM users WHERE age BETWEEN 20 AND 30;

IN
指定したリスト内のいずれかの値と一致するレコードを選択

SELECT * FROM テーブル名 WHERE 列名 IN (値1, 値2, ...);

) 年齢が25.30.35を選択
SELECT * FROM users WHERE age IN (25, 30, 35);

LIKE
パターンに一致するレコードを選択(ワイルドカードを使用)

SELECT * FROM テーブル名 WHERE 列名 LIKE パターン;

) 名前がAで始めるレコードを選択
SELECT * FROM users WHERE name LIKE 'A%';

) 末尾がAで終わるレコードを選択
SELECT * FROM users WHERE name LIKE '%A';

) 文字列の一部にタロウが含まれる
SELECT * FROM users WHERE name LIKE '%タロウ%';

) 特定の文字数に一致(タロウ)
SELECT * FROM users WHERE name LIKE 'タ_ウ
';

)特定の文字以外に一致(あ以外で始まる
SELECT * FROM users WHERE name LIKE '[^]%';

)ちょうど3文字の名前に一致
SELECT * FROM users WHERE name LIKE '___';

IS NULL
NULL値をもつレコードを選択する

SELECT * FROM テーブル名 WHERE 列名 IS NULL;

)
SELECT * FROM users WHERE email IS NULL;

IS NOT NULL
NULL値でないレコードを選択

SELECT * FROM テーブル名 WHERE 列名 IS NOT NULL;

)
SELECT * FROM users WHERE email IS NOT NULL;
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?