MySQL コマンド

-----------------------

MySQL に入る

# mysql -u root -p

---------------

# 外部 MySQLサーバに接続する場合

$ mysql -u [ユーザー名] -p -h [host名] -P [ポート番号]


----------------------------------

ユーザー情報取得

mysql > SELECT Host, User, Password FROM mysql.user;


-----------------------------------

ユーザーの追加 ユーザー名:testuser パスワード:password

mysql > create user `testuser`@`localhost` IDENTIFIED BY 'password';

--------------------------------

ユーザーにDB操作権限を付与

対象:testuser@localhost 対象のパスワード:password 操作できるDB名:test_db

mysql > grant all privileges on test_db.* to testuser@localhost IDENTIFIED BY 'password';


-----------------------------------

ログイン中のユーザーのパスワードを設定する場合

mysql > set password = password('XXXXXXXXXXX');

--------------

特定のユーザーのパスワードを設定する場合

ユーザー名:testuser 新パスワード:hogehoge123 ホスト名:localhost

--------------------------------------

データベース一覧の表示

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| SNS |
| anjiiBlog_db |
| anpachi |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
6 rows in set (0.000 sec)


---------------------------------------

データベースの追加(test_dbを追加する場合)


MariaDB [(none)]> create database anjiiBlog_db;

Query OK, 1 row affected (0.000 sec)


--------------------------------------

データベースの選択(test_dbを選択する場合)

MariaDB [(none)]> use anpachi;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

---------------------------------------

テーブル一覧の表示 <-- データベースの選択後

MariaDB [anpachi]> show tables;
+---------------------------+
| Tables_in_anpachi |
+---------------------------+
| wp_bp_activity |
| wp_bp_activity_meta |
| wp_bp_friends |
| wp_bp_groups |
| wp_bp_groups_groupmeta |
| wp_bp_groups_members |
| wp_bp_invitations |
| wp_bp_messages_messages |
| wp_bp_messages_meta |
| wp_bp_messages_notices |
| wp_bp_messages_recipients |
| wp_bp_notifications |
| wp_bp_notifications_meta |
| wp_bp_user_blogs |
| wp_bp_user_blogs_blogmeta |
| wp_bp_xprofile_data |
| wp_bp_xprofile_fields |
| wp_bp_xprofile_groups |
| wp_bp_xprofile_meta |
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_signups |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+---------------------------+
32 rows in set (0.000 sec)


MariaDB [anpachi]> show open tables;
+----------+---------------------------+--------+-------------+
| Database | Table | In_use | Name_locked |
+----------+---------------------------+--------+-------------+
| anpachi | wp_bp_invitations | 0 | 0 |
| anpachi | wp_bp_messages_messages | 0 | 0 |
| anpachi | wp_comments | 0 | 0 |
| anpachi | wp_bp_user_blogs_blogmeta | 0 | 0 |
| anpachi | wp_term_relationships | 0 | 0 |
| anpachi | wp_bp_xprofile_groups | 0 | 0 |
| anpachi | wp_bp_xprofile_data | 0 | 0 |
| anpachi | wp_bp_activity_meta | 0 | 0 |
| anpachi | wp_bp_messages_meta | 0 | 0 |
| anpachi | wp_bp_xprofile_meta | 0 | 0 |
| anpachi | wp_bp_xprofile_fields | 0 | 0 |
| anpachi | wp_usermeta | 0 | 0 |
| anpachi | wp_postmeta | 0 | 0 |
| anpachi | wp_bp_friends | 0 | 0 |
| anpachi | wp_termmeta | 0 | 0 |
| anpachi | wp_bp_notifications | 0 | 0 |
| anpachi | wp_bp_messages_recipients | 0 | 0 |
| anpachi | wp_term_taxonomy | 0 | 0 |
| anpachi | wp_options | 0 | 0 |
| anpachi | wp_bp_messages_notices | 0 | 0 |
| anpachi | wp_bp_groups_groupmeta | 0 | 0 |
| anpachi | wp_bp_activity | 0 | 0 |
| anpachi | wp_commentmeta | 0 | 0 |
| anpachi | wp_signups | 0 | 0 |
| anpachi | wp_bp_groups_members | 0 | 0 |
| anpachi | wp_bp_groups | 0 | 0 |
| anpachi | wp_links | 0 | 0 |
| anpachi | wp_terms | 0 | 0 |
| anpachi | wp_bp_user_blogs | 0 | 0 |
| anpachi | wp_posts | 0 | 0 |
| anpachi | wp_bp_notifications_meta | 0 | 0 |
| anpachi | wp_users | 0 | 0 |
+----------+---------------------------+--------+-------------+
32 rows in set (0.000 sec)


---------------------------------------

テーブル詳細表示

mysql > show table status;

---------------------------------------

テーブルの作成

mysql > CREATE TABLE [テーブル名] ([フィールド名] [データ型] [オプション]) ENGINE=[InnoDB/MyISAM] DEFAULT CHARSET=[文字コード];


-< サンプル >--------------------

