본문 바로가기

# 03/RDBMS

SQL문의 기본

반응형

mysql>show databases;   // 등록된 데이터베이스를 볼 수 있다.

mysql>use DBName;       // '데이터베이스의 이름'을 입력하여 사용할 데이터베이스를 선택한다.

mysql>show tables;        // 해당 데이터베이스의 테이블 목록이 표시된다.

mysql>select * from tableName;      // '테이블 이름'을 입력하면 해당 테이블의 데이터 목록이 표시된다.

mysql>select * from tableName where A = 'B';     // 해당 테이블 데이터 중 A의 값이 B가 성립하는 데이터만 표시된다.

mysql>select Name,Age from tableName where A = 'B';    // 해당 테이블 데이터 중 A의 값이 B가 성립하는 데이터중 Name,Age 값만 표시된다.

mysql>select Name,Age from tableName where A = 'B' and Age>20;    // 해당 테이블 데이터 중 두가지 조건이 만족하는 데이터중 Name,Age 값만 표시된다.

mysql>select distinct Name from tableName where A = 'B';    // 해당 테이블 데이터 중 A의 값이 B가 성립하는 데이터중 이름만 출력되는데 중복되는 값은 제외된다.(DISTINCT)


SQL의 기초적인 기술 규칙

1. SQL문의 마지막에 딜리미터(Delimiter, 문장의 단란을 의미하는 기호)를 붙인다.(대부분인 세미콜론;)

2. 키워드의 대문자와 소문자는 구별하지 않는다. (SELECT, select, Select 모두 가능)

3. 정수는 그대로 쓰고 문자열이나 날짜 시각은 ''로 감싼다.


SELECT ~ ORDER BY A DESC  // 해당 데이터를 A 값의 내림차순으로 정렬

SELECT ~ ORDER BY A (ASC)  // 해당 데이터를 A 값의 오름차순으로 정렬(ASC는 생략가능)

SELECT ~ ORDER BY A, B  // 해당 데이터를 A와 B값의 오름차순으로 정렬. 기준이 2개일때는 콤마로 구분 가능


집약함수 - 데이터를 요약하는 함수

COUNT 테이블의 행수를 알려주는 함수

SUM 테이블의 수치 데이트를 합계하는 함수

AVG 테이블의 수치 데이터 평균을 구하는 함수

MAX 테이블의 임의열 데이터 중 최대값을 구하는 함수

MIN 테이블의 임의열 데이터 중 최소값을 구하는 함수


GROUP_CONCAT SQL 표준에는 없으나 MySQL 존재. 문자열에 대한집계를 콤마 형식으로 나타내어 매우 긴데이터를 결과로 돌려준다. 주의필요!

 > DISTIMCT로 중복 회피 가능. 키워드 앞에 적어주면 중복된 문자열이 제거된다.


SELECT ~ FROM 테이블명 GROUP BY 열명1       // 데이터를 그룹으로 나눠서 집약한다.

SELECT ~ FROM 테이블명 GROUP BY ~ HAVING    // 집약한 결과에 조건을 지정할 수 있다.

반응형

'# 03 > RDBMS' 카테고리의 다른 글

트랜잭션  (0) 2019.02.11
뷰의 작성과 서브쿼리 및 결합  (0) 2019.02.11
DBMS를 조작할 때 필요한 기본지식  (0) 2019.02.11
데이터베이스 아키텍처  (0) 2019.02.09
데이터베이스 비용  (0) 2019.02.08