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について引き続き学び、また次回投稿していきたいと思います!!