04データベースの作成(備忘録)→ > 01p > 02p > 03p > 04p > 05p > END
04データベースの作成(p37)
(1)《データベースを作成する》
(2)《作成したデータベースを確認する》
(3)《使うデータベースを指定する》
(4)《テーブル「tb1」を作る》
(5)《すべてのテーブルを表示する》
(6)《テーブルのカラムの構造を確認する》
(7)《テーブにデータを挿入する》
(8)データを表示する
(9)《(準備)テーブル「tb1」のコピー》p53
<まとめ>
<チェック>
<練習問題>
END
04 データベースの作成
データベースの作成→テーブルの作成→データの挿入→データの確認、そしてテーブルを改造し、コピー、そして削除する方法です。
☆CHAPTER03⇒MySQLモニタ
★CHAPTER04⇒データベースの作成
☆CHAPTER05⇒データ型とデータの入力
☆CHAPTER06⇒テーブルを改造する
☆CHAPTER07⇒テーブルやレコードをコピー・削除する
★CHAPTER04⇒データベースの作成(p37)★
データベースの作成→テーブルの作成→データの挿入→データの確認といった、テーブルの作成までの一連の流れを勉強します。
(1)《データベースを作成する》
(1-1)データベースの作成
●書式⇒データベースを作成
CREATE DATABASE データベース名; |
●操作手順
①次のように入力して、データベースを作成する CREATE DATABASE db1; |
【実行結果】
mysql> CREATE DATABASE db1; Query OK, 1 row affected (0.28 sec) |
(2)《作成したデータベースを確認する》
(2-1)データベースの確認
●書式⇒データベースの一覧を表示する
SHOW DATABASES; |
●操作手順
①次のように入力して、作成したデータベースを確認する SHOW DATABASES; |
【実行結果】
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | cdcol | | db1 | | mysql | | phpmyadmin | | test | | webauth | +--------------------+ 7 rows in set (0.78 sec) |
(2-2)「test」と「mysql」データベース
(3)《使うデータベースを指定する》
(3-1)データベースの指定
●書式⇒使用するデータベースを指定する
USE データベース名; |
●操作手順
(データベースを「db1」を使うことを指定する) USE db1; |
【実行結果】
mysql> USE db1; Database changed |
●書式⇒現在使っているデータベースを表示する
SELECT DATABASE(); |
【実行結果】
mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | db1 | +------------+ 1 row in set (0.02 sec) |
(4)《テーブル「tb1」を作る》
(4-1)カラムとフィールド
(4-2)データ型
●作成するテーブルの構造 p42
(4-3)テーブルの作成
●書式⇒テーブルを作成する
CREATE TABLE テーブル名 (カラム1 データ型1,カラム2 データ型2・・・); |
●テーブル構造 p43
●操作手順
(MySQLモニタで「db1」を使用している状態で、次のように入力する) CREATE TABLE tb1(bang VARCHAR(10),nama VARCHAR(10),tosi INT); |
【実行結果】
mysql> CREATE TABLE tb1(bang VARCHAR(10),nama VARCHAR(10),tosi INT); Query OK, 0 rows affected (0.25 sec) |
(5)《すべてのテーブルを表示する》
(5-1)すべてのテーブルの表示
●書式⇒すべてのテーブルの表示
SHOW TABLES; |
●操作手順
(次のように入力して、作成したテーブル「td1」の存在を確認する) SHOW TABLES; |
【実行結果】
mysql> SHOW TABLES; +---------------+ | Tables_in_db1 | +---------------+ | tb1 | +---------------+ 1 row in set (0.05 sec) mysql> |
(6)《テーブルのカラムの構造を確認する》
(6-1)テーブルのカラム構造の確認
●書式⇒テーブルのカラム構造の確認
DESC テーブル名; |
●テーブルの構造 p46
●操作手順
①次のように入力して、テーブル「td1」の構造を表示する DESC tb1; |
【実行結果】
mysql> DESC tb1; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | bang | varchar(10) | YES | | NULL | | | nama | varchar(10) | YES | | NULL | | | tosi | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.84 sec) mysql> |
(7)《テーブにデータを挿入する》
(7-1)データの挿入
●書式⇒データをテーブに挿入する
INSERT INTO テーブル名 VALUES(データ1,データ2・・・); |
●実行される内容 p48
●操作手順
①次のように入力して、「td1」のカラムbang,nama,tosiに、それぞれ'A101','佐藤',40のデータを入力する→2件目以降続けて入力する INSERT INTO tb1 VALUES('A101','佐藤',40); |
【実行結果】
mysql> INSERT INTO tb1 VALUES('A101','佐藤',40); Query OK, 1 row affected (0.26 sec) mysql> |
(7-2)「tb1」に2件目のデータを追加する
●実行される内容 p49
(7-3)カラムを指定してデータを挿入する
●書式⇒カラムを指定してデータをテーブに挿入する
INSERT INTO テーブル名 (カラム1,カラム2・・・) VALUES(データ1,データ2・・・); |
●実行される内容 p50
●操作手順
(次のように入力して、4件目のデータを挿入する) INSERT INTO tb1 (tosi,nama,bang) VALUES(23,'渡辺','A104'); |
【実行結果】
未処理 |
一度にデータを入力する
●書式⇒複数のデータをテーブに挿入する
INSERT INTO テーブル名 (カラム1,カラム2・・・) VALUES(データ1,データ2・・・),(データ1,データ2・・・),(データ1,データ2・・・)・・・; |
●操作手順
INSERT INTO tb1 (bang,nama,tosi) VALUES ('A101','佐藤',40),('A102','高橋',28),('A103','中川',20),('A104','渡辺',23),('A105','西沢',35); |
【実行結果】
mysql> INSERT INTO tb1 (bang,nama,tosi) VALUES ('A101','佐藤',40),('A102','高橋'
,28),('A103','中川',20),('A104','渡辺',23),('A105','西沢',35); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> |
(8)データを表示する
(8-1)データの表示
●書式⇒カラムごとのデータを表示する
SELECT カラム名1,カラム名2・・・FROM テーブル名; |
●操作手順
①テーブル「tb1」のカラム「bang」と「nama」を表示の場合 SELECT bang,nama FROM tb1; ②すべてのレコードを表示の場合 SELECT * FROM tb1; |
①の【実行結果】
mysql> SELECT bang,nama FROM tb1; +------+------+ | bang | nama | +------+------+ | A101 | 佐藤 | | A101 | 佐藤 | | A102 | 高橋 | | A103 | 中川 | | A104 | 渡辺 | | A105 | 西沢 | +------+------+ 6 rows in set (0.44 sec) mysql> |
②の【実行結果】
mysql> SELECT * FROM tb1; +------+------+------+ | bang | nama | tosi | +------+------+------+ | A101 | 佐藤 | 40 | | A101 | 佐藤 | 40 | | A102 | 高橋 | 28 | | A103 | 中川 | 20 | | A104 | 渡辺 | 23 | | A105 | 西沢 | 35 | +------+------+------+ 6 rows in set (0.00 sec) mysql> |
(9)《(準備)テーブル「tb1」のコピー》p53
●テーブル「tb1」をコピーして「tb1A」「tb1B」「tb1C」を作成します。
※はじめる際は、使用するデータベースを指定することをわすれずに・・・ (データベースを「db1」を使うことを指定する) USE db1; CREATE TABLE tb1A SELECT * FROM tb1; CREATE TABLE tb1B SELECT * FROM tb1; CREATE TABLE tb1C SELECT * FROM tb1; |
●コピーの「tb1A」「tb1B」「tb1C」内容。
mysql> SELECT * FROM tb1A; +------+------+------+ | bang | nama | tosi | +------+------+------+ | A101 | 佐藤 | 40 | | A101 | 佐藤 | 40 | | A102 | 高橋 | 28 | | A103 | 中川 | 20 | | A104 | 渡辺 | 23 | | A105 | 西沢 | 35 | +------+------+------+ 6 rows in set (0.00 sec) mysql> SELECT * FROM tb1B; +------+------+------+ | bang | nama | tosi | +------+------+------+ | A101 | 佐藤 | 40 | | A101 | 佐藤 | 40 | | A102 | 高橋 | 28 | | A103 | 中川 | 20 | | A104 | 渡辺 | 23 | | A105 | 西沢 | 35 | +------+------+------+ 6 rows in set (0.00 sec) mysql> SELECT * FROM tb1C; +------+------+------+ | bang | nama | tosi | +------+------+------+ | A101 | 佐藤 | 40 | | A101 | 佐藤 | 40 | | A102 | 高橋 | 28 | | A103 | 中川 | 20 | | A104 | 渡辺 | 23 | | A105 | 西沢 | 35 | +------+------+------+ 6 rows in set (0.00 sec) |
<まとめ>
●データベースを作成する手順
●テーブルを作成する手順
●カラム構造を表示する方法
●レコードを挿入する方法
●全レコードを表示する方法
<チェック>
□『CREATE DATABASE…』の使い方を理解している
□『CREATE TABLE…』の使い方を理解している
□『DESC…』の使い方を理解している
□『INSERT INTO…』の使い方を理解している
□『SELECT * FROM…』の使い方を理解している
<練習問題>
問題1 1行の命令で、テーブル「td1」の全レコードを2回表示させる。
問題2 ユーザーの情報は、データベース「mysql」の「user」テーブルのカラム「user」にあります。この情報を表示してください。
<解答>
問題1
SELECT * FROM tb1;SELECT * FROM tb1;
【実行結果】
mysql> SELECT * FROM tb1;SELECT * FROM tb1; +------+------+------+ | bang | nama | tosi | +------+------+------+ | A101 | 佐藤 | 40 | | A101 | 佐藤 | 40 | | A102 | 高橋 | 28 | | A103 | 中川 | 20 | | A104 | 渡辺 | 23 | | A105 | 西沢 | 35 | +------+------+------+ 6 rows in set (0.00 sec) +------+------+------+ | bang | nama | tosi | +------+------+------+ | A101 | 佐藤 | 40 | | A101 | 佐藤 | 40 | | A102 | 高橋 | 28 | | A103 | 中川 | 20 | | A104 | 渡辺 | 23 | | A105 | 西沢 | 35 | +------+------+------+ 6 rows in set (0.00 sec) mysql> |
問題2
USE mysql;
SELECT user FROM user;
【実行結果】
mysql> USE mysql; Database changed mysql> SELECT user FROM user; +------+ | user | +------+ | pma | | root | +------+ 2 rows in set (0.50 sec) mysql> |