본문 바로가기
DataBase

기초 : 데이터

by 노랑파랑 2016. 11. 9.
반응형



데이터 입력

INSERT INTO 테이블이름 ( 필드명1, 필드명2 ... ) VALUES (필드값1, 핃드값2 ...) ;

INSERT INTO 테이블이름 VALUES (필드값1, 필드값2...) ;



데이터 삭제

DELETE FROM 테이블이름 [WHRER 조건] ;



데이터 수정

UPDATE 테이블이름 SET 필드명=필드값 [WHERE 조건] ;

UPDATE 테이블이름 SET 필드명=산술식 [WHERE 조건] ;



데이터 검색

1. 기본 사용

SELECT [destinct] 검색할 필드명 FROM 테이블 이름 [ WHERE 검색 조건]

[ ORDER BY 필드명 [asc or desc] ] [GROUP BY 필드명] [HAVING 검색조건] ;


2. 사용예제

▷ 기본적 검색

SELECT name FROM member WHERE age="20" ;

* member 테이블에서 age가 20인 데이터의 name을 출력한다.

SELECT * FROM member ;

* member 테이블의 모든 데이터를 출력한다.


▷ 결과 레코드의 중복 제거

SELECT distinct name FROM member ;

* member 테이블의 name의 모든 중복된 행을 제거하고 출력.

* Null 값은 모두 중복된 값으로 인식하기 때문에 주의!


▷ 조건 검색

SELECT name FROM member WHRRE age >= 20 AND gender = "남자" ;

* member 테이블에서 age가 20 이상이고 gender가 남자인 name 데이터 출력.

* WHERE 절에는 비교연산자 ( >, >=, <, <=, = )와 논리연산자 ( and, or, not ) 사용 가능.


▷ 검색 결과 정렬

SELECT name FROM member ORDER BY age desc ;

* member 테이블의 name 데이터를 age 값에 따라 내림차순으로 출력.

* asc : 오름차순(기본값) , desc : 내림차순 


▷ 검색 결과에 대한 산술 계산 및 문자열 처리

SELECT name, '님 안녕하세요.' FROM member ;

* member 테이블의 name에 "님 안녕하세요" 문자열을 붙여서 출력. -> 예 : name="홍길동"일 때, 홍길동님 인녕하세요 출력.

* SELECT 문 뒤에 콤마(,)를 사용해서 계속 검색할 데이터를 붙일 수 있다.

SELECT name, age+1 FROM member WHERE age="20" ;

* member 테이블의 age가 20인 name과 원래 age 값에 1을 더한 데이터를 출력.


▷ GROUP FUNCTiON (그룹함수)이용

SELECT count(*) FROM member WHERE age="20" ;

* member 테이블에서 age가 20인 레코드 결과를 출력.

* count(필드명) : 조건은 만족하는 레코드 개수.

  sum(필드명) : 해당 필드의 합

  avg(필드명) : 해당 필드의 평균 값

  min(필드명) : 해당 필드의 최소 값

  max(필드명) : 해당 필드의 최대 값.


▷ GROUP BY 이용

SELECT name max(age), min(age), avg(age) FROM member GROUP BY gender ;

* member 테이블의 name과 각각 age의 최소값, 최대값, 평균값을 gender별로 출력한다.


▷ HAVING 이용

SELECT name max(age), min(age), avg(age) FROM member GROUP BY gender HAVING gender="남자" ;

* member 테이블에서 name과 각 각 age의 최소값, 최대값, 평균값을 gender별로 gender가 남자인 결과 값만 출력.

* HAVING은 GROUP BY에ㅓ 지정한 필드에 대한 검색 조건문.


▷ between , in, not in, 이용

SELECT name FROM member WHERE age between 20 ans 25 ;

* member 테이블에서 age가 20에서 25인 name을 출력.

* age >= 20 ans age <=25 와 같다.

SELECT name FROM member WHERE age in ('20', '25');

* member 테이블에서 age가 20, 25인 name을 출력.

SELECT name FROM WHERE age not in('20' ,'25') ;

* member 테이블에서 age가 20, 25를 제외한 name 출력.


▷ like 이용

SELECT name FROM member WHERE name like '%길%' ;

* member 테이블에서 name 값 중 가운데 글자가 '길'인 name 출력.

* '%길' 이면 길로 끝나는 레코드, '홍%'이면 홀으로 시작하는 레코드를 출력.


▷ null 값을 이용

SELECT name FROM member WHERE age is null ;

* member 테이블에서 age 값이 Null (값이 없는) name 출력




반응형