SQL: Structured Query Language
- SQL은 데이터베이스, 그 중에서도 관계형 데이터베이스를 다루는 언어이다.
- 관계형 데이터베이스에게 요구를 할때 사용하는 언어가 SQL이다.
- 관계형 데이터베이스말고도 모든 데이터베이스에 사용되는 언어를 아울러 '데이터베이스 언어'라 한다.
- 데이터베이스 관리 시스템에 요구하는 것을 쿼리(Query)라고 한다.
데이터 조작어
(DML : Data Manipulation Language)
데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류(데이터 삽입, 수정, 삭제)의 명령어들을 말한다.
SELECT
INSERT
UPDATE
DELETE
데이터 정의어
(DDL : Data Definition Language)
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말한다.
CREATE
ALTER
DROP
RENAME
TRUNCATE
데이터 제어어
(DCL : Data Control Language)
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어들을 말한다.
트랜잭션 제어어
(TCL : Transaction Control Language)
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어를 말한다.
COMMIT
ROLLBACK
SAVEPOINT
정규 표현식의 용어들정규 표현식에서 사용되는 기호를 Meta문자라고 표현한다.
표현식에서 내부적으로 특정 의미를 가지는 문자를 말한다.
다 외우지 말고 자주 접하는 식 몇 개 만 알아두자
^x
x$
.x
x+
x?
x*
x|y
(x)
(x)(y)
(x)(?:y)
x{n}
x{n,}
x{n,m}
Meta 문자들 중에서 좀 더 특수하게 사용되는 문자들이 존재한다.
[]
는 내부에 지정된 문자열의 범위 중에서 한 문자만을 선택하다는 특수한 의미를 가진다. 그리고 내부에서 Meta문자를 사용하면 다른 의미를 가지고 동작할 수 있으므로 잘 확인하고 사용해야 한다.
[xy]
[^xy]
[x-z]
\^
\b
\B
\d
\D
\s
\S
\t
\v
\w
\W
정규표현식을 사용할 때 Flag 라는 것이 존재하는데 Flag를 사용하지 않으면 문자열에 대해서 검색을 한번만 처리하고 종료하게 된다. Flag는 다음과 같은 것들이 존재한다.
g
i
m
/[0-9]/g
전체에서 0~9사이에 아무 숫자 '하나' 찾는다.
/[to]/g
전체에서 t 혹은 o 를 모두 찾는다.
/filter/g
전체에서 f 따로 i 따로 찾는게 아니라 'filter' 라는 단어에 매칭되는것을 찾는다.
/\b(?:(?!to)\w)+\b/g
전체에서 'to' 라는 단어를 포함하는 단어를 빼고 다른 단어를 매칭한다.
ex) "Tutorial" 도 제외된다.
\b(?!\bto\b)\w+\b
전체에서 'to' 라는 단어를 빼고 다른 단어 매칭한다.
ex) "Tutorial" 제외되지 않는다.
이메일
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i
- '시작을' 0~9 사이 숫자 or a-z A-Z 알바펫 아무거나로 시작하고
- 중간에 - _ . 같은 문자가 있을수도 있고 없을수도 있으며
- 그 후에 0~9 사이 숫자 or a-z A-Z 알바펫중 하나의 문자가 없거나 연달아 나올수 있으며
- @ 가 반드시 존재하고
- 0-9a-zA-Z 여기서 하나가 있고
- 중간에 - _ . 같은 문자가 있을수도 있고 없을수도 있으며
- 그 후에 0~9 사이 숫자 or a-z A-Z 알바펫중 하나의 문자가 없거나 연달아 나올수 있으며
- 반드시 . 이 존재하고
- [a-zA-Z] 의 문자가 2개나 3개가 존재
- 이 모든것은 대소문자 구분하지 않는다.
전화번호
/^\d{3}-\d{3,4}-\d{4}$/
- 시작을 숫자 3개로하며
- 중간에 하이픈
-
하나 존재- 숫자가 3~4개 존재하며
- 하이픈 하나 존재
- 숫자 4개로 끝남
휴대폰 번호
/^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/
- 시작을 숫자 01로 시작하고 그 후에 0,1,6,7,8,9 중에 하나가 나올수도 있으며
- 하이픈
-
이 하나 존재할수도 있으며- 숫자 3~4개 이어지고
- 또 하이픈
-
이 하나 존재할수도 있으며- 숫자 4개가 이어진다.
참고 https://hamait.tistory.com/342