3
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 超初心者向け スッキリわかるSQL 1章(はじめてのSQL)

Last updated at Posted at 2021-07-22

はじめに

普段Railsいじってる時に、ログを見てSQLのクエリ発行されてる〜〜。あ〜こうやってデータベースからデータを〜〜って思ってたけど、そもそもSQL文・・・俺ちゃんと理解してんのか!?ってなり、備忘録かねてアウトプットします。本記事はさわりの部分のみ。
本記事は「スッキリわかるSQL入門ドリル」を参考としています。

SQLとは?

データベースを操作する専用言語
おーかっこいい。これを覚えればデータ操作かんたんにできるのね!!

データーベースとは

データベースとは、検索や書き換え、分析などのデータ管理を目的としてた情報を蓄積したものです。

現在広く使われているのがRDB(リレーションデータベース)

複数の表の形式でデータを管理するリレーションデータベースという。
Railsでつかってるやつだね!!理解できる!

ここで衝撃事実。データベースそのものにSQLを送るわけではない。
データベースはファイルなので、SQLで書いた命令文をかいても、検索や書き換えができないんですよ。

んじゃどこに送ってんの?
➩僕たちがSQLを送る相手はデータベース管理システム(DBMS)と呼ばれるプログラム

DBMSは常に稼働しててSQLを待ち受けている。いわば弁慶みたいな存在(黙れ)
DBMSは届いたSQLの内容にしたがって、データーベースファイルの内容を検索したり、書き換えたり
する処理を実行してくれるんです。
そしてDBMSのうち、複数の表形式でデーターを取り扱うものをRDBMSという。
※RDBMSは色々あるらしい。MySQLとかSQLiteとか、製品によって使用できるSQL文の記載方法が若干違うみたいです。

SQLを実際に書いてみる

こんな家計簿テーブルがあります。
スクリーンショット 2021-07-22 18.55.55.png

家計簿テーブルの出金額のみを取得したい時

SELECT 出金額
FROM 家計簿

全ての列を取得したい時
アスタリスクは「すべての列」という意味がある

SELECT *
FROM 家計簿

このように SELECTには目的とする列名。FROMは検索したいテーブル名を記述します。
ちなみに記載順番入れ替えしてみたらエラーとなりました。

条件付きの検索

3000より多い行だけを検索

SELECT 日付, 費目, 出金額
FROM 家計簿
WHERE 出金額 > 3000

データの追加

テーブルにデータを追加
下記1行のレコードが追加される

INSERT INTO 家計簿
VALUES('2013-02-25', '居住費','3月の家賃', 0, 85000)

INSERT INTOで追加先のテーブルを、2行目のVALUESで追加する値を指定しています。

データの更新

UPDATE 家計簿
SET 出金額 = 90000
WHERE 日付 = '2013-02-25'

WHERE(どこの?)で 日付指定して、 UPDATE(更新したい)で家計簿テーブルを
SET(変えたい部分)で 出金額 = 90000と指定

データの削除

更新できるなら削除もできるよね!

DELETE FROM 家計簿
WHERE 日付 = '2013-02-25'

WHERE(どこの?)で 日付指定して、 DELETE FROM(削除)で家計簿テーブルを
これでレコードが消えます。

SELECT、INSERT、UPDATE、DELETEのまとめ。

SELECT文:データの検索
UPDATE文:データの更新
DELETE文:データの削除
INSERT文:データの追加

練習問題

1 入金額50000円に等しい行を検索してすべての列を表示
2 出金額が4000円を超える行をすべて削除
3 2013年2月3日のメモを「カフェラテを購入に」変更する。

回答

1番目
すべての列表示なので SELECTは、アスタリスクです。

SELECT *
FROM 家計簿
WHERE 入金額 = 50000

2番目
WHERE で出金額を指定します。 >で4000以上と記載

DELETE FROM 家計簿
WHERE 出金額 > 4000

3番目
SETで変えたい場所を記載

UPDATE 家計簿
SET メモ = カフェラテを購入
WHERE 日付 = '2013-02-03'

参考記事

  • スッキリわかるSQL入門ドリル
3
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
3
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?