728x90
[SQL] SQL 기본 문법
데이터베이스를 사용하면 Structured Query Language를 무조건 알고 있어야 한다. 관계형 DB를 다루기 위해서 Oracle이든 MySQL이든 공통적으로 사용하는 표준 언어이다. 하나를 배우면 열을 알 수 있는 언어라고 할 수 있겠다.
1. SQL 문법 분류
| 분류 | 설명 |
| 데이터 정의어(DDL) | - 데이터를 정의하는 언어 - 테이블이나 관계의 구조를 생성하는 데 사용 - CREATE, ALTER, DROP, TRUNCATE 문이 있음. |
| 데이터 조작어(DML) | - 데이터베이스에 저장된 자료들을 CRUD(입력, 수정, 삭제, 조회)하는언어 - SELECT, INSERT, UPDATE, DELETE 문이 있다. - SELECT 문은 특별히 질의어(Query)라고 부른다. |
| 데이터 제어어(DCL) | - 데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 사용하는 제어용 언어 - GRANT, REVOKE 문이 있다. |
2. 상세 활용 방법
1) Create
: 테이블 생성
# student 이름을 가진 테이블 생성
create table student (
컬럼이름 타입 조건(not null ...),
컬럼이름 타입 조건(not null ...),
컬럼이름 타입 조건(not null ...),
PRIMARY KEY ~~~~ );
2) Insert
: 테이블에 데이터 삽입
insert into student values(테이블에 맞는 데이터 양식);
3) Update
: 데이터 내용 수정
update 테이블 set 칼럼 = '값' where 조건;
4) Delete
: 데이터 삭제
delete from 테이블 where 조건;
5) Select
: 모든 컬럼 조회
select * from student;
: 필요한(특정) 컬럼 조회
select age, name from student;
6) Where
: 컬럼 조회의 조건
select * from student where id = 1;
: and, or 조건
select * from student where sex='남자' and(or) address='서울';
: like 조건(% 로 표현)
select * from student where name = '김%';
++ like와 같이 사용하는 와일드 문자
| 와일드 문자 | 설명 | 사례 |
| + | 문자열 연결 | '축구' + '감독': ('축구 감독') |
| % | 0개 이상의 문자열과 일치 | LIKE '키워드%' : (% 용법 -> 키워드로 시작하는 문자열 검색) |
| [ ] | 1개의 문자와 일치 | '[0-8]%' : (0-8 사이 숫자로 시작하는 문자열) |
| [ ^ ] | 1개의 문자와 불일치 | '[&0-8]%' : (0-8 사이 숫자로 시작하지 않는 문자열) |
| _ | 특정 위치의 1개 문자와 일치 | '_동%' : (두 번째 위치에 '동'이 들어가는 문자열) |
7) Limit
: 조회 결과 행의 수 제한
select * from student limit 1;
8) Order by
: 데이터 값을 원하는 기준으로 정렬, 마지막 SELECT 명령에만 지정
# week 오름차순 정렬
select week, round(avg(likes),2) from checkins
group by week
order by week
3. 주석 처리
데이터베이스에 대한 설명을 작성하거나 특정 SQL 실행을 하지 않도록 하기 위해 사용한다.
| 주석 기호 | 설명 |
| -- | -- 이 시작하는 위치부터 해당 라인 끝까지 실행이 되지 않도록 한다.(한줄 주석) |
| /* 문장 */ | 블럭 주석 |
728x90
'Server' 카테고리의 다른 글
| [Database] 물리적 데이터 모델링(Physical Data Modeling) (0) | 2022.08.06 |
|---|---|
| [Database] 논리적 데이터 모델링(Logical Data Modeling) (0) | 2022.08.05 |
| [Database] 개념적 데이터 모델링(Conceptual Data Modeling) (0) | 2022.07.29 |
| [Database] 개발 세계에서 데이터베이스란 무엇일까? (0) | 2022.07.27 |
| zsh, bash 그리고 shell script (0) | 2022.06.28 |
댓글