일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Xcode
- 스프링부트
- CI
- 다이어리
- DBMS
- 인공지능
- libasm
- 42seoul
- JPA
- springboot
- 리눅스
- jenkins
- 스프링부트 웹 소켓
- 스프링
- 네트워크
- 데이터베이스
- Spring
- AI
- CD
- MySQL
- 아이패드다이어리
- 오라클
- javascript
- 오블완
- swift
- 티스토리챌린지
- 프로그래밍언어론
- 소켓
- IOS
- sql
- Today
- Total
목록데이터베이스/SQL (4)
Hi yoahn 개발블로그
42GG 플젝을 진행하던 중 무려 테이블 5개를 동시에 조인해야하는 상황이 발생했다. 현재 서비스중인 프로젝트이다보니 DB 에 저장된 데이터 양도 좀 있고, 꾸준히 사용하는 분들이 계시기 때문에 앞으로 더 많은 데이터가 생길 수 있어 해당 쿼리 뿐만 아니라 다른 sql 쿼리들도 최적화가 가능한 쿼리가 있는지 확인하기 위해 사용해보려고 한다. 실행계획이란 DB 옵티마이저가 쿼리를 어떻게 실행할지에 대한 계획이다. 실행계획을 통해 데이터를 조회할 때 검색시에 테이블을 풀스캔하는지, range scan 을 하는지 봐야하고 설정해둔 인덱스를 타는지 확인할 수 있다. EXPLAIN SELECT * FROM A, B WHERE A.bid=B.id; Explain 키워드를 통해 실행계획을 확인할 수 있다. (이외에도..
1. 데이터 삽입 # 데이터 직접 삽입 INSERT INTO 테이블명[(속성_리스트)] VALUES (속성값_리스트); - 모든 데이터를 삽입하는 경우 테이블명만 명시, 테이블을 정의할때 지정한 속성 순서대로 값이 삽입됨 # 부속 질의문을 이용한 데이터 삽입 INSERT INTO 테이블_이름[(속성 리스트)] SELECT 문; ex) INSERT INTO 한빛제품(제품명, 재고량, 단가) SELECT 제품명, 재고량, 단가 FROM 제품 WHERE 제조업체 = '한빛제과'; 2. 데이터 수정 3. 데이터 삭제
1. 데이터 검색 # 기본 검색 SELECT [ ALL | DISTINCT ] 속성_리스트 FROM 테이블_리스트; - ALL 이 디폴트(명시하지 않아도 됨), 중복 허용 검색 - 검색 결과는 릴레이션, 메모리에 저장되는 것은 아님 (검색 결과를 메모리에 저장하려면 insert 명령어에서 values 대신 select 명령어 사용) - 모든 속성을 검색하려면 *사용 - 결과로 출력되는 테이블의 속성 명을 변경해서 출력할 수 있다. -> 속성1 AS 속성2 결과 테이블에 속성1을 속성2 이름으로 바꿔서 출력(테이블 내용이 바뀌는 것은 아님) # 산술식을 이용한 검색 SELECT 제품명, 단가+500 AS "조정 단가" FROM 제품; # 조건 검색 SELECT [ ALL | DISTINCT ] 속성_리스트..
1. 테이블 생성 CREATE TABLE 테이블명( 속성이름 data_type [NOT NULL] [DEFAULT 기본 값] , ,,, [PRIMARY KEY (기본키로 지정할 속성 리스트)], [FOREIGN KEY (속성_리스트) REFERENCES 테이블_이름(속성리스트) [ON DELETE 옵션] [ON UPDATE 옵션]], [CONSTRAINT 이름] [CHECK(조건)] ); - 대괄호 안에 있는 것은 필요한 경우에만 작성하면 됨 - 키워드는 대소문자 구분하지 않음 - create table ();끝에 세미콜론으로 문장 끝을 표시, 내부에서 세미콜론 사용하지 않음 - 내부 내용은 콤마로 구분 - DEFAULT 키워드로 기본값을 지정할 때 숫자 데이터는 그대로 표현, 문자열이나 날짜 데이터는 ..