본문 바로가기

반응형

아옳옳의 코딩공부/아옳이의 데이터베이스 MySQL

(9)
2021-06-02 MySQL 데이터베이스 인덱스 인덱스란? 찾아보기( 목차)가 있는 책은 찾아보기에 주요 용어가 가나다순, 혹 알파벳순으로 정렬이 되어 있고 용어 옆에 쪽수가 나와 해당 페이지를 펼치면 원하는 내용을 바로 찾아을 수 있다. MySQL에서 인덱스는 바로 이와같은 찾아보기 기능이라고 생각하면된다. '데이터를 좀더 빠르게 찾기위한 도구' @인덱스의 문제점 책에서 모든 단어를 찾아보도록 목차에 모두 표시하면 책의 분량보다 목차의 분량이 많아 지는데 인덱스도 마찮가지로 인덱스가 많아지면 많아 질수록 배보다 배꼽이 더커진다. 필요없는 인덱스를 만들면 데이터베이스가 차지하는 공간이 커지므로, 인덱스를 이용해 찾는것이 전체를 검색해서 찾는 거보다 오래 걸릴수 있다. @인덱스의 장단점 장점 검색속도가 매우 빨라진다. 단점 인덱스 저장할 공간이 필요 (..
2021-06-01 MySQL 데이터베이스 테이블 종합 실습 , 유저권한 , 트렌젝션 , 뷰 테이블 종합 실습 @테이블 압축하기 압축을 하게 되면 일단 크기가 작은것이 장점이지만, 압축을 하는 과정이 있기때문에 실행시간이 더욱 길어진다는 단점이 있다. @임시 테이블 #사용법은 일반 테이블과 같으나 세션이 종료 되면 자동으로 삭제됨 . 그 말은 워크벤치를 종료하거나 MySQL을 종료하면 사라지는 테이블이다. #테이블생성한 클라이언트만 접근 가능하고 , 내 다른테이블과 동일한 이름을 사용 가능하지만 동일 이름시 임시테이블에만 접근 가능하고 기존 테이블 접근 불가 (종료 하거나 삭제해야 기존 테이블 접근 가능 ) @테이블 삭제 ( 기존에 많이 다뤘었지만 중요 하니 한번더 !! ) @ 테이블 수정 ( 기존에 많이 다뤘었지만 중요 하니 한번더 !! ) @테이블에서 칼럼 삭제하기 ( 기존에 많이 다뤘었지만..
2021-05-31 MySQL 데이터베이스 다대다 조인 (3테이블조인), 테이블생성 다대다 조인 이미 2개의 테이블 조인은 공부했기 때문에 다른 설명은 생략하고 들어가겠다 그림으로 간단하게 설명하면 다음과 같다 맨위 : item 테이블 , 중간 : review 테이블 ,마지막 : member 테이블 이렇게 3개의 테이블을 reivew 테이블에 있는 각각의 id로 연결해서묶어 주는 것이다. 이렇게 실행을 해보면 다음과 같이 나온다 . 말로 조금 설명을 하자면 처음 조인에서 LEFT OUTER JOIN으로 item테이블 기준으로 조인이 되었다. 그리고 조인이 이루어진 테이블기준으로 member테이블을 조인을 해준 것이다. 첫 기준이 item테이블이기때문에 아이템 테이블에 있는 것들은 다 출력이 되었지만 해당 간에 다른 테이블들의 정보가 없기 때문에 null로 표현 된것이다. 기본적으로 이렇..
2021-05-28 MySQL 데이터베이스 내부조인 조인 @2개 이상의 테이블을 묶어서 하나의 결과 테이블을 만드는것 다음과 같은 그림을 보면 이해가 될것이다. 그림처럼 item테이블에 id를 review테이블에서 id로 참조하며 하나의 테이블처럼 보여주는것을 조인이라고 한다 여려개의 테이블을 묶어서 만들어 줄수 있는데 일단 기본적인 2개의 테이블 묶어주는 것 부터 보자 #데이터베이스에서 조인을 얼마나 잘하는지에 따라 잘하고 못하고를 나눈다고 한다... 그만큼 중요하다... 결과를 보기전에 일단 각각의 테이블을 먼저 확인해보자 이렇게 각각의 테이블이을 stock 테이블에서 item_id를 가지고 item테이블과 조인을 시켜줄 것이다. 길어지는 아이디를 AS 앞글자로 변경해줌 ( 변경해주면 모든것 다 변경 해줘야 함 ) 이렇게 사용할려면 포린키 설정이 되어..
2021-05-27 MySQL 데이터베이스 내장함수 여러가지 함수가 있다 모든 함수를 다 외워서 사용하면 좋지만 그렇게 하기에는 힘드니 이런 함수가 있다 라고 이해하고 필요할때 찾아서 사용하도록 하면된다 . 제어흐름 함수 @IF (수식 , 참 , 거짓) 수식이 참이면 두번쨰 인수 반환 거짓으면 세 번째 인수 반환 @IFNULL (수식1 , 수식 2) 수식1일 NULL이 아니면 수식1을 반환 , 수식1일 NULL이면 수식2 반환 @NULLIF(수식1, 수식2) 수식1 과 2과 같으면 NULL , 따르면 수식1 반환 @CASE... WHEN...ELSE...END 연산자이다.. 자바에서 스위치문 생각하면 된다. 문자열 함수 @ASCII(아스키코드), CAHR(숫자) 문자의 아스키코드 값을 반환 또는 숫자의 아스키코드값 반환 @BIT_LENGTH(문자열) ,C..
2021-05-27 MySQL 데이터베이스 데이터 형식 데이터 베이스 형식 @날짜 데이터 형식과 시간 데이터 형식의 차이 (형변환 ) 다른 곳에서 데이터를 받아왔을때 형변환 해서 내 컴퓨터 보여줄때 사용된다. 변수 사용하기 @변수 선언 @변수 사용하기 혹은 ( PREPARE ....EXECUTE 문 ) 리밋에 ? 를 나중에 결정 한다. 데이터 형식 변환 함수 @데이터 형식 변환 함수 CAST(expression AS 데이터형식 [(길이)]) CONVERT(expression AS 데이터형식 [(길이)]) 형변환 전 형변환 후 @CAST( ) 함수를 사용하면 다양한 구분자를 날짜 형식으로 변경 가능 @단가와 수량을 곱한 실제 금액을 출력 여기서 concat은 합치는 기능의 함수라고 생각하면 된다. @암시적 형변환 CAST( ) 나 CONVERT( ) 를 사용하..
2021-05-26 MySQL 데이터베이스 삽입,수정,삭제 데이터 삽입 , 수정 , 삭제 INSERT 문 @기본적인 사용방법 INSERT INTO mySelf (1열 ,2열 ) VALUES (값1,값2,값3.....) ; @테이블 이름 다음에 나오는 열 생략하기 ( 단 열의 순서 및 개수는 동일해야함) @id와 이름만 입력하고 나이는 입력하고 싶지 않을때 (단 속성값이 not null이 아닐경우) @열의 순서를 바꾸어 입력하고 싶을 때 AUTO_INCREMENT 키워드 자동으로 1부터 증가하는 값을 입력하는 값 반드시 PRIMARY KEY 와 UNIQUE로 설정해야함 데이터 형식이 숫자인 열에만 사용 가능 입력할때 INSERT문에서 null 로 입력하면 자동으로 값 입력 @입력 값을 100부터 (임의의 숫자) 시작하도록 하고 싶다면 @증가값을 1이 아닌 다른값으..
2021-05-24 MySQL 데이터베이스 데이터검색및 그루핑 ORDER BY 절 오름 차순과 내림차순 관련된 절 (기본적으로 오름차순 으로 정렬) @ 내림차순 정렬 ( DESC를 넣음 ) @ 정렬기준을 2개로 설정하고 정렬 여기서 ASC는 오름 차순 정렬이다. 기본이 오름차순이지만 이렇게 정렬기준을 2개를 할때는 구분하기 위한 용도로 사용이된다. DISTINCT 키워드 @ 중복 지역 하나만 출력 LIMIT 절 먼저 오름 차순을 해준뒤에 LIMIT을 통해서 사용 할수 있다 오름 차순을 위한 ORDER BY @ 가입일이 오래된 사람 5명만 출력 @ 응용 시작 지점 과 개수를 정해서 출력 예 ) 두번째로 오래된 사람부터 2명까지 출력 @한번더 응용 가장 최근에 가입한 사람 순서대로 1번부터 2명 CREATE TABLE ...SELECT문 테이블을 복사하는 형식이라고 생..

반응형