データベースの作成
CREATE DATABASE
8
CREATE DATABASE【データベース名】;
CREATE DATABASE dbclass DEFAULT
CHARACTER SET UTF8;
SHOW DATABASES;
例
⽇本語を扱う場合は,"DEFAULT CHARACTER SET UTF8"を追加し,
⽂字コードをUTF8に指定すると良い
例;プロ野球選⼿の所属テーブル
11
player
_no
name home
birth
_date
G18 杉内俊哉福岡 1980-10-30
G19 菅野智之 神奈川 1989-10-11
T14 能⾒篤史 兵庫 1979-5-28
T19 藤浪晋太郎 ⼤阪 1994-4-12
C15 ⿊⽥博樹 ⼤阪 1975-2-10
C18 前⽥健太 ⼤阪 1988-4-11
player
team
_id
name rank
G 巨⼈ 1
T 阪神 2
C 広島 3
team
player
_no
team
_id
year
G18 G 2012
G19 G 2013
T14 T 2005
T19 T 2013
C15 C 2015
C18 C 2007
affiliation
*manaba+R上の"player.sql"内のSQL⽂を実⾏することで復元できる
12.
CREATE TABLE player(
player_noCHAR(3) PRIMARY KEY,
name TEXT NOT NULL,
home CHAR(3) NOT NULL,
birth_date DATE NOT NULL);
CREATE TABLE
例;playerテーブルの作成
12
player
_no
name home
birth
_date
player
13.
CREATE TABLE team(
team_idCHAR(1) PRIMARY KEY,
name CHAR(6) NOT NULL,
rank INT);
CREATE TABLE
例;teamテーブルの作成
13
team
_id
name rank
team
14.
CREATE TABLE affiliation(
player_noCHAR(3)
REFERENCES player(player_no),
team_id CHAR(1),
year INT,
PRIMARY KEY(player_no, team_id),
FOREIGN KEY(team_id)
REFERENCES team(team_id));
CREATE TABLE
例;affiliationテーブルの作成
14
player
_no
team
_id
year
affiliation
参照整合性制約とは
22
player
_no
name home
birth
_date
G18 杉内俊哉福岡 1980-10-30
G19 菅野智之 神奈川 1989-10-11
T14 能⾒篤史 兵庫 1979-5-28
T19 藤浪晋太郎 ⼤阪 1994-4-12
C15 ⿊⽥博樹 ⼤阪 1975-2-10
C18 前⽥健太 ⼤阪 1988-4-11
player
team
_id
name rank
G 巨⼈ 1
T 阪神 2
C 広島 3
team
player
_no
team
_id
year
G18 G 2012
G19 G 2013
T14 T 2005
T19 T 2013
C15 C 2015
C18 C 2007
affiliation
player_no CHAR(3)
REFERENCES player(player_no)
FOREIGN KEY(team_id)
REFERENCES team(team_id))
参照
参照
外部キー外部キー
参照先のカラムにない値を設定
しようとするとエラーになる.
23.
データの登録
INSERT INTO
23
INSERT INTO【テーブル名】
VALUES(【値】,【値】,...);
INSERT INTO 【テーブル名】
(【カラム名】,【カラム名】,...)
VALUES(【値】,【値】,...);
INSERT INTO 【テーブル名】
SET 【カラム名】=【値】,【カラム名】=【値】,...;
本⽇学習したSQLキーワード
35
ALL DROP TABLEORDER BY
ALTER TABLE ... ADD DROP USER PRIMARY KEY
ALTER TABLE ... CHANGE EXISTS REFERENCES
ALTER TABLE ... DROP FOREIGN KEY REVOKE
ALTER TABLE ... MODIFY FULL OUTER JOIN RIGHT OUTER JOIN
ALTER TABLE ... RENAME AS GRANT SELECT
ANY GROUP BY SHOW COLUMNS FROM
AS HAVING SHOW DATABASES
ASC IN SHOW TABLES
avg INNER JOIN SOME
BETWEEN INSERT INTO sum
count JOIN UNIQUE
CREATE DATABASE LEFT OUTER JOIN UPDATE
CREATE TABLE LIKE USE
CREATE VIEW LIMIT WHERE
CROSS JOIN max
DELETE FROM min
DESC NATURAL JOIN
DISTINCT NOT EXISTS
DROP DATABASE NOT NULL
36.
これまでに学習したSQLキーワード
36
ALL DROP TABLEORDER BY
ALTER TABLE ... ADD DROP USER PRIMARY KEY
ALTER TABLE ... CHANGE EXISTS REFERENCES
ALTER TABLE ... DROP FOREIGN KEY REVOKE
ALTER TABLE ... MODIFY FULL OUTER JOIN RIGHT OUTER JOIN
ALTER TABLE ... RENAME AS GRANT SELECT
ANY GROUP BY SHOW COLUMNS FROM
AS HAVING SHOW DATABASES
ASC IN SHOW TABLES
avg INNER JOIN SOME
BETWEEN INSERT INTO sum
count JOIN UNIQUE
CREATE DATABASE LEFT OUTER JOIN UPDATE
CREATE TABLE LIKE USE
CREATE VIEW LIMIT WHERE
CROSS JOIN max
DELETE FROM min
DESC NATURAL JOIN
DISTINCT NOT EXISTS
DROP DATABASE NOT NULL