http://dev.mysql.com/downloads/mysql/ 로 이동오른쪽에 보이는 Go to Download Page를 눌러준다.두 번째 버튼을 누른다.Developer Default 를 선택하고 Next 눌러준다.Execute를 눌러준다. 그럼 My
데이터베이스 목록 보기show databases;데이터베이스 생성create database 데이터베이스이름 ;데이터베이스 사용use 데이터베이스이름;테이블 생성create table 테이블이름 (필드명1 데이터형식, 필드명2 데이터형식 ...)콤마로 속성을 구분한다.
테이블에 데이터 추가하기insert into 테이블이름 (열1, 열2, ...) value (값1, 값2)insert into 테이블이름 values(값1, 값2)필자는 두 번째 방법을 이용했다.여기서 중요한건 값을 넣을 때 테이블을 만들 때 정한 순서대로 넣어야한다.
select 명령은 '질의'나 '쿼리'라 불린다.select 구문 분석select \* from sample21;select : 명령의 종류'\*' : 모든 열sample21 : 테이블 명; : 명령문의 마지막표 형식의 데이터는 행(레코드)와 열(컬럼/필드)로 구성된다
DESC 명령DESC 테이블이름DESC 명령으로 테이블에 어떤 열이 정의되어 있는지 알 수 있다.자료형integer : 하나의 정수값을 저장할 수 있다. 소수점은 불가능char : 문자열을 저장할 수 있는 자료형. 최대 길이를 지정해야한다.varchar : 데이터 크기
SELECT 구에서 열 지정하기SELECT 열1, 열2 ... FROM 테이블명테이블에 존재하지 않는 열을 지정하면 에러가 발생한다.열 지정 순서는 임의로 정할 수 있다.WHERE 구에서 행 지정하기SELECT 열 FROM 테이블명 WHERE 조건식(WHERE 구는 생
AND조건식1 AND 조건식2OR조건식1 OR 조건식2섞어쓰기NOTNOT 조건식1
LIKE(전방 일치)열 LIKE 패턴%사용LIKE(중간 일치)%검색하기' 검색하기
ORDER BY로 검색 결과 정렬하기SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명ORDER BY DESC로 내림차순으로 정렬하기SELECT 열명 FROM 테이블명 ORDER BY 열명 DESCDefault는 ASC대소관계문자열형 데이터의 대
행수 제한SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 행수SELECT TOP 3 FROM sample33;Oracle : SELECT FROM sample33 WHERE ROWNUM <=3 ;오프셋 지정웹 시스템에서 페
SELECT 구로 연산하기SELECT 식1, 식2 ... FROM 테이블명가격과 수량으로 금액을 계산하기열의 별명AS로 별명을 붙인다.amount라고 열명이 바뀜WHERE 구에서 연산하기서버 내부에서 WHERE구 -> SELECT구 순으로 처리가 된다. 즉 SELECT
문자열 결합데이터베이스 데품마다 방법이 다르다.SQL Server : +Oracle, DB2, PostgreSQL : ||MySQL : CONCAT문자열 결합으로 단위를 연결SUBSTRING 함수문자열의 일부분을 계산해서 반환해주는 함수.SUBSTARING('20140
SQL에서의 날짜시스템 날짜 확인Oracle과 같은 전통 데이터베이스는 FROM 생략 불가능날짜 서식날짜 데이터의 서식을 임의로 지정, 변환 가능TO_DATE('2014/01/25', 'YYY/MM/DD')날짜의 덧셈과 뺄셈INTERVAL 1 DAY : 1일 후(기간형
CASE 문CASE WHEN 조건식1 THEN 식1WHEN 조건식2 THEN 식2 ...ENDWHEN 절에는 참과 거짓을 반환하는 조건식을 기술참이 되는 경우 THEN 절에 기술한 식이 처리아무조건도 만족하지 못한 경우에는 ELSE 절에 기술한 식이 채택된다.NULL
INSERTINSERT INTO 테이블명 VALUES (값1, 값2, ...)테이블 확인열 구성 확인하기값 넣고 확인값을 저장할 열 지정INSERT INTO 테이블명(열1, 열2,...) VALUES(값1, 값2, ...)NOT NULL앞에서 열 구성 확인 했을 때 n
DELETE로 행 삭제하기DELETE FROM 테이블명 WHERE 조건식데이터 확인삭제하고 데이터 확인
UPDATE로 데이터 갱신하기 UPDATE 테이블명 SET 열1 = 값1, 열2 = 값2, ... WHERE 조건식 >데이터 확인 >널값이 바뀐걸 확인
두 종류의 삭제방법물리 삭제DELETE 명령을 사용하여 직접 데이터를 삭제하는 사고 방식논리 삭제삭제플래그 열을 사용한다.
COUNT로 행 개수 구하기전체 행 개수WHERE 구 지정집계함수와 NULL값NULL은 무시된다.DISTINCT로 중복 제거데이터 목록ALL은 중복 허용중복 제거집계함수에서 DISTINCT
SUM으로 합계 구하기SUM은 수치형문자열형이나 날짜시간형은 불가능AVG로 평균내기NULL값을 무시한다만약에 NULL을 0으로 간주해서 평균을 내고 싶다면 CASE를 사용NULL을 0으로 변환MIN / MAX로 최솟값 / 최댓값 구하기문자열형과 날짜시간형에도 사용 가능
GROUP BY로 그룹화SELECT \* FROM 테이블명 GROUP BY 열1, 열2, ...name 열로 그룹화 하면 DISTINCT를 지정했을 때와 같은 결과가 나온다.4개의 그룹으로 나뉨HAVING 구로 조건 지정WHERE 구에서는 집계함수를 사용할 수 없다CO
DELECT의 WHERE 구에서 서브쿼리 사용a열의 가장 작은 행을 삭제하기최솟값 검색데이터를 추가하거나 갱신할 경우 동일한 테이블을 서브쿼리에 사용할 수 없도록 되어 있다. 인라인 뷰로 임시 테이블을 만들도록 처리하면 된다.스칼라 값SELECT 명령이 하나의 값만 반
EXISTS데이터가 존재하는지 아닌지 판별하기 위해 사용sample552에 no 열의 값과 같은 행이 있다면 '있음'이라는 값으로 변경NOT EXISTS행이 존재하지 않는 상태가 참상관 서브쿼리상관 서브쿼리는 서브 쿼리만 따로 떼어서 실행이 불가능하다.열에 테이블명 붙
두 테이블을 연결할 때 가장 많이 사용되는 것이 내부 조인이다.두 테이블의 조인을 위해서는 테이블이 일대다 관계로 연결되어야 한다.
1. 외부 조인
MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 개체SQL 문은 내용이 고정되어 있는 경우가 대부분이다. 상황에 따라 내용 변경이 필요할 때 동적 SQL을 사용한다.이렇게 미리 SQL을 준비한 후에 나중에 실행하는 것을 동적 SQL이라고 부른다.?로 향
member 테이블 생성buy 테이블 생성member 테이블buy 테이블
PRIMARY KEYFOREIGN KEYUNIQUECHECKDEFAULTNULL데이터를 구분할 수 있는 식별자를 기본키 라고 부란다.중복 X, NULL X방법 1방법 2방법 3기본 키에 이름 지정하기외래 키 제약조건은 두 테이블 사이의 관계를 연결해주고, 그 결과 데이
뷰를 만든 후에 뷰에 접근하는 방식은 테이블과 동일하게 SELECT 문 사용조건식 가능보안에 도움이 된다개인 정보가 보이지 않는 뷰를 생성해서 사용 가능복잡한 SQL을 단순하게 만들 수 있다.자주 사용하는 쿼리가 있다고 뷰로 생성해놓는다.뷰 생성뷰 수정뷰 삭제뷰 정보
책의 찾아보기와 같다.많다고 좋은건 아님MySQL이 판단해 준다.장점SELECT 문으로 검색하는 속도가 매우 빨라진다.컴퓨터의 부담이 줄어들어 전체 시스템 성능이 향상단점추가적인 공간이 필요(테이블 크기의 10%)처음에 인덱스를 만드는 데 시간이 오래 걸릴 수 있다.데
1. 균형 트리의 개념 노드 : 데이터가 저장되는 공간 루트 노드 : 노드의 가장 상위 노드 리프 노드 : 제일 마지막에 존재하는 노드 중간 노드 : 루트, 리프 중간에 끼인 노드 페이지 : MySQL에서 부르는 노드 균형 트리는 무조건 루트 페이지부터 검색한다.
1. 인덱스 생성 문법 인덱스 생성 이전 Index_length가 0이 나옴 단순 보조 인덱스 생성(주소 중복을 허용) 생성 확인 전체 인덱스 크기 확인 ![](https://images.velog.io/images/y7y1h13/post/0f343044-a0
SQL에서 제공하는 프로그래밍 기능쿼리 문의 집합CALL user_proc();CALL 프로시저이름(전달값);CALL user_proc2(6, 165)OUT 출력매개변수이름 데이터\_형식CALL 프로시저\_이름(@변수명);SELECT @변수명;나는 noTable을 만든
직접 만들어서 사용하는 함수를 스토어드 함수라고 한다.스토어드 함수의 매개변수는 모두 입력 매개변수이다.스토어드 함수 사용하기 위해서는 스토어드 함수 생성 권한을 허용해야 한다.활동 기간 출력 함수함수의 반환 값을 SELECT ~ INTO ~ 로 저장했다가 사용할 수도