2
3

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の基礎について学ぶ#01

Last updated at Posted at 2021-01-05

SQLの基礎について学ぶ#01

SQL
▶データベースやデータを操作するための専門言語。SQLで書かれた命令文(SQL文)をDBMSに送信することでデータの検索、更新、削除ができる。SQLの文法は使用されるDBMS製品によって若干異なるが、基本的な部分は同じである。

DBMS(データベース管理システム)
▶MySQL, MariaDB, PostgreSQLなど商用製品からOSSまで幅広く存在する。データベースはDBMSによって管理される。

RDB(リレーショナルデータベース)
▶表形式で管理されるデータベースのことを特にいう。表(テーブル)はデータの要素となる行(レコード)と列(カラム)からなる。

0.accountテーブル

今回はaccountテーブルでSQLの基本文法をまとめたいと思います!

date(日付) name(項目名) price(金額)
2020-12-03    お弁当   9000
2021-01-03    飲み代   3000
2021-05-22    電車代   3000
2021-03-14    日用品   2000
2021-04-02    ローン   4000
2021-01-12    医療費   3000

1. 金額を取得する

SELECT price FROM account

▶SELECTで取得するカラムを指定。FROMでテーブルを指定。

結果

price
9000
3000
3000
2000
4000
3000

2. すべての列を取得する

SELECT * FROM account   /* 「*アスタリスク」はすべてを列を意味する */

▶SELECT * ですべての列を指定。

結果

date name price
2020-12-03    お弁当   9000
2021-01-03    飲み代   3000
2021-05-22    電車代   3000
2021-03-14    日用品   2000
2021-04-02    ローン   4000
2021-01-12    医療費   3000
▶現在テーブルに存在するすべての行を取得

3. 金額が3000円に等しい行を取得する

SELECT * FROM account WHERE price = 3000 /* 「*アスタリスク」はすべてを列を意味する */

▶SELECT * ですべての行を指定。FROMでaccountテーブルを指定して金額3000円を満たす行をWHEREで取得。

結果

date name price
2021-01-03    飲み代   3000
2021-05-22    電車代   3000
2021-01-12    医療費   3000

▶[WHERE 金額 > 3000]とすると3000円を超える金額の行を取得
▶[WHERE 金額 < 3000]とすると3000円を超えない金額の行を取得

4. データを追加する

INSERT INTO account VALUES ('2021-04-04', 'お茶', 900)

INSERT INTOで追加先のテーブルを指定、VALUESで追加データを指定。

結果

date name price
2020-12-03    お弁当   9000
2021-01-03    飲み代   3000
2021-05-22    電車代   3000
2021-03-14    日用品   2000
2021-04-02    ローン   4000
2021-01-12    医療費   3000
2021-04-04    お茶   900
▶一番下に新しい行が追加

5. データを更新する

UPDATE account SET price = 1000 WHERE date = '2021-04-04'

UPDATEで更新するテーブルを指定。WHEREで更新する行を指定して、SETで更新するカラムと内容を指定。

結果

date name price
2020-12-03    お弁当   9000
2021-01-03    飲み代   3000
2021-05-22    電車代   3000
2021-03-14    日用品   2000
2021-04-02    ローン   4000
2021-01-12    医療費   3000
2021-04-04    お茶   1000
▶お茶の金額が1000円に更新

5. データを削除する

DELETE FROM account WHERE date = '2021-04-04'

結果

date name price
2020-12-03    お弁当   9000
2021-01-03    飲み代   3000
2021-05-22    電車代   3000
2021-03-14    日用品   2000
2021-04-02    ローン   4000
2021-01-12    医療費   3000
▶日付2021-04-04に登録されたお茶の行が削除

まとめ

命令の動作
① SELECT文:ある条件を満たす行を探して、その行の内容を取得
② UPDATE文:ある条件を満たす行を探して、その行の内容を置き換える
③ DELETE文:ある条件を満たす行を探すして、その行の内容を削除

 SQLについて引き続き学び、また次回投稿していきたいと思います!!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?