🎃

SQL簡単にまとめました。SQL基礎

2023/09/26に公開

SQL簡単まとめ

この記事はSQLはできますが、文法をよく忘れる人、あるいはSQLを長い間していない人のために作った記事です。基本的なSQL知識が必要です。この記事はJOIN文を扱っていません。SQLの基本文法を復習する感じで、この記事を読んでいただければと思います。

目次

  • CREATE
  • ALTER
  • DROP
  • INSERT
  • UPDATE
  • DELETE
  • SELECT

CREATE

DATABASE生成

CREATE DATABASEは文字通り、DATABASEを生成するための構文です。

Syntax

CREATE DATABASE データベース名;

Example

CREATE DATABASE DB;

DATABASE選択

USE文を利用してDATABASEを選択することができます。

Syntax

USEデータベース名;

Example

USE DB;

DATABASEのTABLE生成

USE文を利用して、DATABASEを選択した後、該当DATABASEでTABLEを生成することができます。 CREATE TABLE文を利用します。

Syntax

CREATE TABLE テーブル名 (
フィールド名_1 タイプ_1、
フィールド名_2 タイプ_2、
フィールド名_3 タイプ_3、
...
);

CREATE TABLE文を利用して、PLAYERテーブルを生成する例です。

Example

CREATE TABLE PLAYER (
ID INT、
NAME VARCHAR(30)、
POSITION VARCHAR(20)、
AGE INT、
GOAL INT、
ASSIST INT
);

Constraint: 制約条件

各フィールドに制約をかけることができます。

NOT NULL : 該当フィールドはNULL値ができません。
UNIQUE : 該当フィールドの値は、テーブル内の該当フィールドで唯一である必要があります。 PRIMARY KEY : 当該フィールドはNOT NULLとUNIQUEの制約条件の両方を持ちます。
FOREIGNKEY : 該当フィールドは、他のテーブルの特定フィールド値と一致する必要があります。
DEFAULT : 該当フィールドはデフォルト値を持ちます。

Syntax

CREATE TABLE テーブル名 (
フィールド名_1 タイプ_1 制約条件_1、
フィールド名_2タイプ_2制約条件_2、
フィールド名_3タイプ_3制約条件_3、
...
);

CREATE TABLE文を用いて、フィールドに適切な制約が入ったPLAYERテーブルとTEAMテーブルを生成する例です。

Example

CREATE TABLE TEAM (
ID INT PRIMARY KEY、
NAME VARCHAR(30) NOT NULL、
COUNTRY VARCHAR(20) DEFAULT "Argentina"
);


CREATE TABLE PLAYER (
ID INT PRIMARY KEY、
NAME VARCHAR(30) NOT NULL、
POSITION VARCHAR(20)、
COUNTRY VARCHAR(20) DEFAULT "Argentina"、
AGE INT、
GOAL INT DEFAULT 0、
ASSIST INT DEFAULT 0、
TEAM INT NOT NULLFOREIGN KEY (TEAM)
REFERENCES TEAM (ID)
);

ALTER

ALTER文を利用してTABLEのフィールド修正あるいはDATABASEの文字集合およびコレーションを修正することができます。

ALTER DATABASE

ALTER DATABASEを通じてDATABASEのCHARACTER SET、COLLATEを修正することができます。

Syntax

ALTER DATABASE データベース名 CHARACTER SET=文字集合名;
ALTER DATABASE データベース名 COLLATE=コレーション 名前;

DBデータベースに汎用的に使用するutf8文字セットとutf8_general_ciコレクションを使用してみましょう。

Example

ALTER DATABASE DB CHARACTER SET=uft8 COLLATE=utf8_general_ci;

ALTER TABLE

ALTER TABLEを通じてTABLEのフィールドタイプ、制約条件の修正またはフィールド追加および削除することができます。

ADD : 追加
DROP : 削除
MODIFY COLUMN : 修正
Syntax

ALTER TABLE テーブル名 ADD フィールド名 フィールドタイプ;
ALTER TABLE テーブル名 DROP フィールド名;
ALTER TABLE テーブル名 MODIFY COLUMN フィールド名 フィールドタイプ;

ALTER TABLEを利用して、PLAYERテーブルにADDでフィールドを追加し、DROPでフィールドを除去し、MODIFY COLUMNで制約条件を追加してみます。

Example

ALTER TABLE PLAYER ADD RATING FLOAT(3, 2) DEFAULT 0.00;
ALTER TABLE PLAYER DROP COUNTRY;
ALTER TABLE PLAYER MODIFY COLUMN AGE INT DEFAULT 20;

DROP

DROPを利用してDATABASEやTABLEを削除することができます。

Syntax

DROP DATABASE データベース名;
DROP TABLE テーブル名;

一度PLAYERテーブルとDBデータベースを削除してみます。

Example

DROP TABLE PLAYER;
DROP DATABASE DB;

TRUNCATE TABLE

TRUNCATE TABLEはテーブル内のスキーマは残しておき、テーブル内のデータだけを消そうとする時に使用します。

Syntax

TRUNCATE TABLE テーブル名;

Example

TRUNCATE TABLE PLAYER;

INSERT

INSERT INTO文はデータを挿入する際に使用します。 VALUESに追加するデータを入力すればいいです。 複数入力も可能です。

Syntax

INSERT INTOテーブル名(フィールド名_1、フィールド名_2、フィールド名_3、...)
VALUES (フィールド値_1、フィールド値_2、フィールド値_3、...)(フィールド値_1、フィールド値_2、フィールド値_3)...;

TEAMテーブルにTottenham Hotspurを追加してみます。

Example

INSERT INTO TEAM(ID, NAME, COUNTRY)
VALUES (1, "Tottenham Hotspur", "England");

UPDATE

UPDATE文を利用してデータを修正することができます。
UPDATEでTABLEを選択し、
SETで希望するデータを設定した後、
WHEREでデータ修正を希望する行を選択することができます。

Syntax

UPDATE テーブル名
SET フィールド名_1=フィールド値_1、フィールド名_2=フィールド値_2、···
WHERE フィールド名_1=フィールド値_1、フィールド名_2=フィールド値_2、...;

TEAMテーブルに入れておいたTottenham Hotspurの名前をトッテナムホットスパーに修正してみます。

Example

UPDATE TEAM
SET NAME="トッテナムホットスパー"
WHERE NAME="Tottenham Hotspur";

DELETE

DELETE文を利用してデータを削除することができます。
DELETEFROM文でTABLEを選択し、
WHERE文でデータ削除を希望する行を選択することができます。

Syntax

DELETE FROM テーブル名
WHERE フィールド名_1=フィールド値_1、フィールド名_2=フィールド値_2、...;

TEAMテーブルに入れておいたトッテナムホットスパーを削除してみます。

Example

DELETE FROM TEAM
WHERE NAME="トッテナムホットスパー";

SELECT

SELECT文を利用してデータを照会することができます。
SELECT文で見たいフィールドを選択し、
FROM文でTABLEを選択した後、WHERE文で照会したい行を選択することができます。

Syntax

SELECT フィールド名_1、フィールド名_2、···
FROM テーブル名
WHERE フィールド名_1=フィールド値_1、フィールド名_2=フィールド値_2;

TEAMテーブルにあるデータの中で、COUNTRYがArgentinaである行のみ照会してみます。

Example

SELECT * FROM TEAM
WHERE COUNTRY="Argentina";

まとめ

SQLの基礎になる文法について作成しました。私のようによく忘れる人は、ゆくり読むことでいいと思います。

Discussion