1️⃣ データベース操作
| 操作 | コマンド | 説明 |
|---|
| データベース一覧 | SHOW DATABASES; | 現在のDBを全部表示 |
| DB作成 | CREATE DATABASE dbname; | 新しいDBを作成 |
| DB削除 | DROP DATABASE dbname; | DBごと削除(注意) |
| 使用DB選択 | USE dbname; | 作業対象のDBを切り替え |
2️⃣ テーブル操作(DB選択後)
| 操作 | コマンド | 説明 |
|---|
| テーブル一覧 | SHOW TABLES; | 現在DBのテーブル一覧 |
| 作成 | CREATE TABLE tablename (id INT, name VARCHAR(50)); | テーブル作成例 |
| 削除 | DROP TABLE tablename; | テーブル削除 |
| 内容確認 | SELECT * FROM tablename; | 全データ表示 |
3️⃣ ユーザー操作
| 操作 | コマンド | 説明 |
|---|
| ユーザー一覧 | SELECT User, Host FROM mysql.user; | 全ユーザー確認 |
| ユーザー認証詳細 | SELECT User, Host, authentication_string, plugin FROM mysql.user; | パスワード状態・認証方式確認 |
| 権限確認 | SHOW GRANTS FOR ‘casio’@’localhost’; | ユーザー権限一覧 |
| ユーザー作成 | CREATE USER ‘username’@’host’ IDENTIFIED BY ‘password’; | 新しいユーザー作成 |
| ユーザー削除 | DROP USER ‘username’@’host’; | ユーザー削除 |
| 権限付与 | GRANT ALL PRIVILEGES ON dbname.* TO ‘username’@’host’; | DB単位で権限付与 |
| 権限剥奪 | REVOKE ALL PRIVILEGES ON dbname.* FROM ‘username’@’host’; | 権限を剥奪 |
| 権限反映 | FLUSH PRIVILEGES; | 変更を即反映 |
4️⃣ データベース権限確認(DB単位)
| 操作 | コマンド | 説明 |
|---|
| DBにアクセスできるユーザー確認 | SELECT User, Host, Db FROM mysql.db WHERE Db=’DB名’; | そのDBに権限あるユーザー確認 |
5️⃣ セッション操作
| 操作 | コマンド | 説明 |
|---|
| 接続終了 | EXIT; または QUIT; | MariaDBからログアウト |
| 入力キャンセル | \c | 未完のコマンドを中断 |
6️⃣ 補足ポイント
- SQLコマンドは必ずセミコロン ; で終わる
- ターミナルプロンプト($, %など)は入力しない
- パスワードは平文で見られない → ハッシュ値のみ
- rootユーザーで作業すると楽だが、安全運用なら専用ユーザー作成推奨
💡 一言でまとめ
「データベース操作・ユーザー操作は別物。ユーザーは権限でDBにアクセスする」