MySQL
MySQLクライアントの起動
- DBを指定してMySQLクライアントを起動
$ mysql -u [ユーザ名] -D [データベース名]-p
-u オプションでは MySQL に接続するユーザー名を指定します。 -D オプションでは接続先のデータベース名を指定します。 -p オプションはパスワードを送信する場合に指定します。
例えば、root ユーザーで test というデータベースに接続する場合、下記のようにコマンドを実行します。 尚、root ユーザーにはパスワードを設定しているため、-p オプションも付加しています。
svr001:~$ mysql -u root -D test -p Enter password:******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2002452 Server version: 5.0.51a-3ubuntu5.8 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
正しく接続されれば、mysql のプロンプトが表示されます。 終了したい場合は \q を実行するとプロンプトを終了することができます。
mysql> \q Bye svr001:~$
- DBを指定しないでMySQLクライアントを起動
$ mysql -u [ユーザ名] -p
-u オプションでは MySQLに接続するユーザー名を指定します。 -p オプションはパスワードを送信する場合に指定します。
例えば、root ユーザーで下記のようにコマンドを実行します。 尚、root ユーザーにはパスワードを設定しているため、-p オプションも付加しています。 MySQLクライアントにログイン後、データベースに接続します。
svr001:~$ mysql -u root -p Enter password:******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2002452 Server version: 5.0.51a-3ubuntu5.8 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> use test;
正しく接続されれば、mysql のプロンプトが表示されます。 ログイン後、useコマンドでデータベースに接続します。 終了したい場合は \q を実行するとプロンプトを終了することができます。
mysql> \q Bye svr001:~$
- ポート番号を指定してMySQLクライアントを起動
$ mysql -u [ユーザ名] -p -P [ポート番号] -s
-u オプションでは MySQLに接続するユーザー名を指定します。 -p オプションはパスワードを送信する場合に指定します。 -P オプションはMySQL のポート番号がデフォルトの 3306 以外で起動している場合 ポート番号の指定が必要になります。3306の場合、このオプションは不要です。 -s オプションを付けるとログイン後の余計なメッセージは表示されません。
例えば、root ユーザーで下記のようにコマンドを実行します。 尚、root ユーザーにはパスワードを設定しているため、-p オプションも付加しています。 ポート番号がデフォルトの3306と違う場合、-P 9000 オプションも付加しています。 ログイン後の余計なメッセージを表示したくないので -s オプションを付加しています。
svr001:~$ mysql -u root -p -P 9000 -s mysql> mysql> use test;
正しく接続されれば、mysql のプロンプトが表示されます。 ログイン後、useコマンドでデータベースに接続します。 終了したい場合は \q を実行するとプロンプトを終了することができます。
mysql> \q Bye svr001:~$
データベースの作成
mysql> create database [データベース名];
例えば、test というデータベースを作成する場合、 下記のようにコマンドを実行します。
mysql> create database testdb;
正しく作成されれば、下記のメッセージが表示されます。
mysql> create database testdb; Query OK, 1 row affected (0.05 sec)
データベースの確認
mysql> show databases;
例えば、testdb というデータベースを確認する場合、 下記のようにコマンドを実行します。 正しく作成されていれば、下記のメッセージが表示されます。
mysql> show databases; +-------------------------+ | Database | +-------------------------+ | information_schema | | testdb | +-------------------------+ 36 rows in set (0.00 sec)
データベースの削除
mysql> drop [データーベース名];
例えば、testdb というデータベースを削除する場合、 下記のようにコマンドを実行します。
mysql> drop database testdb; Query OK, 0 rows affected (0.00 sec)
データベースの権限
mysql> grant all privileges on [dbname].* to [usr]@"%" identified by '[password]';
例えば、testdb というデータベースに GRANT OPTION 以外の全てのシンプルな権限を設定する場合、 下記のようにコマンドを実行します。
mysql> grant all privileges on testdb.* to sanpei@"%" identified by 'xxxxxxxxx';
テーブルの作成
mysql> create table [db_name].[table_name]( col_name1 data_type1, col_name2 data_type2, col_name3 data_type3, ...);
例えば、testdb というデータベースに fruitと言うテーブルで 各要素にcode char型、name vchar型、price int型の 要素を設定する場合、 下記のようにコマンドを実行します。
mysql> create table testdb.fruit( code char(4), name varchar(20), price int);
※ use またはデーターベースを指定して起動した場合は データーベースに接続されているので、テーブル名の前の データベース名の指定は省略可能です。
mysql> use testdb; mysql> create table fruit( code char(4), name varchar(20), price int);
テーブルの確認
mysql> show tables from [db_name];
例えば、testdb というデータベースの テーブルのを確認する場合、下記のようにコマンドを実行します。
mysql> show tables from testdb;
カラムの確認
mysql> show columns from [db_name].[tbl_name]; mysql> show columns from [tbl_name] from [db_name]; mysql> show columns from [tbl_name];
例えば、testdb というデータベースに fruitと言うテーブルの各要素 を確認する場合、下記のようにコマンドを実行します。
mysql> show columns from testdb.fruit;
mysql> show columns from testdb.fruit from testdb;
mysql> show columns from fruit from testdb; mysql> use testdb; mysql> show columns from fruit; mysql> desc fruit;
※データーベースに接続されている場合は データベース名の指定は省略可能です。
+-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | code | char(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | price | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+
テーブルに要素を登録
mysql> insert into [db_name].[tbl_name] values( '[column1]', '[column2]' ,[column3]);
例えば、testdb というデータベースに登録する場合 下記のようにコマンドを実行します。
mysql> insert into testdb.fruit values('1001', 'banana',420)
テーブルの要素を確認する
mysql> select [column1],[column2], ... from [db_name].[tbl_name];
例えば、testdb というデータベースの fruitテーブルの 全要素を確認する場合 下記のようにコマンドを実行します。
mysql> select * from testdb.fruit; mysql> select code, name, price from testdb.fruit; mysql> select * from fruit; +------+---------+-------+ | code | name | price | +------+---------+-------+ | 1001 | banana1 | 420 | | 1002 | apple2 | 300 | | 1003 | orange3 | 150 | +------+---------+-------+ データベース接続されている場合、データベース指定は必要あいません。
例えば、testdb というデータベースの fruitテーブルの 要素name, priceを確認する場合 下記のようにコマンドを実行します。
mysql> select name, price from testdb.fruit; +---------+-------+ | name | price | +---------+-------+ | banana1 | 420 | | apple2 | 300 | | orange3 | 150 | +---------+-------+ mysql> select price, name from fruit; +-------+---------+ | price | name | +-------+---------+ | 420 | banana1 | | 300 | apple2 | | 150 | orange3 | +-------+---------+ データベース接続されている場合、データベース指定は必要ありません。
テーブルの要素を変更する
mysql> update [db_name].[tbl_name] set [column1]=[data1] [, [column2]=[data2] ...] [where [columnx]=[datax]];
例えば、testdb というデータベースの fruitテーブルの codeが1001要素のpraice要素とname要素を更新する場合 下記のようにコマンドを実行します。
mysql> update testdb.fruit set price=4200, name='banana9' where code=1001; mysql> select code, name, price from testdb.fruit; +------+---------+-------+ | code | name | price | +------+---------+-------+ | 1001 | banana9 | 4200 | | 1002 | apple2 | 300 | | 1003 | orange3 | 150 | +------+---------+-------+ データベース接続されている場合、データベース指定は必要あいません。
テーブルの要素を追加する
mysql> insert into [db_name].[tbl_name] ([column1], [column1], ...) values ([data1], [data2], ...);
例えば、testdb というデータベースの fruitテーブルに codeが1008でnameがbanana8でpraiceが198の要素を 追加する場合、下記のようにコマンドを実行します。
mysql> insert into testdb.fruit (code, name, price) values (1008, 'banana8', 198); mysql> select code, name, price from testdb.fruit; +------+---------+-------+ | code | name | price | +------+---------+-------+ | 1001 | banana9 | 4200 | | 1002 | apple2 | 300 | | 1003 | orange3 | 150 | | 1008 | banana8 | 198 | +------+---------+-------+ データベース接続されている場合、データベース指定は必要あいません。
テーブルの要素を削除する
mysql> delete from [db_name].[tbl_name] [where [columnx]=[datax]];
例えば、testdb というデータベースの fruitテーブルの nameがbanana8の要素を削除する場合 下記のようにコマンドを実行します。
mysql> delete from testdb.fruit where name='banana8'; mysql> select code, name, price from testdb.fruit; +------+---------+-------+ | code | name | price | +------+---------+-------+ | 1001 | banana9 | 4200 | | 1002 | apple2 | 300 | | 1003 | orange3 | 150 | +------+---------+-------+ データベース接続されている場合、データベース指定は必要あいません。