일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 대문자
- Vue.js
- URL입력
- CompositionAPI
- 리액트
- 웹 개발 면접 질문
- 백준
- 자바
- 알고리즘
- IT시스템개발
- 간단 프로젝트
- 백준알고리즘
- 트리
- 사내시스템
- MySQL
- 오라클
- SBS 본사
- 뷰 리액트
- 뷰 리액트 비교
- 첫 리액트
- e-HR
- react
- 1차면접
- 프로젝트 후기
- SBS 개발
- 쟈스
- 첫 React
- 뷰
- 면접
- 경력직
- Today
- Total
목록DB 공부 (15)
리주의 프로그래밍 공부
on delete cascade 회원 탈퇴 기능으로 Mapper를 작성하는 도중에, 부모테이블(ex. 유저 테이블) 삭제시, 자식테이블(ex. 댓글, 좋아요 등)의 데이터 값도 동시에 삭제할 수 있을까? 라는 생각으로 찾아보다 알게된 함수로 부모 테이블의 데이터를 삭제할 때, 참조된 자식 테이블의 데이터도 자동으로 삭제 사용 예시 1. 기존에 생성했던 제약조건명을 다음 명령어로 확인 select * from information_schema.table_constraints; 2. 해당 테이블에서 수정하기를 희망하는 제약조건명을 삭제후, alter table (서버명).(테이블명) drop foreign key (제약조건명); 3. on delete cascade를 추가하여 새로운 제약조건을 생성 alte..

해시태그 기능을 구현하면서 다음과 같이 DB를 설계했다. 문제는 writing과 tag를 insert하고나서 이 관계를 위한 writingtag를 insert할때 생겼다. 바로 writing의 no의 값을 가져오는 일이었다. (no : auto_increment) tagId는 입력받은 tag의 name을 가지고 가져올 수 있으나, writing의 경우에는 no를 가져올 방법이 없었기 때문이다. 이럴 때 사용하는게 Mybatis의 SelectKey 기능이다. keyProperty : 어느 변수에 반환할지 resultType : 자료형 order : after은 insert 실행 후 처리 before은 insert 실행 전 처리 그 결과 insert구문이 끝나면, selectKey가 작동되어, auto_in..

Group_concat 한 column에 여러 값을 붙여 저장할 때 사용 아래 사이트에 들어가면 구분자(기본값 : 쉼표)를 바꾸는 방법도 나와있다. 참고 사이트 www.w3resource.com/mysql/aggregate-functions-and-grouping/aggregate-functions-and-grouping-group_concat.php

JOIN (INNER JOIN) >> select * from A join B on A.name = B.name; A의 name(column)과 B의 name(column)이 서로 같은 값들을 가진 레코드 출력 LEFT JOIN >> select * from A left join B on A.name = B.name; 기본적으로 A 테이블을 출력하고 A의 name과 B의 name이 같은 B의 column 값들을 레코드에 추가 출력 만약 A 테이블의 한 개의 레코드에 일치하는 B의 레코드가 여러개라면, A 테이블의 레코드를 여러번 출력 RIGHT JOIN >> select * from A right join B on A.name = B.name; 기본적으로 B 테이블을 출력하고 A의 name과 B의 nam..
distinct >> 중복된 데이터 제거후 출력 Select ~ 로 데이터를 조회했을 때, 조건에 따라 중복된 레코드가 나올 경우가 존재한다. 이 때에는 Select distinct ~ 를 적으면 중복된 레코드가 제거되어 출력된다. 주의 : distinct는 함수가 아닌 키워드 비교) Group by : distinct + 정렬 기능이라 생각하면 쉽다.
절댓값을 구하는 함수 : ABS(n) ex) SELECT ABS(35), ABS(-35) FROM DUAL; -> 35, -35 음수/양수를 알려주는 함수 : SIGN(n) ex) SELECT SIGN(35), SIGN(-35), SIGN(0) FROM DUAL; -> 1, -1, 0 반올림 값을 알려주는 함수 : ROUND(n, i) ex) SELECT ROUND(34.345678), ROUND(34.6788) FROM DAUL; -> 34, 35 SELECT ROUND(12.345678,2), ROUND(12.3456778,3) FROM DUAL; -> 12.35, 12.346 숫자를 자르는 함수 : TRUNC(n, i) ex) SELECT TRUNC(666.666, 2) FROM DUAL; -> 6..

이름은 몇 글자인가? 성은 제외하고 이름만 어떻게 되는가? 이름에 비니 공백은 제거하고 출력할 것 영문 이름인 경우 첫 글자는 소문자로 이러한 요청을 위해 함수를 사용 패딩 함수 : 빈공간을 채우는 함수(byte) SELECT LPAD('HELLO', 5) FROM DUAL; -> HELLO SELECT LPAD('HELLO', 10, '0') FROM DUAL; -> 00000HELLO SELECT RPAD('HELLO', 10, '0') FROM DUAL; -> HELLO00000 문제. 회원의 이름을 조회하시오.(단, 이름의 길이가 3자가 안되는 경우에는 이름 오른쪽을 밑줄로 채우시오.) 첫 글자를 대문자로 바꾸는 함수 SELECT INITCAP('the ...') FROM DUAL; -> The ..
문자열함수 문자열 추출함수 SUBSTR(문자열, 시작위치, 길이) ex) SELECT SUBSTR('HELLO', 1, 3) FROM DUAL; => 첫번째 문자부터 3개 가져오기 HEL SELECT SUBSTR('HELLO', 3) FROM DUAL; => 3번째 문자부터 가져오기 LLO SELECT SUBSTRB('HELLO',3) FROM DUAL; => 3번째 byte에서부터 가져오기 LLO 문제. 모든 학생의 이름과 출생 월만을 조회하시오. => SELECT NAME, SUBSTR(BIRTHDAY, 6, 2) FROM MEMBERS; 문제. 회원 중에서 전화번호가 011으로 시작하는 회원의 모든 정보를 출력하시오. => SELECT * FROM MEMBERS WHERE SUBSTR(PHONE, ..