SQL

자주 사용하는 SQL문(feat. Spring 웹 애플리케이션을 실행해서 SQL문으로 저장된 내용을 조회해보자!)

jayoon 2024. 1. 23. 23:49

개요


spring과 JPA를 사용하여 만든 서버 애플리케이션을 빌드하고 실행 했을 때 mysql client 프로그램을 통해 어떻게 데이터베이스에 저장된 데이터를 볼 수 있을까?

방법


데이터베이스 만들기

mysql> create database strcat;
Query OK, 1 row affected (0.04 sec)

존재하는 모든 데이터베이스 보기

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| strcat             |
| sys                |
+--------------------+
5 rows in set (0.05 sec)

데이터베이스 선택

mysql> use strcat;
Database changed

내가 선택한 데이터베이스 알기

mysql> select database();
+------------+
| database() |
+------------+
| strcat     |
+------------+
1 row in set (0.00 sec)

해당 데이터베이스에 존재하는 모든 테이블 출력하기

mysql> show tables;
+------------------+
| Tables_in_strcat |
+------------------+
| oauth_user       |
| user             |
+------------------+
2 rows in set (0.04 sec)

특정 테이블의 모든 열(column)에 해당하는 데이터 가져오기

mysql> select * from user;
+----------------------------+----+
| created_at                 | id |
+----------------------------+----+
| 2023-11-13 02:16:17.505851 |  1 |
+----------------------------+----+
1 row in set (0.01 sec)

테이블의 스키마 출력하기

mysql> desc user;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int          | NO   | PRI | NULL    | auto_increment |
| password | varchar(255) | YES  |     | NULL    |                |
| role     | varchar(255) | YES  |     | NULL    |                |
| username | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)

'유저'@'호스트' 에게 특정 '테이블'에 대한 모든 권한 부여하기

GRANT ALL PRIVILEGES ON '테이블 명'.* TO '유저 명'@'호스트 명';

mysql> grant all privileges on plus_alpha.* to spring@localhost;
Query OK, 0 rows affected (0.03 sec)

변경 내용 즉시 적용하기

FLUSH PRIVILEGES;

환경마다 변경 내용이 즉시 적용 되지 않는 때가 있다고 한다. 그때 이를 하면 바로 적용된다.

'유저'@'호스트'에 대한 모든 권한 보기

mysql> show grants for spring@localhost;
+--------------------------------------------------------------+
| Grants for spring@localhost                                  |
+--------------------------------------------------------------+
| GRANT SELECT ON *.* TO `spring`@`localhost`                  |
| GRANT ALL PRIVILEGES ON `security`.* TO `spring`@`localhost` |
+--------------------------------------------------------------+
2 rows in set (0.00 sec)

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목

제목