mysql > CREATE TABLE `m_users` (
`id` int NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT "ID",
`user_name` VARCHAR(100) NOT NULL COMMENT "ユーザー名",
`mail_address` VARCHAR(200) NOT NULL COMMENT "メールアドレス",
`password` VARCHAR(100) NOT NULL COMMENT "パスワード",
`created` datetime DEFAULT NULL COMMENT "登録日",
`modified` datetime DEFAULT NULL COMMENT "更新日"
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

----------------------------------------

テーブルの削除

mysql > DROP TABLE [テーブル名]

---------------------------------------

テーブル名の変更

mysql > ALTER TABLE [旧テーブル名] RENAME [新テーブル名]

-----------------------------------------

テーブルにカラムの追加

mysql > ALTER TABLE [テーブル名] ADD [追加カラム名] [型] [必要であればオプション等];

# users に tel という int型のカラム を デフォルトNULL で定義し、コメントには 電話番号 といれておき、 mail_addressカラムの後ろ に追加する


mysql > ALTER TABLE users ADD tel int DEFAULT NULL COMMENT "電話番号" AFTER mail_address

------------------------------------------

テーブル設計の確認

MariaDB [anpachi]> desc wp_usermeta;
+------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+----------------+
| umeta_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| user_id | bigint(20) unsigned | NO | MUL | 0 | |
| meta_key | varchar(255) | YES | MUL | NULL | |
| meta_value | longtext | YES | | NULL | |
+------------+---------------------+------+-----+---------+----------------+
4 rows in set (0.002 sec)



詳細 -----

MariaDB [anpachi]> SHOW FULL COLUMNS FROM wp_usermeta;
+------------+---------------------+--------------------+------+-----+---------+------------
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+------------+---------------------+--------------------+------+-----+---------+------------
| umeta_id | bigint(20) unsigned | NULL | NO | PRI | NULL | auto_increment | select,insert,update,references | |
| user_id | bigint(20) unsigned | NULL | NO | MUL | 0 | | select,insert,update,references | |
| meta_key | varchar(255) | utf8mb4_unicode_ci | YES | MUL | NULL | | select,insert,update,references | |
| meta_value | longtext | utf8mb4_unicode_ci | YES | | NULL | | select,insert,update,references | |
+------------+---------------------+--------------------+------+-----+---------+------------
4 rows in set (0.001 sec)

-------------------------------------------------

MariaDB [anpachi]> desc wp_usermeta meta_value;
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| meta_value | longtext | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
1 row in set (0.001 sec)


MariaDB [anpachi]> show global status like 'Thread_%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| Threadpool_idle_threads | 0 |
| Threadpool_threads | 0 |
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 10 |
| Threads_running | 6 |
+-------------------------+-------+
6 rows in set (0.001 sec)


MariaDB [anpachi]> show status like 'Thread_%';         上と同じ

MariaDB [anpachi]> show session status like 'Thread_%';    上と同じ

--------------------------------------------

実行中のスレッドを表示する

MariaDB [anpachi]> show processlist;
+----+-------------+-----------+---------+---------+------+--------------------------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+---------+---------+------+--------------------------+
| 1 | system user | | NULL | Daemon | NULL | InnoDB purge coordinator | NULL | 0.000 |
| 2 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 |
| 3 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 |
| 4 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 |
| 5 | system user | | NULL | Daemon | NULL | InnoDB shutdown handler | NULL | 0.000 |
| 23 | root | localhost | anpachi | Query | 0 | Init | show processlist | 0.000 |
+----+-------------+-----------+---------+---------+------+--------------------------+
6 rows in set (0.000 sec)

----------------------------------------------

テーブルの一覧表示とロック中のテーブルを表示する 

レコード操作 追加

mysql > INSERT INTO [テーブル名] [フィールド名] VALUES [値]

---------------------------------------------

レコード操作 更新

mysql > UPDATE [テーブル名] SET [フィールド名]=[値] [条件式]


<サンプル> ---------

mysql > UPDATE m_users SET user_name="Qii Takao", mail_address="qiitakao@hoge.com" WHERE id = 5;


-----------------------------------------------

全レコード削除

mysql > DELETE FROM [テーブル名]

---------------------------------------------

一部レコード削除

mysql > DELETE FROM [テーブル名] WHERE [条件式]

<サンプル> --------------------------------------------

mysql > DELETE FROM m_users WHERE id > 5 AND del_flg = 1;

-------------------------------------------

 トランザクション クエリを実行 --> トランザクションはCOMMIT/ROLLBACKをすると終了

< 例 >
mysql > START TRANSACTION;

mysql > UPDATE m_users SET user_name="Huga Hogeo", mail_address="huga@hoge.com" WHERE id = 5;

mysql > UPDATE m_users SET user_name="Hoge Hugao", mail_address="hoge@huga.com" WHERE id = 6;

mysql > SELECT * FROM m_users WHERE id IN(5,6);


# ここで状態確認をしたりする
mysql > COMMIT;


-------------------------------------------

トランザクションの開始

mysql > START TRANSACTION;

--------------------------------------------

トランザクションの終了  コミット

mysql > COMMIT;

-------------------------------------------

ロールバック

mysql > ROLLBACK;

----------------------------------------------

 データベースのダンプ

   全データベースのダンプ

$ mysqldump -u [ユーザー名] -p -x --all-databases > [出力ファイル名]


test_dbデータベースのダンプ

$ mysqldump -u [ユーザー名] -p -x test_db users > [出力ファイル名]


test_dbデータベースのusersテーブルのデータ内でidが5未満 ダンプ

$ mysqldump -u [ユーザー名] -p -x test_db users --where="id < 5" > [出力ファイル名]


----------------> 出力ファイル名 拡張子は何でも -------

-----------------------------------------------------------

リストア

$ mysql -u[ユーザー名] -p new_db < [ダンプファイル名]

********************************************************  
投票数:0 平均点:0.00

 
Back to Top