Sunday, July 21, 2013

MySql 구문들

From Evernote:

MySql 구문들


JOIN - 두개 혹은 그 이상의 테이블에서 특정한 컬럼들 간의 관계에 기초해서 데이터를 질의하기 위해 사용된다.

INNER JOIN - 양쪽 테이블에서 최소한 한개라도 매치되는 게 있으면 해당 열을 리턴한다.
LEFT JOIN - 오른쪽 테이블과 매치되는 것이 없어도 왼쪽 테이블의 모든 열을 리턴한다.
RIGHT JOIN - 왼쪽 테이블과 매치되는 것이 없어도 오른쪽 테이블의 모든 열을 리턴한다.
FULL JOIN - 양쪽 테이블의 모든 열을 리턴한다(매치 여부 관계 없음)

UNION - 두개 혹은 이 상의 select 문으로 생성되는 result-set을 결합하기 위해 사용한다.

UNION - 중복되는 결과는 출력하지 않도록 디폴트 설정되어 있다.
UNION ALL - 중복되는 결과까지 모두 출력

SELECT INTO - 하나의 테이블로부터 데이터를 선택하고 그것을 다른 테이블에 삽입하기 위해
사용된다.(테이블을 백업하기 위해 자주 사용된다.)

Constraints - 테이블안에 들어갈 데이터의 타입을 제한하기 위해 사용되는데 여러가지 종류가 있다.

NOT NULL - 디폴트로써 보통 데이터의 칼럼을 NULL 값을 가질 수 있는데, NOT NULL 제약을
입력하면 해당 칼럼은 NULL 값을 가질 수 없게 된다.
UNIQUE - 데이터 베이스 테이블에서 각각의 레코드들이 서로 다른 값을 가지도록 한다.
테이블당 몇번이고 제약을 둘 수 있다.(제약은 테이블을 만들 때도 가능하지만,
이미 만들어진 테이블에도 가능하다.)
PRIMARY KEY - 데이터 베이스 테이블에서 각각의 레코드들이 서로 다른 값을 가지도록
한다. 하나의 테이블에서 primary key는 하나이다.
FOREIGN KEY - 어느 테이블에서의 외래키는 다른 테이블의 primary key를 가리킨다.
테이블간의 링크가 파괴되는 것을 보호하기 위해서 사용된다.
CHECK - 칼럼에 들어갈 값의 범위를 제한하기 위해 사용된다.
DEFAULT - 칼럼에 디폴트 값을 입력하기 위해 사용된다. 데이터를 입력시, 어떤 값도 입력
하지 않으면 디폴트값이 설정된다.

CREATE INDEX - 테이블에 인덱스를 생성하기 위해 사용된다. 인덱스는 데이터 검색을
빠르게 해준다. 설정해 놓아도 유저에게는 보이지 않는다.


TRUNCATE TABLE - 테이블 안에 데이터를 전부 지우기 위해 사용된다.

AUTO INCREMENT - 테이블에 새로운 레코드를 삽입할 때 유일한 값이 생성되도록 한다.
PRIMARY KEY와 함께 자주 설정한다.


VIEW - 데이터베이스에서 view란 result-set 을 기반으로 생성되는 가상의 테이블을 의미한다.


DATE - 데이터베이스에서는 날짜를 표시하기 위해 여러가지 함수가 존재한다.
그리고 DATE 데이터형 또한 존재한다. (http://www.w3schools.com/sql/sql_dates.asp)
DATE - YYYY-MM-DD
DATETIME - YYYY-MM-DD- HH:MM:SS
TIMESTAMP - YYYY-MM-DD HH:MM:SS
YEAR - YYYY or YY

NULL - SQL에서 NULL이란 입력되지 않은 상태의 알려지지 않은 값을 의미한다.
NULL과 숫자 0은 다르다.

IFNULL - 레코드로써 NULL이 들어 있을 경우, 어떤 값으로 처리할지를 설정할 때 사용된다.
다른 데이터베이스에서는 ISNULL 혹은 NVL 이라 불리운다.

(참고)데이터 타입의 종류에 대해서 알아보기
http://www.w3schools.com/sql/sql_datatypes.asp


No comments:

Post a Comment

뉴라이트의 기본적인 개념과 특징

뉴라이트  한국에서 자칭 신우익을 이르는 말. 영어의 신(new) + 우익(right)의 합성어이다.  옛날 종북주의자 시절의 파시즘과 전체주의적 사상을 간직한 채 친일반민족 행위 옹호로 돌아선 사람들이다.  우파를 가장한 짝퉁 우파...