MySQL 10

[React]react와 mysql 연결

0. 파일 구조 1. DB 설정 1-1. mysql DB를 만든 후 권한설정을 한다. 첫번째 빨간색에는 user이름이 두번째 빨간색에는 비밀번호가 들어간다. 1-2. 사용할 데이터들을 DB에 insert한다. 2. config -> db.js 수정 const mysql = require('mysql'); const db = mysql.createPool({ host : '[host]', user : '[유저 이름 ]', password : '[비밀번호]', database : '[DB 이름]' }); module.exports = db; 만든 DB에 접속할 수 있도록 config에 db파일을 만들어준다. 3. server.js 수정 const express = require('express'); cons..

[1] docker로 만든 mysql 에 접속하는 법

1. cmd 창에 docker ps를 통해 컨테이너의 ID를 알아낸다. (컨테이너가 run상태여야 한다.) 2. docker exec -it [컨테이너 ID] mysql -uroot -p 입력 또는 그냥 여기서 들어가도 된다. 3. 비밀번호 입력 후 들어갈 수 있다. 4. show databases; 데이터 베이스들을 확인한다. 5. use [데이터 베이스 이름] ; 이제 원래 사용하던 대로 mysql 명령어를 이용해서 테이블들을 이용하면 된다. [+ cmd에서 복붙을 할 때는 마우스 우클릭을 이용하면 된다. ]

[0][intellij]docker를 이용한 mysql 서버 띄우기

0. spring 프로젝트 생성 start.spring.io 사이트에서 프로젝트를 생성한다. https://start.spring.io/ 1. docker 이미지 pull & 컨테이너 실행 docker run -e MYSQL_ROOT_PASSWORD=mysqlpw -e MYSQL_DATABASE=demo -p 3306:3306 mysql:8 위 명령어를 cmd에 입력해준다. (도커를 킨 상태에서) 비밀번호는 mysqlpw이고 database이름은 demo이다. 이런 식으로 갖고와진다. 2. application.properties 입력 spring.jpa.hibernate.ddl-auto=no..

[mysql][프로그래머스]SQL 고득점 kit 답!!

select 3월에 태어난 여성 회원 목록 출력하기 select member_id, member_name, gender, date_format(date_of_birth, '%Y-%m-%d') as date_of_birth from member_profile where gender = 'w' and tlno is not null and month(date_of_birth) = 3; select 하는 date는 date_format을 이용해서 포맷을 변경해줘야함 특정 달을 선택하는 것은 날짜를 month로 씌워서 비교하면 된다. date_format에서 대소문자에 따라 어떤 format인지가 다르다. Y가 대문자면 1992 와 같은 형식이 나오고 y라면 92가 나온다. M이라면 march 이런 식으로 영어로..

3-2/DB 2022.03.04

[프로그래머스][join][mysql]없어진 기록찾기(left join ,right join)

https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr outs테이블에는 있는데 ins테이블에는 존재하지않는 튜플들을 찾는 문제이다. left join을 사용하면 select outs.animal_id, outs.name from animal_outs outs left join animal_ins ins o..

3-2/DB 2022.02.24

[mysql]Workbench_ER다이어그램 그리는 법

먼저 이렇게 열심히 쿼리문을 이용해서 테이블을 만들고, 관계를 설정해준다. 각 실행결과는 ctrl + enter을 이용해 확인 할 수 있다. 상단 메뉴에서 Database -> Reverse Engineer을 선택한다. 이런 창이 뜹니다. 포트번호와 username이 맞는 것을 확인하고 next를 누릅니다. 해당 username의 password를 작성해줍니다. 비밀번호가 잘 확인이 되면 이런식으로 출력됩니다. next를 눌러줍니다. 리버스할 스키마를 선택하고 next를 눌러줍니다. 비밀번호를 또 입력해줍니다 여기서 next -> finish를 누르면 ER 다이어그램이 완성됩니다. 이런식으로 ER다이어그램이 그려집니다~ "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니..

3-2/DB 2021.12.10

인텔리제이와 aws의 mysql DB와 연결하기[RDS]

1. 데이터베이스 생성 먼저 AWS에 로그인합니다. 그 후 데이터베이스에 RDS를 찾습니다. 데이터베이스 생성 클릭 이름과 암호를 잘 기억해두어야합니다. 나머지는 원래 설정과 동일하게 두고 데이터베이스 생성 버튼을 누르면 아래 사진과 같이 데이터베이스를 생성할 수 있습니다. 2. 타임존 설정 다시 데이터베이스 - RDS로 들어갑니다. 파라미터 그룹으로 들어가 그룹을 생성해줍니다. 원래있던 패밀리가 8.0 이므로 이처럼 mysql8.0으로 설정한 후 그룹이름을 적고 생성해줍니다. 주의할 점은 한글인지, 대문자인지 오류가 발생한다는 것입니다. 그룹이름, 설명 둘다 소문자 영어로 해줍시다. umc를 클릭하고 검색창에 zone을 검색해줍니다. 그후 파라미터 편집 버튼을 클릭합니다. 아시아/서울을 선택합니다. 그..

UMC🚀 2021.11.19

[mysql] not in , in , exists, not exists 예시

food, color 두개의 table 이 있다. 이때 not in과 in이 어떻게 행동하는지 알아보자 먼저 알아야하는 것은 null연산은 unkown이다. 먼저 IN in 은 내부쿼리를 통해 list를 만들고 외부쿼리의 값과 비교한다. ( 내부쿼리 -> 외부쿼리) not IN은 unkown을 미포함한다. "=" 연산과 같다. select * from food where number in (select number from color); 먼저 내부쿼리를 통해 list를 만든다. color의 number이므로 {1, 2, 3, 4, null }이다. 이를 food 테이블의 number와 비교한다. null과 null의 연산은 unkown이고, in에서는 미포함이므로 null은 출력되지않는다. 즉, food..

3-2/DB 2021.11.17

[Mysql]Trigger생성과 삭제(feat. delimiter)

더보기 Mysql의 기능 Trigger에 대해서 설명해보고자 한다. ASSERTION 문이 존재하지만 ASSERTION은 기본 SQL에 포함되지 않는다. mysql에서도 지원하지않는다고 하니 비슷한 역할을 하는 Trigger을 알아보자 Trigger 특정 사건이 발생하고, 특정 조건이 만족될때 저절로 실행되는 말그대로 방아쇠 같은 역할을 한다. 위키백과의 말을 빌리자면 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미한다. 트리거는 사건, 조건, 동작을 포함한다. 어떤 사건이 발생하면 검사가 시작되고, 동작을 수행할 조건이 명시되어있으며, 주어진 조건이 만족되면 동작을 실행한다. 예시 코드을 통해 알아보자 delimiter // create trigger [트리거 이름] [before/upda..

3-2/DB 2021.10.25

MySQL 기본 실습 - show databases(1)

기본 실습! MySQL은 DBMS이다. DBMS는 database들로 이루어져있다. 명령 프롬프트에서 mysql -uroot -p를 입력하고, 비밀번호를 입력한다. -> MySQL에 접속된것이다. dbdesign이라는 database를 만든다. show명령어를 이용해서 현재의 databases를 확인할수있다. 방금 create를 이용해서 생성한 Database가 있음을 확인할수있다. database를 생성하면 serverTimezone을 설정해주어야한다. 앞서 권한에서 설정한 비밀번호를 입력해야한다. ->아까와는 약간 다른 database들 -> 내장 함수 이용 솔직히 뭔말인지 잘 모르겠다. DB어렵다. 열심히 해봐야겠다.

3-2/DB 2021.09.10