1月 022015
 

“show databases”で表示させます。

これにより、ログインしたユーザでアクセス可能なデータベースの一覧が表示されます。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| books              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
3月 232013
 

テーブルの中身を空にするには、テーブルの中身をすべて削除するか、
テーブルを削除して再度作り直すという2通りの方法があります。

テーブル内のデータを削除する

mysql> delete from category;

deleteにより削除する場合はテーブル内のデータをそれぞれ削除し
テーブル自体は依然のままなので、AUTO_INCREMENT設定したidは
引き継がれます。

テーブルを削除して作り直す

mysql> truncate table category;

truncate句によりテーブルを空にする場合は、位置とテーブル自体を
削除してしまっているため、AUTO_INCREMENT設定したidはまた最初から
振りなおしになります。

1月 112013
 

あるデータベースで使用していたテーブルを、テスト用や本番稼動用などで別のデータベースに
データごとテーブルをコピーしたいこともあると思います。

そういう時は、CREATE COMMANDを使用して以下のようにコピーできます。

mysql> create table destination_db.destination_table select * from source_db.source_table;

destination_db:コピー先のデータベース名
destination_table:コピー先のテーブル名
source_db:コピー元のデータベース名
source_table:コピー元のテーブル

1月 082013
 

mysqlコマンドで調べる

$ mysql --version
mysql  Ver 14.14 Distrib 5.5.25, for Linux (i686) using readline 5.1

mysqlサーバに接続して調べる

$ mysql -u root -pxxxx testdb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.25 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysqlサーバに接続後に調べる (STATUS編)

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.25, for Linux (i686) using readline 5.1

Connection id:          3
Current database:       testdb
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.5.25 MySQL Community Server (GPL) by Remi
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    utf8
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 7 min 58 sec

Threads: 1  Questions: 21  Slow queries: 0  Opens: 14  Flush tables: 1  Open tables: 8  Queries per second avg: 0.043
--------------

mysqlサーバ接続後に調べる(SELECT編)

mysql> SELECT version();
+-----------+
| version() |
+-----------+
| 5.5.25    |
+-----------+
1 row in set (0.00 sec)
12月 272012
 

以下で確認できます。

mysql> show create table <テーブル名>
mysql> show create table test2;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                            |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test2 | CREATE TABLE `test2` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
12月 182012
 

テーブルの詳細情報を知りたい場合は、”show table status”を実行します。

選択されているデータベース内のすべてのテーブルの情報を表示する場合

mysql> show table status;
+-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| Name  | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation         | Checksum | Create_options | Comment |
+-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| test  | MyISAM |      10 | Dynamic    |    7 |             20 |         140 | 281474976710655 |         2048 |         0 |              8 | 2012-12-18 13:14:04 | 2012-12-18 13:36:02 | NULL       | latin1_swedish_ci |     NULL |                |         |
| test2 | MyISAM |      10 | Dynamic    |    1 |             20 |          20 | 281474976710655 |         2048 |         0 |              2 | 2012-12-18 13:42:14 | 2012-12-18 13:47:02 | NULL       | utf8_general_ci   |     NULL |                |         |
+-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+

選択されているデータベース内の特定のテーブルを表示する場合

mysql> show table status like 'test2';
+-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| Name  | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation       | Checksum | Create_options | Comment |
+-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| test2 | MyISAM |      10 | Dynamic    |    1 |             20 |          20 | 281474976710655 |         2048 |         0 |              2 | 2012-12-18 13:42:14 | 2012-12-18 13:47:02 | NULL       | utf8_general_ci |     NULL |                |         |
+-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+

データベースを指定する場合

mysql> show table status from mysql like 'user';
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+-----------------------------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation | Checksum | Create_options | Comment                     |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+-----------------------------+
| user | MyISAM |      10 | Dynamic    |   17 |             65 |        1108 | 281474976710655 |         2048 |         0 |           NULL | 2008-07-28 11:29:02 | 2012-12-06 08:34:32 | NULL       | utf8_bin  |     NULL |                | Users and global privileges |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+-----------------------------+
1 row in set (0.00 sec)
12月 182012
 

1.statusコマンドを実行する

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.25, for Linux (i686) using readline 5.1
 
Connection id:          424
Current database:       symfony3
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.51a MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 11 days 23 hours 38 min 26 sec
 
Threads: 1  Questions: 107197  Slow queries: 0  Opens: 19  Flush tables: 1  Open tables: 13  Queries per second avg: 0.104
--------------

2. show variablesで調べる

mysql> show variables like 'character_set%';
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
8 rows in set (0.00 sec)
8月 222012
 

以下を実行することで、localhostにあるdb_nameというデータベースに対し、user_nameというユーザーを
user_passというパスワードで登録します。

mysql> GRANT ALL privileges ON db_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'user_pass';
3月 102012
 

整数型

データ型 使用バイト 最小値 最大値
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

浮動小数点型

データ型 使用バイト 最小値 最大値
FLOAT 1.175494351E-38, -3.402823466E+38 3.402823466E+38, -1.175494351E-38
DOUBLE 2.2250738585072014E-308, -1.7976931348623157E+308 1.7976931348623157E+308, -2.2250738585072014E-308