본문 바로가기

MySQL

함수 1.NULL 처리 SELECT IFNULL(Column명, "NULL일 경우 대체 값") as 별칭 from 테이블 명 https://school.programmers.co.kr/learn/courses/30/lessons/59410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2.DATETIME 형 변환 SELECT date_format(Column명,"원하는 date_format") as 별칭 from 테이블 명 date_format 목록 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-function.. 더보기
파티셔닝,데이터베이스복제(Replication) 파티셔닝 (1)VLDB(Very Large DBMS) 전체 DB가 하나의 DBMS시스템에 들어가기 힘들어지는 경우 - 테이블들을 여러개의 군으로 나눠 분산 저장 - 하나의 테이블에 방대한 경우는 사전방식(a-m,n-r,s-z)와 같이 나눠서 저장 (2)제약사항(Constraints) 테이블 단위 연산이 힘들어진다. - 조인 연산 어려움->정규화 문제가 생김 - 역정규화 -> 중복혀용으로 해결 외래키의 호용문제 - 레코드 추가 시 참조무결성 조건 체크 ->시스템 부담증가로 수동전환 - CRUD시 위치를 인식해야함 (3)이점(Benefits) 데이터 전체 검색 시 필요한 부분만 탐색해 성능 증가 전체 데이터를 손실할 가능성이 줄어듦->가용성 증가 파티션별 백업/복구 가능 파티션단위로 I/O 분산가능->업데이.. 더보기
메타데이터 메타데이터 DB,테이블의 스키마에 대한 정보를 저장하는 테이블 (1)데이터 사전(Data_Dictionary):Information_schema,System_catalog 데이터베이스의 정보저장 일반적으로 읽기전용정보(Read-only)를 가진다 (2)데이터 디렉토리(Data_Directory) DBMS의 모든 데이터가 저장되는 디렉토리(폴더) DB저장,상태 및 로그를 저장한다. use information_schema; show tables; ex) Show COLUMNS from employees; 더보기
INDEX INDEX 검색을 빠르게 하기 위한 자료구조(대부분 B트리) 레코드 추가/수정/삭제 시 해당 컬럼으로 다시 정렬한 후 검색에 필요한 값들을 미리 계산해 검색 속도를 높임(trade off) 기본키는 자동으로 인덱스로 설정된다. (1)인덱스가 설정된 기본키로 검색 했을 경우 select * from employees where emp_no=40000 LIMIT 0, 500 1 row(s) returned0.000 sec / 0.000 sec 기본키로 설정된 emp_no으로 검색시 매우 적은시간으로 검색이 완료되는 것을 볼 수 있다. (2)인덱스가 설정되지 않은 컬럼으로 검색 할 경우 select * from employees where first_name="Nishit" and last_name="Asse.. 더보기
스키마 수정,스키마 삭제 스키마 수정 desc businesscard; (1)데이블 컬럼 추가/삭제 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 alter table businesscard add column ID int; int 형식의 ID 컬럼 추가 ALTER TABLE 테이블명 DROP COLUMN 컬럼명 (2)컬럼명 변경 ALTER TABLE 테이블명 CHANGE 컬럼명 new_컬럼명 데이터타입 alter table businesscard change Address Address1 varchar(255); Address 컬럼명을 Address1으로 변경 (3)컬럼타입 변경 ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 alter table businesscard modify Address1 cha.. 더보기
정규화,참조무결성 정규화 동일한 정보가 여러군데 테이블에 저장되어 있으면 수정에 대한 부담과 무결성 유지가 쉽지 않음 정규화를 이용하여 중복정보를 제거 (1)제 1정규형 1.각 컬럼이 하나의 속성만을 가져야 한다. 2.하나의 컬럼은 같은 종류나 타입의 값을 가져야한다. 3.각 컬럼이 유일한 이름을 가져야한다. 4.칼럼의 순서가 상관없어야 한다. (2)제 2정규형 1.제 1정규형을 만족한다. 2.테이블의 컬럼들이 기본키와 직접 연관되는 컬럼만으로 구성 (3)제 3정규형 1.제 2정규형을 만족한다. 2.기본키를 제외한 속성들간의 이행종속성이 없어야한다. 이행종속성:A->B,B->C일떄 A->C를 만족한다. 참조무결성 외래키에 적용되는 규칙 외래키와 참조되는 원래 테이블의 키와 관계를 명시 외래키를 참조하면 원래테이블에 해당 .. 더보기
자료형,제약조건 자료형 (1)정수형(부호있음/부호없음) TINYINT(-128~127 / 255):1Byte INT(-21억~21억 / 43억):4Byte BIGINT(-9경~9경/18경):8Byte (2)실수형(길이,수소점 이하 자리수) FLOAT(size,d):4byte DOUBLE(size,d):8byte DEMICAL(size,d):10진법 (3)문자열 CHAR 고정 길이 문자열(최대 255자) VARCHAR 가변길이 문자열(최대 65,535자) (4)TEXT문자열 TEXT(최대 65,535자):2byte MEDIUMTEXT(최대 16,777,215자):16MB LONGTEXT(최대 4,294,967,295자):4GB (5)BLOB(Binary Large Object):Image,File BLOB(최대 65,53.. 더보기
서브쿼리,집합연산 서브쿼리 쿼리문 내에 또 다른 쿼리문이 있는 형태 서브쿼리는 메인쿼리에 포함되는 관계 ()을 사용해 감싸는 형태 ORDER BY를 사용하지 못함 사용가능한 위치: SELECT,FROM,WHERE,HAVING,ORDERBY 종류:단일행서브쿼리,다중행 서브쿼리,다중컬럼 서브쿼리 (1)단일 행 서브쿼리 결과가 레코드 하나인 서브쿼리 일반 연산자(=, 등) 사용 select * from city where CountryCode = (select Code from country where Name="South Korea"); (2)다중 행 서브쿼리 결과가 레코드 여러 개인 서브쿼리 다중행 연산자(IN,ALL,ANY,EXISTS) 사용 ALL:여러개의 AND 효과(가장 큰 값과 비교) ANY:여러개의 레코드의 OR.. 더보기