목록DB (15)
hrming
SELECT count(*) cnt FROM `table` WHERE `start` :start참고 및 출처 : https://ysb334kr.tistory.com/m/41 날짜 중복 체크 쿼리SELECT count(*) cnt FROM `table` WHERE `start` :start 위 쿼리만 적용하면 중복 여부를 한번에 알아낼 수 있다. 삭제 대비용 원본글 복사 -- cnt가 0 이면 정상 1 이면 중복 -- SELECT COUNT(*) cnt FROM 테ysb334kr.tistory.com
■ Subquery- 복잡한 SQL 쿼리문에 많이 사용됨- 메인 쿼리라고 부르는 외부 쿼리가 있고, 외부 쿼리 내에 다른 쿼리문, 즉 내부 쿼리가 있는 구조 ■ Join- 2개 혹은 그 이상의 테이블을 연결하고, 연결한 테이블로부터 필요한 열을 조회함 ※ 서브쿼리는 가독성이 좋지만 성능이 조인에 비해 좋지 않다.■ Subquery → Join으로 변경이 가능한 경우,- 중첩 서브쿼리이면서 (=서브쿼리가 WHERE절 내에 존재),① 스칼라 서브쿼리가 사용된 경우② IN 혹은 NOT IN 연산자 안에 있는 서브쿼리③ 상호연관 서브쿼리로, EXISTS 혹은 IN NOT EXISTS 연산자 안에 있는 서브쿼리 ** 상호연관 서브쿼리: 서브쿼리가 메인쿼리와 연관되어있는(서브쿼리에서 메인쿼리를 참조하는) 경..
■ 서브 쿼리- 서브쿼리란 메인쿼리에 속해있으며 부모와 자식같은 계층적인 관계임- 서브쿼리가 메인쿼리에 종속되기 때문에 단독적으로 실행할 수 없고, 메인쿼리를 필터링하는 방식으로 사용됨- 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 칼럼을 사용할 수 없음- 메인쿼리에서 서브쿼리의 칼럼을 사용할 수 있는 경우는 `스칼라 서브쿼리`, `인라인 뷰` 종류설명스칼라 서브쿼리(Scalar Subquery)SELECT 절에 위치하며, 한 레코드당 정확히 하나의 값을 반환하는 서브쿼리(단일행, 단일 칼럼을 반환)** 다중 행 값이 조회되면, "ORA-01427: single-row subquery returns more than one row" 라는 오류 발생 인라인 뷰(Inline V..
■ DELETE, TRUNCATE, DROP- 삭제의 범주와 대상에 따라서 3가지의 명령어로 구분됨 ( DELETE ■ DROP- 데이터 베이스를 지우거나, 테이블 `자체`를 지우는 명령어-- 데이터 베이스 삭제 --DROP DATABASE 데이터베이스명;-- 테이블 자체를 삭제 --DROP TABLE 테이블명;■ TRUNCATE- 행 전체 데이터 뿐만 아니라 행이 저장되어 있던 공간과 인덱스도 삭제-- 테이블 안의 데이터를 삭제 --TRUNCATE 테이블명; ■ DELETE- 행 일부 또는 전체 데이터를 삭제-- 테이블 안의 값 전체 삭제 --DELETE FROM 테이블명;commit; // commit은 항상 수동으로 해준다(autocommit이 OFF일때)-- 테이블 안의 값 조건걸어서 일부만 삭제..
■ FK(Foreign Key)- 외래키, 외부키, 참조키, 외부 식별자 등으로 불림- PK가 정의된 테이블을 자식테이블이라고 함- 부모테이블은 자식의 데이터나 테이블이 삭제되도 영향을 받지 않음- 참조하는 데이터 컬럼과 데이터 타입은 반드시 일치해야 함- 참조할 수 있는 컬럼은 PK와 UNIQUE만 가능함. (보통은 PK)- 부모테이블에 먼저 데이터가 입력되어야 참조가 가능함. (처음 설계 중요) ■ 자식테이블과 참조관계에 있는 부모테이블의 참조 데이터를 삭제하려면, 아래와 같은 방법으로 참조 관계를 끊어야 한다.① 현재 삭제하려는 열 값을 `참조하는 자식 데이터를 먼저 삭제`한다② 현재 삭제하려는 열 값을 `참조하는 자식 데이터를 수정`한다(다른 값 or Null)③ 현재 삭제하려는 열을 참조하는 자..
NOT NULL = NOT NULL ENABLE NULL = NULL DISABLECREATE TABLE FOO (PRIORITY_LEVEL NUMBER DEFAULT 42 NOT NULL ENABLE); // DefaultCREATE TABLE FOO (PRIORITY_LEVEL NUMBER DEFAULT 42 NOT NULL);// NOT NULL ENABLE = NOT NULLCREATE TABLE FOO (PRIORITY_LEVEL NUMBER DEFAULT 42 NOT NULL DISABLE);CREATE TABLE FOO (PRIORITY_LEVEL NUMBER NULL);// NOT NULL DISABLE = NULL 참고 및 출처 :https://stackoverflow.com/questi..
DBeaver Community 버전에는 dump 메뉴가 없어서...SQL INSERT문으로 내보내기를 사용해서, 개발DB 백업 🥲 1. 복사할 테이블 선택 및 마우스 우클릭 - 데이터 내보내기 2. SQL INSERT 문으로 내보내기 3, Extraction Settings - By Segments ** 예를 들어, 10,000개의 레코드가 있는 테이블에서 데이터를 추출하려고 하고, 세그먼트 크기를 1,000으로 설정한 경우, DBeaver는 데이터를 1,000개의 레코드씩 10개의 세그먼트로 나누어 추출하여, 각 세그먼트에 대해 별도의 INSERT 문이 생성된다. 이 방식은 데이터 추출 및 로드 과정에서 안정성과 성능을 향상시키는 데 유용하게 사용된다. 4. Format Settings- Incl..
- 테이블/구조 복사 : Table - Properties - DDL 탭에 있는 내용 복/붙- 데이터 가져오기 : 테이블 우클릭 - 데이터 가져오기 - 데이터베이스 테이블 - 가져올 테이블 선택 - 다음 (계속) - 진행참고 및 출처https://yummiyummy.tistory.com/113 초록색 저장소에 테이블복사하는 방법! 테이블 복사하는 방법 A테이블을 B테이블로 복사하는 방법 복사하고싶은 (A테이블) 테이블에서 마우스 우측버튼 > SQL" data-og-host="yummiyummy.tistory.com" data-og-source-url="https://yummiyummy.tistory.com/113" data-og-url="https://yummiyummy.tistory.com/113" d..