- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- @CreatedDate
- MAKE US
- DATABASE
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- RP 2๊ธฐ
- merge sort
- OpenAPI
- SSL
- datagrip
- java error
- node js
- Java
- docker
- Rp2๊ธฐ
- Unity
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- Spring
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- C++
- Quick Sort
- spring์ผ๋ก https ์ ์ฉ
- Data Structure
- mysql
- aligoapi
- MethodArgumentNotValidException
- GIT
- ์์คํ ์ํํธ์จ์ด
- spring ์์ ๋ก๊ทธ์ธ
- SQL
๋ชฉ๋กmysql (28)
YS's develop story
MySQL ํ๊ธ ์ ๋ ฅ์ด ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ฑํ๊ธฐ MySQL์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์์ฑํ ๋ ํน์ ์ค์ ์ ํด์ฃผ์ง ์์ผ๋ฉด ํ๊ธ์ ์ ๋ ฅํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณค ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๋ฉด ๋ฉ๋๋ค. create database (๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฆ) default character set utf8 collate utf8_general_ci;
MySQL๋ฌธ๋ฒ์ ์ฒ์์ด๊ธฐ์.... as, left join, timestampdiff ๋ฐ case when, current_timestamp()๋ฅผ ํ์ฉํ ๋ด์ฉ์ ๋์ค์ ๊ธฐ์ตํ๊ธฐ ์ํด ์ ๋ฆฌํด ๋ดค์ต๋๋ค. As ํ์ฉ as๋ฅผ ํ์ฉํด์ Event๋ผ๋ ํ ์ด๋ธ์ s๋ก ์ง์ ํ๊ณ ๋ณด๋ค ๊ฐ๊ฒฐํ๊ฒ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. LEFT JOIN ํ์ฉ Join ๋ฌธ์ ํ์ฉํ์ฌ Evnetํ ์ด๋ธ๊ณผ newCafeํ ์ด๋ธ์ ์ ๋ณด๋ฅผ ํ ๋ฒ์ ์ ๊ณตํ๋๋ก ํ ์ ์์ต๋๋ค. where์ eventIsDeleted = 'N'์ธ ํ ์ด๋ธ๋ง ํ์ํ๊ฒ ๋ค๋ ์กฐ๊ฑด๋ฌธ์ ๋๋ค. Join๋ฌธ์ ์๋์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. timestampdiff ๋ฐ current_timestamp() ํ์ฉ 2021-01-17์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ง๊ธ ์๊ฐ์ ์ผ๋ง๋ ํ๋ ๋..
alter table Event modify column [์นผ๋ผ ์ด๋ฆ] [์นผ๋ผ ํ์ ] : ์นผ๋ผ์ null ๊ฐ ํ์ฉ alter table Event modify column [์นผ๋ผ ์ด๋ฆ] [์นผ๋ผ ํ์ ] not null : ์นผ๋ผ์ null ๊ฐ ๋นํ์ฉ
new cafe๋ผ๋ ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ์ ๋ณด๊ฐ ์์ต๋๋ค ~ select * from ํ ์ด๋ธ ์ด๋ฆ; ์ด๋ผ๋ ์ฟผ๋ฆฌ๋ฅผ ์ ๋ ฅํ๋ฉด ์๋์ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋์ค๊ฒ ๋๊ณ .. select ํน์ ๊ฐ from ํ ์ด๋ธ ์ด๋ฆ; ์ด๋ฐ ์์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ๋ํ ์๋์ ๊ฐ์ User์ด๋ผ๋ table์ด ์์ ๋ select ํน์ ๊ฐ from ํ ์ด๋ธ ์ด๋ฆ where ํน์ ๊ฐ = ' '; ๊ณผ ๊ฐ์ด ํน์ ์กฐ๊ฑด์ ์ง์ ํด์ ๊ฐ์ ์ถ๋ ฅํ ์๋ ์์ต๋๋ค. ์ฌ์ฉ์์๊ฒ ์ ๊ณตํด์ผ ํ ๋ฐ์ดํฐ๋ฅผ ์์ ๋ก ์ ๋ฆฌํด ๋ณด์์ต๋๋ค. ์๋์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด ๋ด ์๋ค. 1์ฐจ ๋ฐ์ดํฐ ์์ ํ 2์ฐจ ๋ฐ์ดํฐ ์๋์ฒ๋ผ ์์ฑํ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ๋ฃ์ด ์ค์๋ค. as๋ฅผ ํ์ฉํด์ Event๋ผ๋ ํ ์ด๋ธ์ s๋ก ์ง์ ํ๊ณ ๋ณด๋ค ๊ฐ๊ฒฐ..
MySQL ) INSERT INTO๋ฌธ ํ์ฉํ๊ธฐ CafeReview๋ผ๋ ์๋์ ๊ฐ์ ํ ์ด๋ธ์ด ์์ต๋๋ค. reviewId๋ Auto inc๋ก ์ค์ ๋์ด ์์ต๋๋ค. ์ด์ INSERT INTO๋ฅผ ํ์ฉํ์ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํด ๋ด ์๋ค. reviewId์ ๊ฐ์ ์๋์ผ๋ก ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ฃ์ง ์์๊ณ , NOT NULL๊ฐ ๋ค์ ์ ๋ถ ๊ฐ์ ์ ๋ ฅํด ์ค๋๋ค. INSERT INTO CafeReview(content,cafeStar,userId,cafeId) VALUES ('this is test test!!',4,1,1); ์ฟผ๋ฆฌ๋ฅผ ์คํํด ์ค์๋ค.. ํ ์ด๋ธ์ ํ์ธํด๋ณด๋ฉด ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค!!
์ฌ์ฉํ mysql ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ์ต๋๋ค. create database * : * ์ด๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค. ๋ช ๋ น์ด๋ฅผ ์คํํ๊ณ schemas์ ๋ณด๋ฉด rphomework๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. drop database * : * ์ด๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค ๋ช ๋ น์ด๋ฅผ ์คํํ๊ณ schemas์ ๋ณด๋ฉด ์๋ ์์๋ STUDY๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ญ์ ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ํ ์ด๋ธ ์์ฑ/์ญ์ ๊ด๋ จ ๋ช ๋ น์ด๋ ๊ฐ์ต๋๋ค.. create table * : * ์ด๋ผ๋ ํ ์ด๋ธ์ ์์ฑํฉ๋๋ค. drop table * : * ์ด๋ผ๋ ํ ์ด๋ธ์ ์ ๊ฑฐํฉ๋๋ค.
์ค๋์ ๋ชฉํ!! ์นด์นด์คํก ์ฑํ ๋ชฉ๋ก ํ๋ฉด์ ERD์ค๊ณ๋ฅผ ํด๋ณด๊ณ , ์ด๋ฅผ ๋ณด์ฌ์ฃผ๋ MySQL ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํด ๋ด ์๋ค! DataGrip์ ์คํ ํ kakaoDB๋ผ๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์์ฑํด ์ค์๋ค schemas์ ์์ฑ๋ kakaoDB์ ํ ํ Jump to Query Console ์ ํ ์น ๊ธฐ๋ฐ ERD์ค๊ณ ์ฌ์ดํธ AQueryTool์์ ์๋์ ๊ฐ์ด ERD๋ฅผ ์ค๊ณํ์ต๋๋ค. https://aquerytool.com/ AQueryTool - AQuery.Web {{source.erd_info.erd_name + '(' + source.erd_info.db_type + ')'}} aquerytool.com ๋ชจ๋ ํ ์ด๋ธ ์์ฑ SQL ์ต์ ์ ํตํด SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑ ์์ฑ๋ SQL ์ฟผ๋ฆฌ๋ฅผ DataGrip์ ๋ณต์ฌ - ๋ถ์ฌ ๋ฃ๊ธฐ..
Ubuntu์์ MySQL๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ ๊ถํ์ ๋ถ์ฌํด ๋ด ์๋ค. ctrl alt t๋ฅผ ๋๋ฌ ํฐ๋ฏธ๋ ์ฐฝ์ ์คํ ํ ์๋์ ๋ช ๋ น์ด ์ ๋ ฅ.. apt-get update apt install mysql-server ์๋์ ๊ฐ์ด ์ค์น ๊ณผ์ ์ ๊ฑฐ์ณ์... ๋ฃจํธ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ์ค์ ์๋์ ๋ช ๋ น์ด๋ก MySQL์ ์, ๋น๋ฐ๋ฒํธ ์ ๋ ฅ /usr/bin/mysql -u root -p ์ด์ MySQL๋ฅผ ์ฌ์ฉํ ๊ณ์ ์ ์์ฑ์ ๋ง๋ค์ด ์ค์๋ค. ์น ์๋ฒ ๋ฑ๊ณผ ์ฐ๊ฒฐ์ ํ์ฌ ์ฌ์ฉํ ๋ root๊ณ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณด์์ ์ํํ๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๊ณ์ ์ ๋ง๋ค๊ณ ๊ถํ์ ๋ถ์ฌํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋์ ์ฟผ๋ฆฌ๋ฅผ ํตํด ์๋ก์ด ์ฌ์ฉ์๋ฅผ ๋ง๋ค๊ณ create user '์ฌ์ฉ์ ์์ด๋'@'localhost' identified b..