SQL基礎
これがわからんとSQL触れないレベルの基礎も基本的な基礎を解説していきます。 工業情報数理の内容とリンクしてるところもあります。
そもそもデータベースって何?
データベースとは、膨大なデータを手早く管理するために使われるものです。 例えば図書館の本の検索や貸し出し返却をパソコン上で行ったり、顧客のデータなどを登録し、同時に複数人で閲覧できるようにしているのがデータベースです。
データベースには管理、保存だけではなく、データの抽出を行うことができます。
データの抽出、管理、登録などを行うデータベース操作言語のひとつであるSQLを今回は使っていきます。
データベースを活用するために
データベースを作成するときにはどのようなカラムを作成するかを考える必要があります。カラムとは列のことです。用途に合わせてカラムにデータ型と制約を割り当てて使います。
データ型とは、そこにどのような形式のデータを入れることができるか決める箱のようなものです。
例えば整数型のデータしか入れることができないint型は、文字を格納することができません。逆に文字を格納するvarchar型では文字を入れることができますが、計算をすることはできません。
また制約を用いてその列がどのような状態になっていなくてはいけないかを指定することができます。例えば絶対に入力されていないと困る列にはNot Null制約をつけることで、空白になっていた場合エラーが出て登録できないようにできます。
主キー(プライマリキー)
主キーとは、たくさん存在するデータの中の1つを選ぶために使う超絶大切なものです。
例を挙げると、学校で使ってる学籍番号は唯一無二のものです。同じ番号が割り当てられた人は誰もいません。逆に名前だと同姓同名の人がいる可能性があります。 とある学年、とあるクラスに所属する40番の人を選ぶ場合、名前で検索するとほかのクラスの同じ名前の人も出てくる可能性があります。
また、成績を入力する際に名前だけで指定すると別の誰かの成績を書き換えてしまうことになります。
SQLで一つのデータを選択するために主キーは必要です。
よく使うデータ型一覧
データ型 | 種類 |
---|---|
int | 整数を入力できる |
Varchar | 文字を入力できる |
date | 年4けた/月2けた/日2けた |
データベースとスキーマとテーブルってなんなのさ
テーブル
簡単に言っちゃえばExcelで作るような表がぶち込まれているもの。
スキーマ
MySQLはデータベースとスキーマは同じ意味として解釈される。別のSQL言語だとデータベースの中にスキーマがあってその中にテーブルがおいてあるという構造になっている。
MySQLはスキーマ名=データベース名になっている