3-2/DB 6

[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

[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