参考文献
https://www.sejuku.net/blog/50197
・SQLとは
リレーショナルデータベースに蓄積したデータを「操作」したり「定義」したりするためのプログラム言語。
・SQLを使用するメリット
①数万数十万数百万の大量のデータを取得・更新・削除・追加できる。
②国際基準化されているのでMySQLやOracleなどデータベースが変わったとしても、同じSQLで操作することができる。
すなわち、1度の習得でどのプログラミング言語でも組み合わせて利用することができる。
・SQLでできること
①大量のデータからデータの取得・登録・更新・削除の操作。
②大量のデータから特定のデータを取得する為の条件検索ができる。
③リレーショナルデータベースを使用してExcelのような【表】形式でデータの取得・登録・保存・削除を行う事ができる。
【例】表形式の為、レコード(行)ごとに特定の条件を指定して操作することができる。
番号 名前 性別
1 hoge 男性
2 hoge2 女性
3 hoge3 男性 ※番号3のデータを取得するように操作することができる!
4 hoge4 男性
ここまででわかる通り、基本的にバックエンドのお仕事でデータを扱わないなんてことはまずあり得ない。
すなわちSQLを使わないことはないといっても過言ではないくらい重要な言語がSQL。
これからこの無知な頭にエンジニアになるうえで必須のSQLについての知識をこの記録を通して植え付けていく。
・そもそもSQLにはどんな種類があるのか?
SQLには大きく分けて3つに分類分けできる
①データの操作 = DML(データ操作言語)
②データの定義 = DDL(データ定義言語)
③データの制御 = DCL(データ制御言語)
それぞれ下記にて読み解いていく。
■DML(データ操作言語)とは?
テーブルの行(レコード)のデータを取得・登録・更新・削除などのデータを操作する文法のことを指す。
読み方は【DML(ディー・エム・エル)】
例として...
・SELECT レコードの取得
・UPDATE レコードの更新
・DELETE レコードの削除
・INSERT レコードの挿入(新規追加)
※代表的な具体例としてSELECT文で確認。
[ 従業員テーブル ]
番号 名前 性別
1 hoge 男性
2 hoge2 女性
3 hoge3 男性 ★番号が「3」のデータを取得するように操作することができる!
4 hoge4 男性
* SELECT 名前 FROM 従業員テーブル WHERE 番号=3
この場合は"hoge3"が取り出せます。
■DDL(データ定義言語)とは?
データベースやデータベースのテーブル作成や定義する文法のことを指す。
読み方は【DDL(ディー・ディー・エル)】
例として...
・CREATE データベースやテーブルを作成
・DROP データベースやテーブルを削除
・ALTER データベースやテーブルを変更
※代表的な具体例として「従業員テーブルには《番号、名前(20文字まで)、性別》がある」ことを定義する際の文法
* CREATE TABLE 従業員テーブル(番号 int, 名前 vachar(20), 性別 char(1));
これで従業員テーブルとテーブル内のカラムが設定される。
もう少し深堀すると、カラムにはデータ型をつける必要がある。
ここでの内容でいえば、int型とchar型、varchar型が設定されている。
注意点として同じ文字列のchar型、varchar型でも文字数が"等しくない"判定をされるケースがある。
詳細についてはここでのSQLの基本とは少し外れるので添付の記事を参考にしてください。
https://xtech.nikkei.com/it/article/COLUMN/20060221/230236/
■DCL(データ制御言語)とは?
データベースに行った変更を確定したり取り消したりする。RDBMSのユーザがデータベースにあるテーブルなどを操作する権限の設定を行える。
読み方は【DCL(ディー・シー・エル)】
例として...
・COMMIT データベースに対して行った変更を確定する
・ROLLBACK データベースに対して行った変更を取り消す
・GRANT ユーザに操作の権限を与える
・REVOKE ユーザから操作の権限を奪う