SQL

[MySQL] 예약어

SangRok Jung 2022. 9. 14. 23:54
반응형

예약어


  • SELECT와 FROM이 구를 결정하는 키워드이자 예약어이다.
  • 데이터베이스에는 테이블 외에 다양하 데이터를 저장하거나 관리하는 어떤 것 을 만들 수 있다.
    • '뷰 (view)'
  • 데이터베이스 객체는 이름을 붙여 관리한다.
  • 통상적으로 데이터베이스 객체명은 예약어와 동일한 이름을 사용할 수 없다.

 

 

 

 

 

 

 

 

 

 

테이블 정보 가져오기


▶ 데이터를 보여준다.

show databases ;
show tables;

 

 

 

non-TEMPOPARY 테이블에 대한 많은 정보를 가져온다.

SHOW TABLE STATUS;

 

 

 

 

 

 

 

 

 

 

 

 

열 지정


▶ 해당 테이블의 내용을 볼 수 있다.

SELECT * FROM 테이블명

 

 

 

 

  • 열을 지정하지 않거나 존재하지 않는 열을 지정하면 에러 발생.
  • 열의 지정 순서는 임의로 가능.
  • 여러개의 같은열도 지정 가능(의미 없음).
SELECT no, name from 테이블명;

 

▶ 사전에 정의된 예약어를 사용할 때는 관습적으로 대문자로 사용한다.

USE empolyes;
USE sample;

 

 

 

 

 

 

 

행 지정


▶ 기본 문법 

SELECT 열 FROM 테이블명 WHERE 조건식

 

연산자 설명
= 서로 같은 값인지 비교, 같으면 참.
<> 서로 다른 값인지 비교, 다르면 참.
>, < 초과, 미만
>=, <= 이상, 이하.

 

  • 문자열, 날짜시간형을 비교할 경우 싱글쿼트로 둘러싸 계산한다.
  • 연월일은 하이픈(-), 시분초는 콜론(:)으로 표기한다.

 

SELECT * FROM sample21 WHERE no = 2;

 

SELECT * FROM sample21 WHERE no <> 2;

 

SELECT * FROM sample21 WHERE birthday = '19761018';

 

 

 

▶ 결측치 검색

SELECT * FROM 파일명 WHERE 행명 IS NULL;
SELECT * FROM 파일명 WHERE 행명 IS NOT NULL;

 

 

▶ 변수지정

SET @변수명 = 변수

 

 

 

 

 

 

 

 

조건문 연산


▶AND문

SELECT * FROM sample24 WHERE a = 0 AND b = 0;

 

 

▶ OR문

SELECT * FROM sample24 WHERE a <> 0 OR b <> 0;

 

 

 

 

▶ AND + OR 문

AND문이 우선으로 계산된다.

SELECT * FROM sample24 WHERE (a = 1 OR a = 2) AND (b = 1 OR b = 2);

 

 

▶ NOT 조건문

NOT 다음 오른쪽에 오는 조건의 거짓이 참이된다.

SELECT * FROM sample24 WHERE NOT a = 0 OR NOT b = 0;

 

 

 

 

 

 

 

 

 

 

 

LIKE 패턴


원하는 문자열을 찾는 함수.

 

WILDCARD 설명
% 특정 문자열
_ 1개의 문자를 표현

 

 

 

▶ 특정 문자가 포함되어 있는 행 검색

SELECT * FROM sample25 WHERE text LIKE '%SQL%';

 

 

 

 

특정 문자로 시작하는 행 검색

 SELECT * FROM sample25 WHERE text LIKE 'SQL%';

 

 

▶ 특정 문자로 끝나는 행 검색

 SELECT * FROM sample25 WHERE text LIKE '%SQL';

 

 

 

▶ %찾기

  SELECT * FROM sample25 WHERE text LIKE '%\%%';

 

 

 

 

 

 

 

 

정렬


▶ ORDER BY (오름차순 정렬)

SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명;

 

 

 

▷ BY 오른쪽에 지정한 열명의 값들에 따라 행의 순서가 바뀐다.

  SELECT age, address FROM sample31 ORDER BY age ;

age에 따라 정렬

SELECT age, address FROM sample31 ORDER BY address ;

addr에 따라 정렬

 SELECT age, address FROM sample31 WHERE age > 10  ORDER BY age ;

age가 10세 이상인 열 오름차순 정렬

 

 

▶ ORDER BY 열명 DESC(DSC) (내림차순 정렬)

SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 DESC;

 

 SELECT * FROM sample31 ORDER BY age DESC ;

 

 

※ 문자를 비교 할 때는 제일 왼쪽에 있는 문자를 비교한다. 문자는 왼쪽에 붙고 숫자는 오른쪽에 붙는다.

 

ORDER BY a
ORDER BY b

 

 

 

 

▶ 여러 열 정렬

열명1을 정렬한 상태에서 열명 2를 정렬하게 된다.

  SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명1, 열명2;

 

 

 

 

 

▶ 정렬 방법 지정

열명1을 선택한 정렬 방식으로 정렬한 상태에서 정렬2를 선택한 정렬 방식으로 정렬한다.

  SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명1[ASC|DESC], 열명2[ASC|DESC];

 

>  SELECT * FROM sample32 ORDER BY a DESC, b ASC;

 

 

 

 

 

 

NULL 값 정렬


  • ORDER BY로 지정한 열에서 NULL값을 가지는 행은 가장 먼저 표시되거나 가장 나중에 표시된다.
  • NULL에 대한 대소비교 방법은 표준 SQL 에도 규정되어 있지 않아 데이터베이스 제품에 따라 기준이 다르다.
  • MySql의 경우에는 NULL값을 가장 작은 값으로 취급해 ASC(오름차순)에서는 가장 먼저, DESC(내림차순)에서는 가장 나중에 표시된다.

 

 

 

 

 

 

 

 

 

 

▶ 주석

-- 내용
/* 내용
내용
내용 */

 

 

 

 

 

 

 

 

 

 

 

▶ 데이터의 설정값을 볼 수 있다.

※ NULL : 아무것도 없다.

DESC 샘플명;

 

 

 

 

 

 

반응형

'SQL' 카테고리의 다른 글

[MySQL] 수치연산  (0) 2022.09.16
[MySQL] INSERT  (0) 2022.09.16
[MySQL] 실행, 종료 (MAC)  (0) 2022.09.14
[MySQL] JOIN  (0) 2022.04.01
[MySQL] SubQuery(서브쿼리), ORDER BY, DISTINCT, GROUP BY, HAVING, VIEW  (0) 2022.03.30