JSP/Servletのお勉強メモ その5

カスタムタグをやると頭がパンクしそうなので,
とりあえず, やったことのあるデータベースを先にする.
実際にやってみるのが一番, 今回JSP触れてないなあ.

MySQLメモ

データべースの作成を.
つーか久々にやったらMySQLのシェルにすら入れんでめちゃくちゃあせった.
こういうときブログに作業メモしといてよかったと思う.
昔のを読み返して原因分かったもん.

データベースの作成

簡単に.

CREATE TABLE テーブル名(
  列名1 データ型 [列制約],
  列名2 データ型 [列制約],
  列名3 データ型 [列制約],
  ...
  [ , 表制約]
)

[]で囲われている部分は省略可.
列制約を複数記述する場合, スペースで区切る.

SQL主なデータ型

テーブルのデータ型に指定できるもの.

smallint 整数
int 整数
float 少数
double 少数
date 日付 YYYY-MM--DD
datetime 日時 YYYY-MM--DD HH:MM:SS
timestamp タイムスタンプ YYYYMMDDHHMMSS
time 時刻 HH:MM:SS
char 固定長文字列
varchar 可変長文字列
text 可変長文字列
mediumtext 可変長文字列
longtext 可変長文字列

smallint < int
float < double
char = varchar < text < mediumtext < longtext
他はすんなり入ってくるのに何で日付指定の型がこんなあるんだ?
どう使い分けるんだろう?

主な制約

[]で指定できる部分

NOT NULL NULL値を許さない 列制約
UNIQUE 値の重複を許さない 列制約, 表制約
PRIMARY KEY 主キー制約 列制約, 表制約(要NOT NULL)





実際やったこと.
SQLの練習」の解答ってのをまんま入力しただけだけど.
途中入れ間違えて削除とかやったが.

$ mysql -u root -p
mysql> show databases;
mysql> create database examdb;
mysql> use examdb
mysql> create table employee   ...              // 内容は省略, 本の402ページ参照
mysql> create table department ...              // 内容は省略, 本の402ページ参照
mysql> show tables;
mysql> describe employee;                       // テーブル内容の表示
mysql> insert into empoyee values ( ... )       // 内容は省略.
mysql> insert into empoyee values ( ... )       // 内容は省略.
mysql> insert into empoyee values ( ... )       // 内容は省略.
mysql> insert into empoyee values ( ... )       // 内容は省略.
mysql> insert into empoyee values ( ... )       // 内容は省略.
mysql> select * from employee                   // テーブルに入力した内容を全部表示
mysql> delete from employee where number=3;     // テーブルemployeeの中でnumberが3のものを削除.
mysql> select * from employee                   // テーブルに入力した内容を全部表示
mysql> insert into empoyee values ( ... )       // 内容は省略.
mysql> select * from employee                   // テーブルに入力した内容を全部表示
mysql> insert into department values ( ... )       // 内容は省略.
mysql> insert into department values ( ... )       // 内容は省略.
mysql> insert into department values ( ... )       // 内容は省略.

この後は, select文を色々と試してみた.
けっこう面白い.
MySQLについてのみ書いてある本を学校で探してみて組んでみるかな?


やってみて分かったことは, 作成は意外と簡単.
ただ一々, 端末上で文字打つのが面倒.
間違えたらやりなおしだし.
ファイルに書いといて, それを作成とかできんのかな.
いや, 調べたらすぐでてきそう.

参考にしたもの