構文まとめ(初心者向け)
職業訓練校(Webプログラマー養成科)の授業で習ったMySQLの構文をまとめました。
「構文」と「その後に表示される文章」を分けて、2つのボックスに書いています。
ポイントとなるワードは大文字にしていますが、小文字でもOKです。
※現在レイアウトがズレているため、後日画像に変えます(たぶん)
データベースを作成する
データベース「idol」(アイドル)を作成しました。
データベースを見る
| Database |
+——————————–+
| information_schema |
| music |
| performance_schema|
| idol |
+——————————–+
4 rows in set (0.00 sec)
データベースを見ると、新規作成した「idol」が入っていることがわかります。
作成したデータベースを使う
まず初めに、何のデータベースを使うか記入します。
テーブルの中身を見る
データベース「idol」の中のテーブルの中身はまだ空っぽです。
テーブルを作る
データベース「idol」の中のテーブルの中身はまだ空っぽです。
- テーブル名:「nogizaka」
- フィールド名:「no」、「name」、「birth」
- no(ナンバー):INT型=整数型に。整数を格納できる。
- name(名前):可変長文字列のバーチャー型。最大10文字まで。
- birth(誕生日):日付型、DATE型
▽ バーチャー型、チャー型についての記事はこちら

再度テーブルの中身を見る
| Tables_in_idol |
+———————-+
| nogizaka |
+———————-+
データベース「idol」の中に、テーブル名「nogizaka」ができました。
テーブルの構造を見る
| Field | Type | Null | Key | Default | Extra |
+——-+————-+——+—–+———+——-+
| no | int(11) | NO | | NULL | |
| name | varchar(10) | YES | | NULL | |
| birth | date | YES | | NULL | |
+——-+————-+——+—–+———+——-+
テーブル名「nogizaka」の構造を見ることができます。
先ほど記入したのが no INT, name VARCHAR(10), birth DATE
→ フィールド名がそれぞれ「no」「name」「birth」になっています。
テーブル構造を変更する
Records: 0 Duplicates: 0 Warnings: 0
「nogizaka」テーブル内のフィールド「no」にプライマリーキー(主キー)を追加しました。
Records: 0 Duplicates: 0 Warnings: 0
新たなフィールド「address」を追加しました。
バーチャー型で、40バイト分格納することができます。
フィールド名「address」のVARCHARを40から60に変更しています。
再度テーブルの構造を見る
| Field | Type | Null | Key | Default | Extra |
+———+————-+——+—–+———+——-+
| no | int(11) | NO | PRI | NULL | |
| name | varchar(10) | YES | | NULL | |
| birth | date | YES | | NULL | |
| address | varchar(60) | YES | | NULL | |
+———+————-+——+—–+———+——-+
修正したテーブル「nogizaka」を再度みてみると、このような構造に変わりました。
- フィールド「no」にプライマリーキーを追加した
- 新たなフィールド「address」を追加した
- addressのvarcharの値を40から60に変更した
削除する(フィールド)
samamichiテーブルから「address」フィールドを削除しました。
mysql> SHOW FIELDS FROM nogizaka;を入力して、削除されているか確認することもできます。
削除する(テーブル/データベース)
テーブル「nogizaka」を削除しました。
そのあとに、show fields from nogizaka;と入力すると、
Table ‘nogizaka’ doesn’t existというエラーが出ると思います。
データベース「idol」を削除しました。
データを追加する
mysql> INSERT INTO nogizaka VALUES (2, ‘齋藤飛鳥’,’1998-08-11,’ashu@xxxx.com’);
テーブル「nogizaka」にデータを追加していきます。
4つのフィールド「no」「name」「birth」「address」に対応するように入力しています。
※valuesのsが抜けないように注意
すべてのデータを見る
「*」にすることで、テーブル「nogizaka」に追加したすべてのデータを表示させることができます。
一部のフィールドだけを選ぶ
一部のデータだけが欲しい時は、このように書きます。
複数ある場合は、,(カンマ)で区切ります。
レコードの書き換え
誕生日を「1998-08-11」から「1998-08-10」に書き換えています。
このとき、WHERE no = 2;で、「no」が「2」の「齋藤飛鳥」のレコードのみを書き換えています。
★これを書いていないと、ほかの人の誕生日もすべて1998-08-10に代わってしまいます。
レコードの削除
noが「1」のレコードを削除しています。
ここで、「delete」と「drop」はどう違うのか?
delete文は、テーブル内のデータを全削除 or 条件に一致したデータを削除します。
前述したdrop文は、テーブル内のオブジェクトを完全に削除します。
完全に削除するのでロールバック(元に戻すこと)ができません。
テーブル構造事消してしまうので、表構造も残りません。
▽ SQL文 DELETE・TRUNCATE・DROPの違い