keembloo

SQL 용어 정리 본문

MySQL(DB)

SQL 용어 정리

keembloo 2023. 8. 14. 10:18
728x90

 

DDL

데이터베이스 정의어

 

create

데이터베이스/테이블 생성

 

create database DB명;

create database TABLE명(속성명 타입 제약조건 , 속성명 타입 제약조건);

 

drop

데이터베이스/테이블 삭제

 

drop database DB명;

drop database if exists DB명;

drop table if exists TABLE명;

 

alter

데이터베이스/테이블 수정

 

truncate

테이블 내 데이터 삭제

 

rename (버전에따라 다름)

테이블 이름 수정

 

show

 

데이터베이스 검색

show databases

 

use

데이터베이스 사용 선택

use DB명


 

DML

데이터베이스 조작어

 

 

insert

 

insert into 테이블명 values(값1, 값2, 값3 , 값4)

모든 필드의 값 대입해서 레코드 삽입할때

 

insert into 테이블명 (필드명 , 필드명 , 필드명) values(값1 , 값2 , 값3) 

특정 필드의 값 대입해서 레코드 삽일할때

 

select

 

select 필드명, 필드명 from 테이블명

모든 레코드 검색 ( 특정 필드만 표시 )

 

select * from 테이블명

모든 레코드 검색 ( 모든 필드 표시 )

 

 

1) where 조건

select * from 테이블명 where 조건

 

ex) select *from member where bno = 3;

회원번호가 3인 레코드 

 

 

 

2) order by 정렬

select * from 테이블명 order by 정렬기준필드명 정렬기준 [ asc: 오름차순 / desc : 내림차순 ]

 

ex) select * from member order by point desc

포인트 필드 기준으로 내림차순

 

 

3) limit 검색결과 레코드표시제한

 

select * from 테이블명 limit 레코드수

 

ex) select * from member limit 3

3개 레코드

 

select * from 테이블명 limit 시작레코드번호[0~] , 레코드수

 

ex) select * from member limit 2 , 5

3번째 레코드부터 5개 레코드

 

 

 


 

 

작성순서

 

select * 테이블명 where 조건절 order by 정렬필드 정렬기준 limit 레코드수

 

 


 

update

update 테이블명 set 수정할필드명 = 수정할값 where 조건

 

delete

delete from 테이블명 where 조건

 

 


 

DCL

데이터베이스 제어어

grant

revoke

 


 

TCL

트랜잭션 제어어

commint

rollback

 


 

데이터 필드 타입

 

 

정수

tinyint  1바이트 -128~127
smallint 2바이트 +-3만정도
mediumint 3바이트 +-8백만정도
int 4바이트 +-21억정도
bigint 8바이트 +-21억이상

 

 

실수

float 4바이트 소수점 7자리
double 8바이트 소수점 15자리

 

 

문자

char(길이) 고정길이 저장할 데이터의 글자수가 정확히 정해져있을 경우
varchar(길이) 가변길이 저장할 데이터의 글자수가 정해져있지 않는 경우

 

 

대용량 문자

text   1~65535글자
mediumtext   1~16000000글자
longtext 4기가  

 

 

날짜

date YYYY-MM-DD YYYY.MM.DD 형식  
time HH:MM:SS 형식   
datetime YYYY-MM-DD HH:MM:SS 형식  

 

 

논리

boolean 1바이트 true = 1 / false = 0 

 


제약조건

 

pk

 

primary key( pk사용할필드명 )

 


 

fk

 

foreign key( fk사용할 필드명 ) references pk테이블명(pk필드명) 

 

 

선택옵션

 

on delete/update cascade

pk필드의 값이 삭제/수정 되었을때 fk필드의 레코드도 같이 삭제/수정

 

on delete/update restrict 

기본값

pk필드의 값이 삭제/수정 되었을때  fk필드의 값이 존재하면 불가능

 

on delete/update no action

아무런 변화 없음

 

on delete/update set null

pk필드의 값이 삭제/수정 되었을때 fk필드를 특정값(null)로 수정

 


 

auto_intrement

필드명 타입 auto_increment

pk필드에서만 사용이 가능하다.

 

 

not null

필드명 타입 not null

해당 필드의 null 대입 금지

 

 

unique

필드명 타입 unique

해당 필드의 중복값 대입 금지

 

 

default

필드명 타입 default 값

레코드 삽입시 필드의 값이 없으면 기본값 대입

삽입할 필드의 값이 있으면 해당 값 대입된다.

 

 


 

연산자

 

1. 산술

 

+더하기 -빼기 *곱하기 /나누기 div몫 mod나머지

2. 비교

=같다 !=같지않다 >초과 <미만 >=이상 <=이하

 

3.논리

 

and 이면서 or 이거나 not 부정

 

4. 기타

필드명 between 시작값 and 끝값
필드명 int(값1, 값2, 값3)
필드명 like '%값%'
%: 모든 문자수 대응
필드명 like '_값_'
_ : _ 개수만큼 문자 수 대응
필드명 is null
null 이면
= null 사용 불가
필드명 not null
null 아니면

 


기타 키워드

 

1. 별칭 

 

검색결과나 연산시 테이블명/필드명에 별명

 

별칭 만드는 방법

  • 필드명 as 별칭명
  • 테이블명 as 별칭명
  • 필드명 별칭

 

2. distinct

 

필드의 값 중복 제거

select distinct 필드명 from  테이블명

 


 

 

 

 

728x90