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