0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

個人的によく使う SQL文 簡易まとめ + 個人的なメモ

Last updated at Posted at 2023-06-09

こんにちは、新米エンジニアが忘備録として書き溜めていきます。
知識が増えたらリライトします。

SQL 文でよくお世話になってるサイト

ログイン

mysql -u {ユーザー名} -p

確認系

データベース一覧確認

show databases;

データベースに入る

use {対象DB名}:

テーブル一覧

対象データベースに入っているなら
show tables;
もしくは
show tables from {対象データベース名};

テーブルの中身

SELECT * FROM {テーブル名};

適当なテーブルとカラム指定して表示 、区切りは「,」
limit 5 は5行まで表示

select {カラム名} from {テーブル名} limit 5;
例:mysql> select id,provider,bucket from test_table limit 5;

ユーザー一覧

select user, host from mysql.user;

対象ユーザーの権限確認

SHOW GRANTS FOR {対象ユーザー名}@{対象ホスト名};
例:mysql> SHOW GRANTS FOR root@localhost;

認証プラグイン確認

SELECT User, Host, Plugin FROM mysql.user;

対象ユーザーに関する情報を確認

select * from mysql.user where user='{ユーザー名}'\G

現在の接続ユーザーを確認

select user(), current_user();

作成系

データベース作成
https://www.javadrive.jp/mysql/database/index1.html

CREATE DATABASE {データベース名};

テーブル作成
https://www.javadrive.jp/mysql/table/index1.html

create table {テーブル名}({カラム名} {データ型} {オプション})
例:mysql> create table testtable(id int, name varchar(10));

データ挿入

INSERT INTO {テーブル名}(カラム名) VALUES ('値');
例:mysql> INSERT INTO testtable(name) VALUES ('りんご');

カラム挿入

ALTER TABLE {テーブル名} ADD COLUMN {カラム名} {データ型};
例:mysql> ALTER TABLE testtable ADD COLUMN stock INT;

ユーザー作成

create user {希望のユーザー名}@{希望のホスト名} identified by '希望のパスワード';

削除系

データベース削除

drop database {データベース名};

テーブル削除

drop table {テーブル名};

カラム削除

ALTER TABLE {テーブル名} DROP COLUMN {カラム名};
ALTER TABLE testtable DROP COLUMN stock;

ユーザー削除

drop user {ユーザー名}@[{ホスト名};

変更系

ユーザーの権限変更
https://www.javadrive.jp/mysql/user/index5.html
https://www.javadrive.jp/mysql/user/index6.html

db_name内の全ての操作を許可する
例:mysql> GRANT ALL ON db_name.* TO {ユーザ名};

全てのデータベースの全ての操作を許可する
例:mysql> grant all ON *.* TO 'root'@'192.168.0.%';

db_name内の SELECT 権限を許可(検索、表示等、INSERT もいける)
例:mysql> GRANT SELECT, INSERT ON db_name.* TO {ユーザ名};

対象ユーザーの認証プラグイン変更

ALTER USER {ユーザ名}@{ホスト名} IDENTIFIED WITH mysql_native_password BY '{パスワード}';

認証プラグインを「caching_sha2_password」から「mysql_native_password」に変更する場合
例:mysql> ALTER USER test@localhost IDENTIFIED WITH mysql_native_password BY 'password';

設定反映

flush privileges;

抜け出す

exit;
もしくは
Ctrl + D

個人的なメモ

USAGE権限について

USAGE権限はグローバルレベルでのみ指定が可能な権限で、
この権限を設定すると何も権限が無いことになります。

mysql> show grants for test@localhost;
+------------------------------------------------------------------------+
| Grants for test@localhost                                      |
+------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `test`@`localhost`                       | |
+------------------------------------------------------------------------+
1 rows in set (0.00 sec)
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?