반응형

츄르사려고 코딩하는 코집사입니다.

츄르사려고 코딩하는 코집사입니다.


1. SQL(Sturctured Query Language)

- Database에 있는 정보를 꺼내오거나 삭제, 수정 등을 할 수 있ㄷ로ㅗㄱ 지원하는 언어

- 모든 DBMS(DataBase Management System)에서 사용 가능하다.

- SQL에서 대소문자의 구분은 하지 않는다.

- 예를 들어, Insert, insert, INSERt 다 가능하다.

- 데이터의 대소문자는 구분을 한다.(당연한 소리!)

 

2. DBMS(DataBase Management System)

- 데이터베이스를 관리해주는 시스템

 

3. table

- 정보를 담을 수 있는 공간, 표라고 할 수 있음

 

4. varchar(16)

- 여기서 16은 문자열의 길이를 뜻한다.

 

5. 스키마

- 데이터베이스의 테이블에 저장될 데이터의 구조와 형식을 정의

 

6. 제약조건

- auto_increment : 자동으로 증가

- current_timestamp : 현재 시간

- NOT NULL : NULL값을 가지지 못한다.

 

7. SQL을 이용한 table 생성

CREATE TABLE YONGKUS (
	idx          int          not null auto_increment,
	id       varchar(16)  not null,
	name     varchar(20),
	pwd      varchar(16),
	email      varchar(20),
	emaildomain  varchar(50),
	date     timestamp    not null default current_timestamp,
	primary key (idx)
);

 

8. DML(Data Manipulation Language)

1) SQL 문 종류

- insert(C) : DB 객체에 데이터 입력

- select(R) : DB 객체에서 데이터 조회

- update(U) : DB 객체에 데이터 수정

- delete(D) : DB 객체에 데이터 삭제

 

2) INSERT(C)

- INSERT INTO table_name

INSERT INTO table
VALUES(a,b,c,d);

- INSERT INTO table_name(a1, b1, c1, d1)

- 아래와 같이 하면 a1 column에 a가 들어가고, b1 column에 b, c1 column에 c, d1 column에 d가 들어간다.

INSERT INTO table_name(a1, b1, c1, d1)
values(a,b,c,d)

3) 생략이 가능한 필드(field)

- NULL이 허용된 column

- DEFAULT가 설정된 column

- AUTO INCREMENT가 설정된 column

 

4) UPDATE(U)

- UPDATE table_name WHERE conditions;

UPDATE table_name
SET a1=b, b1=c
WHERE conditions;
//WHERE절이 없으면 모든 데이터가 바뀐다.

//id가 1234인 데이터에서 name은 Yongku로 age는 27로 바꿔라
UPDATE Yongkus
SET name='Yongku', age='27'
WHERE id='1234'

 

5) DELETE(D)

- DELETE from table_name WHERE conditions;

DELETE from table_name
WHERE conditions;

//이름이 1234인 사람을 지워라
DELETE from Yongkus
WHERE name='1234'

6) SELECT(R)

- SELECT * | { [ ALL | DISTINCT ] column | expression [alias], ...} FROM table_name;

SELECT CLAUSE 설명
* 테이블에서 모든 열 선택
ALL 테이블에서 선택된 모든 행 반환.
ALL이 DEFAULT다
생략가능
DISTINCT 선택된 모든 행에서 중복된 행 제거
column 테이블에서 지정된 열 선택
expression 연산자 및 SQL 함수의 조합으로 사용
alias 별칭

 

- 중복없이 조회

//YONGKUS 테이블에서 부서를 중복없이 조회
SELECT distinct 부서
FROM YONGKUS

 

- alias 설정

//name 열에는 이름, age에는 나이, value에는 가    격으로 alias 설정
SELECT name 이름, age as 나이, value "가    격"
FROM YONGKUS

 

7) SELECT 사칙연산

//이름, 나이, 가격, 연봉(value*12)
SELECT name 이름, age 나이, value 가격, value*12 연봉
from YONGKUS;

 

- NULL이 있을 경우에는 IFNULL(열, 0) 사용 -> 열에 NULL이 있을 경우에는 0으로 대체한다.

 

8) SELECT 조건문

- SELECT FROM table_name where conditions and | or conditions;

- and는 둘 다 만족

- or은 하나만 만족

- null은 equal 비교를 할 수 없다. 그렇기에 is null / is not null 을 사용해야 한다.

 

- where에서 부서번호가 1,2,3인 경우 조회하는 query 문

//사원번호가 1,2,3이 있는 데이터 조회
SELECT idx 사원번호
FROM YONGKUS
where idx in (1,2,3);

//사원번호가 1,2,3이 없는 것 조회
SELECT idx 사원번호
FROM YONGKUS
where idx not in (1,2,3);

 

9) SELECT BETWEEN 문

// value가 1000이상 3000이하인 데이터 조회
SELECT value
FROM YONGKUS
WHERE value between 1000
and 3000;

 

10) SELECT LIKE 문

- 이름에 a가 포함된 데이터 조회

//%를 사용하여 와일드카드 사용
//%a% a앞에 뭐가 나와도 되고, 뒤에 뭐가 나와도 된다.
//%a a로 끝나는 이름 조회
// a% a로 시작하는 이름 조회

select name 이름
from YONGKUS
where name like '%a%';

 

11) 와일드카드 %와 _ 차이

- %는 앞에든 뒤에든 몇 개가 나와도 상관없는데, _(언더바)는 글자수에 따라 다르다.

- 이름 중에 elith, cle가 있을 때, e%를 하게 되면 elith가 나오고, __e를 하면 cle가 나온다.

 

12) SELECT 문 ORDER BY

- 데이터를 오름차순, 내림차순으로 정렬

- DEFAULT는 ASC(오름차순)

- 내림차순은 DESC

//이름, 나이, 가격, 연봉(value*12)
SELECT name 이름, age 나이, value 가격, value*12 연봉
from YONGKUS
order by age asc;

 

- 아래의 코드는 age로 내림차순 정렬을 하고, 정렬한 상태에서 value를 오름차순(default)로 또 정렬을 한다.

//이름, 나이, 가격, 연봉(value*12)
SELECT name 이름, age 나이, value 가격, value*12 연봉
from YONGKUS
order by age desc value;

 

 

9. NULL 연산

1) NOT

TURE FALSE NULL
FALSE TRUE NULL

 

2) AND

  TRUE FALSE NULL
TRUE TRUE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL

 

3) OR

  TRUE FALSE NULL
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE NULL
NULL TRUE NULL NULL

 

10. 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기