MySQL_info
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
** ユーザー登録 [#g84160e4]
*** mysql へのログイン [#z28b4175]
- インストール時に設定される mysql という名前のデータベー...
- mysql にログインする時には -u (アカウント名) -p でアカ...
- 現在の環境では root (システムの root とは別)に対してパ...
[munakata@charisma yellowpages]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.0.27
Type 'help;' or '\h' for help. Type '\c' to clear the bu...
mysql> select user,host,password from mysql.user;
+------+--------------------+------------------+
| user | host | password |
+------+--------------------+------------------+
| root | localhost | 5eeabd381db11d2b |
| root | charisma.hmuna.com | 5eeabd381db11d2b |
| | charisma.hmuna.com | |
| | localhost | |
+------+--------------------+------------------+
4 rows in set (0.00 sec)
mysql>
*** パスワードの設定 [#w6d8c5e6]
- パスワードの設定のしかた
mysql> set password for root@localhost=password('xxxxxxx...
** 表示系 [#x76d5186]
*** データベース名の表示 [#bba2a426]
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| peewee |
+----------+
2 rows in set (0.02 sec)
*** データベースの選択 [#a96b0bc6]
mysql> use peewee
Database changed
*** データ-ベース内のテーブルの表示 [#rb74be13]
mysql> show tables;
+------------------+
| Tables_in_peewee |
+------------------+
| image |
| type_info |
+------------------+
2 rows in set (0.00 sec)
*** テーブル内のカラムの表示 [#hb4f361d]
mysql> show columns from image;
+--------------+---------------+------+-----+---------+-...
| Field | Type | Null | Key | Default | ...
+--------------+---------------+------+-----+---------+-...
| file_id | varchar(20) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
| pict_size | int(11) | YES | | NULL | ...
| pict_quality | int(11) | YES | | NULL | ...
| pict_reality | int(11) | YES | | NULL | ...
| pict_date | date | YES | | NULL | ...
| pict_select | enum('N','Y') | YES | | NULL | ...
+--------------+---------------+------+-----+---------+-...
7 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** データベースの初期化(本体、テーブル) [#o6209aa7]
*** データベースの新規作成 [#zd6a0311]
mysql> create database new;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| new |
| peewee |
+----------+
3 rows in set (0.00 sec)
*** データベースの削除 [#z1b214fd]
mysql> drop database new;
Query OK, 1 row affected (0.00 sec)
*** データの型 (SQL 標準) [#aeedd937]
+ 文字型
|型|最大文字数|使用サイズ|h
|CHAR(文字数)|RIGHT:255バイト|指定文字数+1バイト|
|BINARY(文字数)|RIGHT:255バイト|文字列長+1バイト|
|VARCHAR|RIGHT:255バイト|文字列長+1バイト|
|TINYBLOB / TINYTEXT|RIGHT:255バイト|文字列長+1バイト|
|BLOB / TEXT|RIGHT:64kバイト|文字列長+2バイト|
|MEDIUMBLOB / MEDIUMTEXT|RIGHT:16Mバイト|文字列長+3バイ...
|LONGBLOB / LONGTEXT|RIGHT:4Gバイト|文字列長+4バイト|
+ 数値型
|型|バイト|CENTER:最小値|CENTER:最大値|h
|TINYINT|CENTER:1|-128|127|
|SMALLINT|CENTER:2|-32768|32767|
|MEDIUMINT|CENTER:3|-8388608|8388607|
|INT|CENTER:4|-2147483648|2147483647|
|BIGINT|CENTER:8|-9223372036854775808|9223372036854775807|
+日付時刻型
|型|表示形式|範囲|説明|h
|DATE|YYYY-MM-DD|1000-01-01 〜 9999-12-31|3バイト日付型|
|DATETIME|YYYY-MM-DD HH:MM:SS|1000-01-01 00:00:00〜 9999-...
|TIME|HHH:MM:SS|-838:59:59〜 838.59.59|3バイト時刻型|
|YEAR(2)|YY|70 〜 69(1970-2069)|1バイト年型|
|YEAR(4)|YYYY|1901 〜 2155,0000|1バイト年型|
|TIMESTAMP[2]|YY|||
|TIMESTAMP[4]|YYMM|~|~|
|TIMESTAMP[6]|YYMMDD|~|~|
|TIMESTAMP[8]|YYYYMMDD|~|~|
|TIMESTAMP[10]|YYMMDDHHMM|~|~|
|TIMESTAMP[12]|YYMMDDHHMMSS|~|~|
|TIMESTAMP[14]|YYYYMMDDHHMMSS|~|~|
TIMESTAMP型のフィールドはレコードが更新される時に自動的...
複数の TIMESTAMP フォールドがある場合には最初のものだけ...
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** テーブルの新規作成 (カラム構造の宣言) [#t6394e22]
'' 構文 COLOR(RED){CREATE TABLE テーブル名(カラム1 カ...
mysql> create table type_info (type_id int, type_def var...
Query OK, 0 rows affected (0.03 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** 検索を高速化させる為にインデックスを付加する [#y30751...
''COLOR(GREEN){新規にテーブルを作成する時に INDEX を指定...
mysql> create table pict_info(file_name varchar(20),
-> category int,
-> quarity int,
-> reality int,
-> index (file_name));
Query OK, 0 rows affected (0.00 sec)
mysql> show columns from pict_info;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| file_name | varchar(20) | YES | MUL | NULL | |
| category | int(11) | YES | | NULL | |
| quarity | int(11) | YES | | NULL | |
| reality | int(11) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
''COLOR(GREEN){作成済みのテーブルに INDEX を追加で指定す...
mysql> alter table file_dir add index (file_name);
Query OK, 87 rows affected (0.00 sec)
Records: 87 Duplicates: 0 Warnings: 0
mysql> show columns from file_dir;
+-----------+--------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-----------+--------------+------+-----+---------+-----...
| file_name | varchar(40) | YES | MUL | NULL | ...
| size | int(11) | YES | | NULL | ...
| data | datetime | YES | | NULL | ...
| dir | varchar(100) | YES | | NULL | ...
+-----------+--------------+------+-----+---------+-----...
4 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** カラム構造(データベースメンバー)の表示 [#w2fc561d]
mysql> show columns from image;
+--------------+---------------+------+-----+---------+-...
| Field | Type | Null | Key | Default | ...
+--------------+---------------+------+-----+---------+-...
| file_id | varchar(20) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
| pict_size | int(11) | YES | | NULL | ...
| pict_quality | int(11) | YES | | NULL | ...
| pict_reality | int(11) | YES | | NULL | ...
| pict_date | date | YES | | NULL | ...
| pict_select | enum('N','Y') | YES | | NULL | ...
+--------------+---------------+------+-----+---------+-...
7 rows in set (0.00 sec)
*** カラムの削除 [ALTER TABLE xxx DROP yyy] [#pc1493b6]
mysql> alter table type_info drop type_id;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
*** カラムの追加 [ALTER TABLE xxx ADD yyy zzz] [#s360afbb]
mysql> alter table type_info add pict_type int;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show columns from type_info;
+-----------+--------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-----------+--------------+------+-----+---------+-----...
| type_def | varchar(100) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
+-----------+--------------+------+-----+---------+-----...
2 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** レコード登録 [#o85abb81]
*** レコード登録(内容を指定しないカラムは NULL に初期化...
mysql> insert into image (file_id, pict_type, pict_size)...
-> ('123456.jpg',1,1024);
Query OK, 1 row affected (0.03 sec)
*** ファイルからのレコードの一括登録 [LOAD DATA 文] [#...
+ ''COLOR(GREEN){カラムの構造とマッチしたデータが TAB で...
++ COLOR(BLUE){最初にデータを読み込ませるテーブルを準備す...
mysql> create table file_dir (file_name varchar(40),
-> size int,
-> data datetime,
-> dir varchar(100));
Query OK, 0 rows affected (0.01 sec)
mysql> show columns from file_dir;
+-----------+--------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-----------+--------------+------+-----+---------+-----...
| file_name | varchar(40) | YES | | NULL | ...
| size | int(11) | YES | | NULL | ...
| data | datetime | YES | | NULL | ...
| dir | varchar(100) | YES | | NULL | ...
+-----------+--------------+------+-----+---------+-----...
4 rows in set (0.00 sec)
++ COLOR(BLUE){読み込ませる為に作成したデータのテクストフ...
[root@rh01 root]# cat /home/munakata/dir_data.txt
20100000.jpg 40236 2002/07/05 09:35 C:\...
20100001.jpg 45323 2002/08/06 00:35 C:\...
20100002.jpg 44296 2002/07/05 09:36 C:\...
20100003.jpg 43769 2002/07/05 09:41 C:\...
20100004.jpg 38132 2002/07/05 09:37 C:\...
20100005.jpg 40826 2002/08/14 18:20 C:\...
20100006.jpg 42708 2002/08/06 00:36 C:\...
20100007.jpg 46642 2002/08/06 00:36 C:\...
20100008.jpg 55897 2002/08/06 00:30 C:\...
20100009.jpg 44572 2002/08/06 00:31 C:\...
20100010.jpg 41688 2002/08/06 00:31 C:\...
++ COLOR(BLUE){クライアント上のファイル(local file)をテ...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir;
Query OK, 87 rows affected (0.00 sec)
Records: 87 Deleted: 0 Skipped: 0 Warnings: 0
++ COLOR(BLUE){レコードが正しく書き込まれたことを確認}}
mysql> select * from file_dir;
+--------------+--------+---------------------+---------...
| file_name | size | data | dir ...
+--------------+--------+---------------------+---------...
| 20100000.jpg | 40236 | 2002-07-05 09:35:00 | C:datamy...
| 20100001.jpg | 45323 | 2002-08-06 00:35:00 | C:datamy...
| 20100002.jpg | 44296 | 2002-07-05 09:36:00 | C:datamy...
途中省略
| 20100085.jpg | 72163 | 2003-05-14 10:07:00 | C:datamy...
| 20100086.jpg | 61625 | 2003-06-02 18:11:00 | C:datamy...
| 20100087.jpg | 118352 | 2003-08-01 00:34:00 | C:datamy...
+--------------+--------+---------------------+---------...
87 rows in set (0.00 sec)
*** ファイルからの一括登録時のオプション指定 [#zfd47217]
+''COLOR(GREEN){レコードの先頭何行かを無視させる方法 ・・...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> ignore 1 lines;
+''COLOR(GREEN){サーバー上のファイルを読み込ませる方法 ・...
mysql> load data infile '/home/munakata/dir_data.txt'
-> into table file_dir;
+''COLOR(GREEN){TAB 以外のデリミタを読み込む方法 ・・・・...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> fields terminated by ':';
+''COLOR(GREEN){データが ”データ” などのように括られてい...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> enclosed by '"';
+''COLOR(GREEN){レコードの並び順が異なる場合 ・・・・ フ...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> { 項目1、項目2、... };
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** レコードの更新 [#oef1e402]
mysql> update image set pict_quality = 9999;
Query OK, 2 rows affected (0.00 sec)
mysql> insert into image (file_id, pict_size) values ('9...
Query OK, 1 row affected (0.00 sec)
mysql> insert into image (file_id, pict_size) values ('9...
Query OK, 1 row affected (0.00 sec)
*** 指定した条件にマッチしたデータの変更 [update 演算子] ...
mysql> select file_id, pict_type from image;
+------------+-----------+
| file_id | pict_type |
+------------+-----------+
| 123555.jpg | 0 |
| 998866.jpg | NULL |
| 96680.jpg | NULL |
+------------+-----------+
3 rows in set (0.00 sec)
mysql> update image set pict_type=1 where file_id='12355...
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update image set pict_type=2 where file_id='99886...
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update image set pict_type=3 where file_id='96680...
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select file_id, pict_type from image;
+------------+-----------+
| file_id | pict_type |
+------------+-----------+
| 123555.jpg | 1 |
| 998866.jpg | 2 |
| 96680.jpg | 3 |
+------------+-----------+
3 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** レコードの削除(条件付、何も指定しないと全て削除され...
mysql> delete from image where file_id='123456.jpg';
Query OK, 1 row affected (0.03 sec)
mysql> select file_id, pict_size, pict_quality from image;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123555.jpg | 2048 | 9999 |
+------------+-----------+--------------+
1 row in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** 検索系 [#aab30e72]
*** データの単純抽出 [SELECT 演算子] [#pa10e98e]
mysql> select file_id,pict_size from image;
+------------+-----------+
| file_id | pict_size |
+------------+-----------+
| 123456.jpg | 1024 |
| 123555.jpg | 2048 |
+------------+-----------+
2 rows in set (0.00 sec)
mysql> select file_id, pict_size, pict_quality from image;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123456.jpg | 1024 | 9999 |
| 123555.jpg | 2048 | 9999 |
+------------+-----------+--------------+
2 rows in set (0.00 sec)
*** select 文はレコードの検索以外の目的でも使用できる [#i...
mysql> select CURDATE() as Today;
+------------+
| Today |
+------------+
| 2004-04-17 |
+------------+
1 row in set (0.00 sec)
*** データ抽出時に演算を行うこともできる [#r0bebdb6]
mysql> select file_id, pict_size, (pict_quality/2) from ...
+------------+-----------+------------------+
| file_id | pict_size | (pict_quality/2) |
+------------+-----------+------------------+
| 123555.jpg | 2048 | 4999.50 |
| 998866.jpg | 2048 | NULL |
| 96680.jpg | 4096 | NULL |
+------------+-----------+------------------+
3 rows in set (0.00 sec)
mysql> select file_id, (pict_size+100), (pict_quality/2)...
+------------+-----------------+------------------+
| file_id | (pict_size+100) | (pict_quality/2) |
+------------+-----------------+------------------+
| 123555.jpg | 2148 | 4999.50 |
| 998866.jpg | 2148 | NULL |
| 96680.jpg | 4196 | NULL |
+------------+-----------------+------------------+
3 rows in set (0.00 sec)
mysql> select file_id, (pict_size+100), (pict_quality/2)...
-> where pict_quality > 100;
+------------+-----------------+------------------+
| file_id | (pict_size+100) | (pict_quality/2) |
+------------+-----------------+------------------+
| 123555.jpg | 2148 | 4999.50 |
+------------+-----------------+------------------+
1 row in set (0.00 sec)
*** データ抽出時にカラムを指定して並び替え [ORDER BY 演算...
mysql> select file_id, pict_size, pict_quality from image
-> order by file_id;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123555.jpg | 2048 | 9999 |
| 96680.jpg | 4096 | NULL |
| 998866.jpg | 2048 | NULL |
+------------+-----------+--------------+
3 rows in set (0.02 sec)
mysql> select file_id, pict_size, pict_quality from image
-> order by pict_size;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123555.jpg | 2048 | 9999 |
| 998866.jpg | 2048 | NULL |
| 96680.jpg | 4096 | NULL |
+------------+-----------+--------------+
3 rows in set (0.00 sec)
*** レコードの演算の表示 (単純な抽出ではなく演算結果だけ...
mysql> select MIN(pict_size),AVG(pict_size),MAX(pict_siz...
+---------------+----------------+----------------+
| MIN(pict_size) | AVG(pict_size) | MAX(pict_size) |
+----------------+----------------+----------------+
| 2048 | 2730.6667 | 4096 |
+----------------+----------------+----------------+
1 row in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** 検索時のリレーションの設定 (複数テーブルの連結) [#q7...
*** 内部結合 [INNER JOIN 演算子] [#u56a2733]
mysql> show columns from image;
+--------------+---------------+------+-----+---------+-...
| Field | Type | Null | Key | Default | ...
+--------------+---------------+------+-----+---------+-...
| file_id | varchar(20) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
| pict_size | int(11) | YES | | NULL | ...
| pict_quality | int(11) | YES | | NULL | ...
| pict_reality | int(11) | YES | | NULL | ...
| pict_date | date | YES | | NULL | ...
| pict_select | enum('N','Y') | YES | | NULL | ...
+--------------+---------------+------+-----+---------+-...
7 rows in set (0.00 sec)
mysql> show columns from type_info;
+--------------+--------------+------+-----+---------+--...
| Field | Type | Null | Key | Default | E...
+--------------+--------------+------+-----+---------+--...
| pict_type | int(11) | YES | | NULL | ...
| type_comment | varchar(100) | YES | | NULL | ...
+--------------+--------------+------+-----+---------+--...
2 rows in set (0.00 sec)
mysql> select file_id, pict_type, pict_size from image;
+------------+-----------+-----------+
| file_id | pict_type | pict_size |
+------------+-----------+-----------+
| 123555.jpg | 1 | 2048 |
| 998866.jpg | 2 | 2048 |
| 96680.jpg | 3 | 4096 |
+------------+-----------+-----------+
3 rows in set (0.00 sec)
mysql> select * from type_info;
+-----------+--------------+
| pict_type | type_comment |
+-----------+--------------+
| 1 | 区分1 |
| 2 | 区分2 |
| 3 | 区分3 |
+-----------+--------------+
3 rows in set (0.00 sec)
mysql> select file_id, type_comment, image.pict_type, pi...
-> inner join type_info on
-> image.pict_type = type_info.pict_type;
+------------+--------------+-----------+-----------+
| file_id | type_comment | pict_type | pict_size |
+------------+--------------+-----------+-----------+
| 123555.jpg | 区分1 | 1 | 2048 |
| 998866.jpg | 区分2 | 2 | 2048 |
| 96680.jpg | 区分3 | 3 | 4096 |
+------------+--------------+-----------+-----------+
3 rows in set (0.00 sec)
*** 内部結合 [WHERE 演算子] [#l46f567b]
** 外部結合 [#kdb2efe1]
*** 左外部結合 [LEFT JOIN 演算子] [#dc4c172c]
*** 右外部結合 [RIGHT JOIN 演算子] [#u6fb885a]
** 和結合:ユニオン(縦方向の結合) [#o12aa174]
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
終了行:
#contents
** ユーザー登録 [#g84160e4]
*** mysql へのログイン [#z28b4175]
- インストール時に設定される mysql という名前のデータベー...
- mysql にログインする時には -u (アカウント名) -p でアカ...
- 現在の環境では root (システムの root とは別)に対してパ...
[munakata@charisma yellowpages]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.0.27
Type 'help;' or '\h' for help. Type '\c' to clear the bu...
mysql> select user,host,password from mysql.user;
+------+--------------------+------------------+
| user | host | password |
+------+--------------------+------------------+
| root | localhost | 5eeabd381db11d2b |
| root | charisma.hmuna.com | 5eeabd381db11d2b |
| | charisma.hmuna.com | |
| | localhost | |
+------+--------------------+------------------+
4 rows in set (0.00 sec)
mysql>
*** パスワードの設定 [#w6d8c5e6]
- パスワードの設定のしかた
mysql> set password for root@localhost=password('xxxxxxx...
** 表示系 [#x76d5186]
*** データベース名の表示 [#bba2a426]
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| peewee |
+----------+
2 rows in set (0.02 sec)
*** データベースの選択 [#a96b0bc6]
mysql> use peewee
Database changed
*** データ-ベース内のテーブルの表示 [#rb74be13]
mysql> show tables;
+------------------+
| Tables_in_peewee |
+------------------+
| image |
| type_info |
+------------------+
2 rows in set (0.00 sec)
*** テーブル内のカラムの表示 [#hb4f361d]
mysql> show columns from image;
+--------------+---------------+------+-----+---------+-...
| Field | Type | Null | Key | Default | ...
+--------------+---------------+------+-----+---------+-...
| file_id | varchar(20) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
| pict_size | int(11) | YES | | NULL | ...
| pict_quality | int(11) | YES | | NULL | ...
| pict_reality | int(11) | YES | | NULL | ...
| pict_date | date | YES | | NULL | ...
| pict_select | enum('N','Y') | YES | | NULL | ...
+--------------+---------------+------+-----+---------+-...
7 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** データベースの初期化(本体、テーブル) [#o6209aa7]
*** データベースの新規作成 [#zd6a0311]
mysql> create database new;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| new |
| peewee |
+----------+
3 rows in set (0.00 sec)
*** データベースの削除 [#z1b214fd]
mysql> drop database new;
Query OK, 1 row affected (0.00 sec)
*** データの型 (SQL 標準) [#aeedd937]
+ 文字型
|型|最大文字数|使用サイズ|h
|CHAR(文字数)|RIGHT:255バイト|指定文字数+1バイト|
|BINARY(文字数)|RIGHT:255バイト|文字列長+1バイト|
|VARCHAR|RIGHT:255バイト|文字列長+1バイト|
|TINYBLOB / TINYTEXT|RIGHT:255バイト|文字列長+1バイト|
|BLOB / TEXT|RIGHT:64kバイト|文字列長+2バイト|
|MEDIUMBLOB / MEDIUMTEXT|RIGHT:16Mバイト|文字列長+3バイ...
|LONGBLOB / LONGTEXT|RIGHT:4Gバイト|文字列長+4バイト|
+ 数値型
|型|バイト|CENTER:最小値|CENTER:最大値|h
|TINYINT|CENTER:1|-128|127|
|SMALLINT|CENTER:2|-32768|32767|
|MEDIUMINT|CENTER:3|-8388608|8388607|
|INT|CENTER:4|-2147483648|2147483647|
|BIGINT|CENTER:8|-9223372036854775808|9223372036854775807|
+日付時刻型
|型|表示形式|範囲|説明|h
|DATE|YYYY-MM-DD|1000-01-01 〜 9999-12-31|3バイト日付型|
|DATETIME|YYYY-MM-DD HH:MM:SS|1000-01-01 00:00:00〜 9999-...
|TIME|HHH:MM:SS|-838:59:59〜 838.59.59|3バイト時刻型|
|YEAR(2)|YY|70 〜 69(1970-2069)|1バイト年型|
|YEAR(4)|YYYY|1901 〜 2155,0000|1バイト年型|
|TIMESTAMP[2]|YY|||
|TIMESTAMP[4]|YYMM|~|~|
|TIMESTAMP[6]|YYMMDD|~|~|
|TIMESTAMP[8]|YYYYMMDD|~|~|
|TIMESTAMP[10]|YYMMDDHHMM|~|~|
|TIMESTAMP[12]|YYMMDDHHMMSS|~|~|
|TIMESTAMP[14]|YYYYMMDDHHMMSS|~|~|
TIMESTAMP型のフィールドはレコードが更新される時に自動的...
複数の TIMESTAMP フォールドがある場合には最初のものだけ...
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** テーブルの新規作成 (カラム構造の宣言) [#t6394e22]
'' 構文 COLOR(RED){CREATE TABLE テーブル名(カラム1 カ...
mysql> create table type_info (type_id int, type_def var...
Query OK, 0 rows affected (0.03 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** 検索を高速化させる為にインデックスを付加する [#y30751...
''COLOR(GREEN){新規にテーブルを作成する時に INDEX を指定...
mysql> create table pict_info(file_name varchar(20),
-> category int,
-> quarity int,
-> reality int,
-> index (file_name));
Query OK, 0 rows affected (0.00 sec)
mysql> show columns from pict_info;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| file_name | varchar(20) | YES | MUL | NULL | |
| category | int(11) | YES | | NULL | |
| quarity | int(11) | YES | | NULL | |
| reality | int(11) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
''COLOR(GREEN){作成済みのテーブルに INDEX を追加で指定す...
mysql> alter table file_dir add index (file_name);
Query OK, 87 rows affected (0.00 sec)
Records: 87 Duplicates: 0 Warnings: 0
mysql> show columns from file_dir;
+-----------+--------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-----------+--------------+------+-----+---------+-----...
| file_name | varchar(40) | YES | MUL | NULL | ...
| size | int(11) | YES | | NULL | ...
| data | datetime | YES | | NULL | ...
| dir | varchar(100) | YES | | NULL | ...
+-----------+--------------+------+-----+---------+-----...
4 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** カラム構造(データベースメンバー)の表示 [#w2fc561d]
mysql> show columns from image;
+--------------+---------------+------+-----+---------+-...
| Field | Type | Null | Key | Default | ...
+--------------+---------------+------+-----+---------+-...
| file_id | varchar(20) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
| pict_size | int(11) | YES | | NULL | ...
| pict_quality | int(11) | YES | | NULL | ...
| pict_reality | int(11) | YES | | NULL | ...
| pict_date | date | YES | | NULL | ...
| pict_select | enum('N','Y') | YES | | NULL | ...
+--------------+---------------+------+-----+---------+-...
7 rows in set (0.00 sec)
*** カラムの削除 [ALTER TABLE xxx DROP yyy] [#pc1493b6]
mysql> alter table type_info drop type_id;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
*** カラムの追加 [ALTER TABLE xxx ADD yyy zzz] [#s360afbb]
mysql> alter table type_info add pict_type int;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show columns from type_info;
+-----------+--------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-----------+--------------+------+-----+---------+-----...
| type_def | varchar(100) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
+-----------+--------------+------+-----+---------+-----...
2 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** レコード登録 [#o85abb81]
*** レコード登録(内容を指定しないカラムは NULL に初期化...
mysql> insert into image (file_id, pict_type, pict_size)...
-> ('123456.jpg',1,1024);
Query OK, 1 row affected (0.03 sec)
*** ファイルからのレコードの一括登録 [LOAD DATA 文] [#...
+ ''COLOR(GREEN){カラムの構造とマッチしたデータが TAB で...
++ COLOR(BLUE){最初にデータを読み込ませるテーブルを準備す...
mysql> create table file_dir (file_name varchar(40),
-> size int,
-> data datetime,
-> dir varchar(100));
Query OK, 0 rows affected (0.01 sec)
mysql> show columns from file_dir;
+-----------+--------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-----------+--------------+------+-----+---------+-----...
| file_name | varchar(40) | YES | | NULL | ...
| size | int(11) | YES | | NULL | ...
| data | datetime | YES | | NULL | ...
| dir | varchar(100) | YES | | NULL | ...
+-----------+--------------+------+-----+---------+-----...
4 rows in set (0.00 sec)
++ COLOR(BLUE){読み込ませる為に作成したデータのテクストフ...
[root@rh01 root]# cat /home/munakata/dir_data.txt
20100000.jpg 40236 2002/07/05 09:35 C:\...
20100001.jpg 45323 2002/08/06 00:35 C:\...
20100002.jpg 44296 2002/07/05 09:36 C:\...
20100003.jpg 43769 2002/07/05 09:41 C:\...
20100004.jpg 38132 2002/07/05 09:37 C:\...
20100005.jpg 40826 2002/08/14 18:20 C:\...
20100006.jpg 42708 2002/08/06 00:36 C:\...
20100007.jpg 46642 2002/08/06 00:36 C:\...
20100008.jpg 55897 2002/08/06 00:30 C:\...
20100009.jpg 44572 2002/08/06 00:31 C:\...
20100010.jpg 41688 2002/08/06 00:31 C:\...
++ COLOR(BLUE){クライアント上のファイル(local file)をテ...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir;
Query OK, 87 rows affected (0.00 sec)
Records: 87 Deleted: 0 Skipped: 0 Warnings: 0
++ COLOR(BLUE){レコードが正しく書き込まれたことを確認}}
mysql> select * from file_dir;
+--------------+--------+---------------------+---------...
| file_name | size | data | dir ...
+--------------+--------+---------------------+---------...
| 20100000.jpg | 40236 | 2002-07-05 09:35:00 | C:datamy...
| 20100001.jpg | 45323 | 2002-08-06 00:35:00 | C:datamy...
| 20100002.jpg | 44296 | 2002-07-05 09:36:00 | C:datamy...
途中省略
| 20100085.jpg | 72163 | 2003-05-14 10:07:00 | C:datamy...
| 20100086.jpg | 61625 | 2003-06-02 18:11:00 | C:datamy...
| 20100087.jpg | 118352 | 2003-08-01 00:34:00 | C:datamy...
+--------------+--------+---------------------+---------...
87 rows in set (0.00 sec)
*** ファイルからの一括登録時のオプション指定 [#zfd47217]
+''COLOR(GREEN){レコードの先頭何行かを無視させる方法 ・・...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> ignore 1 lines;
+''COLOR(GREEN){サーバー上のファイルを読み込ませる方法 ・...
mysql> load data infile '/home/munakata/dir_data.txt'
-> into table file_dir;
+''COLOR(GREEN){TAB 以外のデリミタを読み込む方法 ・・・・...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> fields terminated by ':';
+''COLOR(GREEN){データが ”データ” などのように括られてい...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> enclosed by '"';
+''COLOR(GREEN){レコードの並び順が異なる場合 ・・・・ フ...
mysql> load data local infile '/home/munakata/dir_data.t...
-> into table file_dir
-> { 項目1、項目2、... };
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** レコードの更新 [#oef1e402]
mysql> update image set pict_quality = 9999;
Query OK, 2 rows affected (0.00 sec)
mysql> insert into image (file_id, pict_size) values ('9...
Query OK, 1 row affected (0.00 sec)
mysql> insert into image (file_id, pict_size) values ('9...
Query OK, 1 row affected (0.00 sec)
*** 指定した条件にマッチしたデータの変更 [update 演算子] ...
mysql> select file_id, pict_type from image;
+------------+-----------+
| file_id | pict_type |
+------------+-----------+
| 123555.jpg | 0 |
| 998866.jpg | NULL |
| 96680.jpg | NULL |
+------------+-----------+
3 rows in set (0.00 sec)
mysql> update image set pict_type=1 where file_id='12355...
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update image set pict_type=2 where file_id='99886...
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update image set pict_type=3 where file_id='96680...
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select file_id, pict_type from image;
+------------+-----------+
| file_id | pict_type |
+------------+-----------+
| 123555.jpg | 1 |
| 998866.jpg | 2 |
| 96680.jpg | 3 |
+------------+-----------+
3 rows in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
*** レコードの削除(条件付、何も指定しないと全て削除され...
mysql> delete from image where file_id='123456.jpg';
Query OK, 1 row affected (0.03 sec)
mysql> select file_id, pict_size, pict_quality from image;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123555.jpg | 2048 | 9999 |
+------------+-----------+--------------+
1 row in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** 検索系 [#aab30e72]
*** データの単純抽出 [SELECT 演算子] [#pa10e98e]
mysql> select file_id,pict_size from image;
+------------+-----------+
| file_id | pict_size |
+------------+-----------+
| 123456.jpg | 1024 |
| 123555.jpg | 2048 |
+------------+-----------+
2 rows in set (0.00 sec)
mysql> select file_id, pict_size, pict_quality from image;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123456.jpg | 1024 | 9999 |
| 123555.jpg | 2048 | 9999 |
+------------+-----------+--------------+
2 rows in set (0.00 sec)
*** select 文はレコードの検索以外の目的でも使用できる [#i...
mysql> select CURDATE() as Today;
+------------+
| Today |
+------------+
| 2004-04-17 |
+------------+
1 row in set (0.00 sec)
*** データ抽出時に演算を行うこともできる [#r0bebdb6]
mysql> select file_id, pict_size, (pict_quality/2) from ...
+------------+-----------+------------------+
| file_id | pict_size | (pict_quality/2) |
+------------+-----------+------------------+
| 123555.jpg | 2048 | 4999.50 |
| 998866.jpg | 2048 | NULL |
| 96680.jpg | 4096 | NULL |
+------------+-----------+------------------+
3 rows in set (0.00 sec)
mysql> select file_id, (pict_size+100), (pict_quality/2)...
+------------+-----------------+------------------+
| file_id | (pict_size+100) | (pict_quality/2) |
+------------+-----------------+------------------+
| 123555.jpg | 2148 | 4999.50 |
| 998866.jpg | 2148 | NULL |
| 96680.jpg | 4196 | NULL |
+------------+-----------------+------------------+
3 rows in set (0.00 sec)
mysql> select file_id, (pict_size+100), (pict_quality/2)...
-> where pict_quality > 100;
+------------+-----------------+------------------+
| file_id | (pict_size+100) | (pict_quality/2) |
+------------+-----------------+------------------+
| 123555.jpg | 2148 | 4999.50 |
+------------+-----------------+------------------+
1 row in set (0.00 sec)
*** データ抽出時にカラムを指定して並び替え [ORDER BY 演算...
mysql> select file_id, pict_size, pict_quality from image
-> order by file_id;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123555.jpg | 2048 | 9999 |
| 96680.jpg | 4096 | NULL |
| 998866.jpg | 2048 | NULL |
+------------+-----------+--------------+
3 rows in set (0.02 sec)
mysql> select file_id, pict_size, pict_quality from image
-> order by pict_size;
+------------+-----------+--------------+
| file_id | pict_size | pict_quality |
+------------+-----------+--------------+
| 123555.jpg | 2048 | 9999 |
| 998866.jpg | 2048 | NULL |
| 96680.jpg | 4096 | NULL |
+------------+-----------+--------------+
3 rows in set (0.00 sec)
*** レコードの演算の表示 (単純な抽出ではなく演算結果だけ...
mysql> select MIN(pict_size),AVG(pict_size),MAX(pict_siz...
+---------------+----------------+----------------+
| MIN(pict_size) | AVG(pict_size) | MAX(pict_size) |
+----------------+----------------+----------------+
| 2048 | 2730.6667 | 4096 |
+----------------+----------------+----------------+
1 row in set (0.00 sec)
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
** 検索時のリレーションの設定 (複数テーブルの連結) [#q7...
*** 内部結合 [INNER JOIN 演算子] [#u56a2733]
mysql> show columns from image;
+--------------+---------------+------+-----+---------+-...
| Field | Type | Null | Key | Default | ...
+--------------+---------------+------+-----+---------+-...
| file_id | varchar(20) | YES | | NULL | ...
| pict_type | int(11) | YES | | NULL | ...
| pict_size | int(11) | YES | | NULL | ...
| pict_quality | int(11) | YES | | NULL | ...
| pict_reality | int(11) | YES | | NULL | ...
| pict_date | date | YES | | NULL | ...
| pict_select | enum('N','Y') | YES | | NULL | ...
+--------------+---------------+------+-----+---------+-...
7 rows in set (0.00 sec)
mysql> show columns from type_info;
+--------------+--------------+------+-----+---------+--...
| Field | Type | Null | Key | Default | E...
+--------------+--------------+------+-----+---------+--...
| pict_type | int(11) | YES | | NULL | ...
| type_comment | varchar(100) | YES | | NULL | ...
+--------------+--------------+------+-----+---------+--...
2 rows in set (0.00 sec)
mysql> select file_id, pict_type, pict_size from image;
+------------+-----------+-----------+
| file_id | pict_type | pict_size |
+------------+-----------+-----------+
| 123555.jpg | 1 | 2048 |
| 998866.jpg | 2 | 2048 |
| 96680.jpg | 3 | 4096 |
+------------+-----------+-----------+
3 rows in set (0.00 sec)
mysql> select * from type_info;
+-----------+--------------+
| pict_type | type_comment |
+-----------+--------------+
| 1 | 区分1 |
| 2 | 区分2 |
| 3 | 区分3 |
+-----------+--------------+
3 rows in set (0.00 sec)
mysql> select file_id, type_comment, image.pict_type, pi...
-> inner join type_info on
-> image.pict_type = type_info.pict_type;
+------------+--------------+-----------+-----------+
| file_id | type_comment | pict_type | pict_size |
+------------+--------------+-----------+-----------+
| 123555.jpg | 区分1 | 1 | 2048 |
| 998866.jpg | 区分2 | 2 | 2048 |
| 96680.jpg | 区分3 | 3 | 4096 |
+------------+--------------+-----------+-----------+
3 rows in set (0.00 sec)
*** 内部結合 [WHERE 演算子] [#l46f567b]
** 外部結合 [#kdb2efe1]
*** 左外部結合 [LEFT JOIN 演算子] [#dc4c172c]
*** 右外部結合 [RIGHT JOIN 演算子] [#u6fb885a]
** 和結合:ユニオン(縦方向の結合) [#o12aa174]
&heart; [[KnoweldgeBase トップページに戻る>Knowledge_Bank...
ページ名: