목록기록/DB (7)
개발 기록이

1. 테이블 복사1) 테이블 복사(테이블 구조 + 데이터) SELECT * INTO [새로 생성할 테이블명] FROM [원본 테이블명] SELECT * INTO [new_table] FROM [orgin_table] 2) 테이블 복사(테이블 구조만 복사) SELECT * INTO [새로 생성할 테이블명] FROM [원본 테이블명] WHERE 1=2SELECT * INTO [new_table] FROM [orgin_table] WHERE 1=2-- WHERE 1=2 는 항상 false -> 데이터는 복사가 안 됨 3) 테이블 복사(데이터만 복사) INSERT INTO [복사한 데이터를 넣을 테이블명] SELECT * FROM [원본 테이블명]INSERT INTO [new_table] SELECT * F..
다음표와 같이 회원정보별 구입한 물품이 있다고 가정해 보자.회원아이디구입상품정렬값user1 마우스1user1키보드3user1아이스크림4user1과자5user1꽃2user2커피6user2음료수8user2펜7user2신발11user2거울10user2가방9 GROUP_CONCAT를 사용해서 유저별 구입상품을 products라는 이름으로 하나의 문자열로 결합할 수 있다. 결합할 컬럼의 구분자는 SEPARATOR 뒤에 지정해준다.SELECT USER_ID, GROUP_CONCAT(PRODUCT SEPARATOR ', ') AS PRODUCTSFROM PURCHASES_TBGROUP BY USER_ID 특정 정렬값에 따라 정렬된 상태로 문자열을 묶으려면, 결합할 컬럼 바로 뒤에 ORDER BY 절을 추가하면 된다..

Oracle에서 DECODE와 CASE문을 이용하여 조건문을 처리할 수 있다. 1. DECODESELECT DECODE(POSITION, '부장', UNISTR('책임'), POSITION) AS POSITION_NMFROM EMP_TB;SELECT DECODE(DEPART_ID, 100, '인사팀', 200, '디자인팀', 300, '영업팀', '기타') AS DEPART_NMFROM EMP_TB; * UNISTR 함수문자열을 유니코드 형식으로 변환하여 다양한 인코딩 환경에서도 인코딩이 깨지지 않고 올바르게 표시될 수 있도록 한다. 2. CASESELECT CASE DEPART_ID ..

시퀀스 값이 불규칙한 상태(ex: 1, 10, 2, 3, 5, 7)에서 특정 시퀀스의 앞 행과 뒤 행의 값을 조회하는 방법에 대해 알아보자. mybatis에 적용하기 위해서 SET 방식(SET @rownum:=0;)이 아닌 다음과 같은 방식으로 rownum을 생성했다. SELECT @rownum := @rownum + 1 AS rownum, post_seq, title, contents, reg_date, mod_date FROM ( SELECT post_seq, title, contents, reg_date, ..

mybatis mapper를 작성할 때, 중복으로 사용되는 조건절인 경우에는 자바스크립트의 function()처럼 따로 만들어두고 필요할 때만 해당 조건절을 가져와서 사용할 수 있다. 을 이용하여 작성 --> fruit_name like '%' + #{parameterValue} + '%' SELECT * FROM fruitTable 를 이용하여 에 작성한 쿼리 내용을 가져옴 --> 다음과 같은 쿼리와 동일한 결과를 나타낸다. SELECT * FROM fruitTable WHERE fruit_name like '%' + #{parameterValue} + '%' Sql 아이콘 제작자: Dimitry Miroliubov - Flaticon">HTML 삽입미리보기할 수 없는 소스출처..
mysql 공부 중에 용어가 자주 나오는데 헷갈려서 간단하게 정리해본다. 1. 딕셔너리(Data Dictionary) - 데이터베이스 서버에 속한 데이터들의 정보(테이블 구조 정보, 스토어드 프로그램 정보 등)를 저장한 것을 의미 2. 메타데이터(Meta Data) 1. 메타데이터의 사전적 의미 - 어떤 목적을 가지고 만들어진 데이터 - 다른 데이터를 설명해주는 데이터 2. DB에서의 메타데이터 - 데이터베이스에 저장되는 데이터를 설명해주는 데이터 3. MySQL에서의 메타데이터 - MySQL에서는 메타데이터들을 종류별로 묶어서 테이블을 만듦 - 그 테이블을 모아서 만든 데이터베이스 → Information_schema 데이터베이스 * Information_schema 데이터베이스란? - MySQL 서버..

인터넷에 검색하면 mysqldump를 이용해서 백업하는 법이 많이 소개되는데 간단하게 HeidiSQL에서 백업할 수 있는 방법에 대해 다뤄보려고 한다.1. HeidiSQL에서 백업하고자 하는 데이터베이스(test1) -> 마우스 오른쪽 클릭 -> [데이터베이스를 SQL로 내보내기] 클릭 2. 백업 경로를 지정하고 [내보내기] 클릭3. 내보내기를 클릭하면 아래와 같은 화면이 뜬다.4. 데이터베이스를 백업한 경로로 이동하여 testFile.sql 파일을 열고 CREATE DATABASE 부분과 USE 부분의 데이터베이스명을 'test1_backup' 과 같이 기존 데이터베이스명과 구별할 수 있도록 데이터베이스 명을 변경한 후 저장. ✔ check point- CREATE DATABASE IF NOT EXIS..