DBMS는 컴퓨터에 저장된 대량의 데이터를 체계적으로 관리하고 사용자가 원하는 정보를 효과적으로 검색하기 위한 시스템 소프트웨어를 의미한다
DBMS에 의해 관리되는 데이터의 집합을 ‘데이터베이스’라고 한다.
데이터베이스(DB)에는 많은 테이블이 존재할 수 있다.
테이블 1개로 원하는 데이터를 모두 저장할 수도 있지만 보통은 테이블을 설계할 때 서로 연관되게 여러개의 테이블을 만든다.
테이블에 있는 데이터 검색은 SELECT 명령어를 사용한다.
데이터베이스(DB)에서 데이터를 검색하려면 SQL을 사용하여 데이터를 요청한다.
SQL문은 여러 줄에 걸쳐서 작성 가능하고 반드시 ;(세미콜론)으로 끝난다.
요청하는 문법은 SELECT / FROM / WHERE 로 되어 있다.
SELECT 칼럼1, 칼럼2 FROM 테이블명 WHERE 조건
위 그림으로 설명하자면 칼럼1은 품목, 칼럼2는 단가, 칼럼3는 코드 라고 보면 된다.
테이블로부터 (FROM 테이블) 꺼내는(SELECT) 것이 무엇인가를 정해주는 거라고 이해하면 쉽다.
테이블은 데이타베이스의 기본적인 데이타 저장 단위 이다. 데이타베이스 테이블은 사용자가 접근 가능한 모든 데이타를 보유하며 레코드와 컬럼으로 구성 된다.
SELECT * FROM 테이블; → *는 모든 칼럼을 의미한다. 즉 테이블의 모든 칼럼을 다 조회(출력)하라는 의미이다. 만약 데이터 갯수(record : 행)가 1만개 정도 된다고 하면, 모든 데이터를 모니터 상에 출력하는 것은 무의미할 것이다. 보여줄 데이터를 딱 10개만 보여주라는 의미로 한정하는 것은 LIMIT 10 을 붙이면 된다.
SELECT * FROM 테이블 LIMIT 10;
출력하고 싶은 조건을 지정할 때는 WHERE 를 사용해서 WHERE 품목 = '구두' 로 한정할 수 있다.
SELECT * FROM 테이블 WHERE 품목 = '구두';
SQL문은 대소문자를 구별하지 않는다. 즉 SELECT 라고 대문자로 써도 되고, select 라고 소문자로 써도 된다.
테이블내의 특정 칼럼 데이터를 보고자 한다면 SELECT 뒤에 해당 칼럼을 차례대로 기술하고 쉼표로 구분해서 여러개를 지정할 수 있다.
SELECT 품목, 단가 FROM 테이블명;
WHERE 조건을 주는 여러가지 사항을 잘 알아둘 필요가 있다.
'SQL' 카테고리의 다른 글
[SQL] WHERE 기능, 성능향상 팁 ***** (1) | 2015.02.01 |
---|---|
MySQL 운영 문제점과 해법들 (0) | 2015.01.31 |
MySQL 주소에서 지역명 정리하기 (0) | 2015.01.25 |
[오라클] 테이블 생성/변경시 제약조건 (0) | 2015.01.23 |
MySQL 날짜, 통화이력 산출 (0) | 2015.01.20 |