1
2

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について

Last updated at Posted at 2020-11-14

SQLとは

SQL(Structured Query Language)はデータベース言語と言われるもので
データベースへの指示を伝えるもの。

※データベースとは情報が整理された集まりのことで、代表的なデータベースとしては
Oracle、MySQL、FileMaker、PostgreSQLなどがあります。

SQLにおけるtableについて

以下の表のことをテーブル(table)といい、縦方向をカラム(column)、横方向を行(row)と読んでいます。
image.png

例えばですが、nameがSuzukiとなっているところに関してはidが1、emailがsuzuki@sample.com、Genderがmaleということになります。

表1のようなテーブルを作成するためには

CREATE TABLE users(
id int,
name varchar,
email varchar,
gender varchar
);

というSQL文を書く必要があります。

※VARCHARという単語が出てきていますが、データ桁数が変動する可能性のあるものはVARCHAR、変動しないものはCHAR型というデータ型になります。

上のSQL文でテーブルを作成したあとは実際にテーブルに
id、name、email、genderの情報を入れていくためにはINSERTで以下の通り記述します。

INSERT
INTO テーブル名
VALUES
(1, 'Suzuki', 'suzuki@sample.com', 'male'),
(2, 'Tanaka', 'tanaka@sample.com', 'female'),
(3, 'Sasaki', 'sasaki@sample.com', 'male'),
(4, 'Sato', 'sato@sample.com', 'female'),
(5, 'Ito', 'sato@sample.com', 'male');

INSERTはテーブルにデータを追加する際に使用します。
INTOの後がデータを追加するテーブル名になります。

テーブルの中から特定の条件のデータのみ取得する方法

特定の条件にはてはまるデータだけを抽出する際はWHEREを使います(構文は以下の通り)

SELECT フィールド名(フィールド名とはエクセルでいうセルに該当します)
FROM テーブル名
WHERE 条件式

表1 mysql.png

例えば、今回の表でgender(性別)が男性だけのものを抽出したい場合には

SELECT *
FROM users
WHERE gender == 'male';

とWHEREの後に抽出の条件を記載します。

テーブルにデータを追加する方法

表1に対して、6行目のKatoさんを追加する場合には
INSERT INTO users VALUES(6, 'Kato', 'kato@sample.com', 'female');と記述します。

image.png

ここでもINSERTでデータを挿入します(INTOの後にテーブル名)

テーブルのデータを更新する方法

既存のテーブルの内容を更新する場合以下の通り、記述します。

UPDATE users SET name = 'Yamada' WHERE id = 1;

今はID 1の名前はSuzukiになっていますが、Yamadaに変更できます。

表1 mysql.png

テーブルのデータを削除する方法

既存のテーブルの内容を削除する場合は以下の通り、記述します。

例えば、genderがmaleになっているrow(列)を削除したい場合、

DELETE FROM users WHERE gender == 'male';と記述します。

image.png

削除後は以下のようになります。

image.png

テーブルのデータを昇順又は降順に並びかえる方法

順番の並びかえに関しては、ORDER BYを使います。
昇順の場合はASC、降順はDESCを使います。

idでの降順の場合は
SELECT * FROM users ORDER BY id DESC;と記述します(昇順はASC)

image.png

※ASCはascending order、DESCはdescending orderのことです。

まとめ

今回はSQLの基本的な構文を説明しました。今回紹介した以外にも色々な構文がありますので徐々に使い方に慣れていきましょう。

SQLを実際に記述して、練習などをする場合、repl.itがオススメですので使用してみてください。

リンク先:https://repl.it/

SQLはサーバーサイドを目指す人にとっては、必須の内容なので実際に現場に入る前に必ず基礎知識をつけておきましょう!

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?