* 강윤원님 블로그이미지(펌 :)
* create table 테이블명(
컬럼명 자료형 not null,
컬럼명 자료형,
....................,
);
- 테이블 및 테이블이 가질 자료형을 만든다 not null은 무조건 값이 입력되야하- - 는 컬럼에 붙여준다
* alter table 테이블명
- 테이블관련 내용 변경시 이용하는 명령어
* add primary key(컬럼명)
- 컬럼을 primary key로 지정한다
*insert into 테이블명(컬럼명, 컬럼명, 컬럼명....)
values(값, 값, 값, 값...)
- 테이블의 컬럼에 값을 집어넣는다 컬럼명생략시 순서대로 값이 입력되고
- 필수 컬럼(not null선언)의 값은 무조건 입력되어야한다
* desc MEMBERS;
- 테이블내의 내용을 보여준다
* drop tablc 테이블명
- 테이블 삭제(테이블의 모든 데이터도 함께 삭제된다.)
select
*
from
MEMBERS;
MEMBERS테이블의 모든 내용을 찾아 보여주는 명령어
-----------------------------------------------------------------
where절이 붙을시 조건에 따라 검색할 수 있다
select
*
from
where
컬럼명 연산자 값 and /or 컬럼명 연산자 값...
select
*
from
where
MNAME = '임꺽정'
and PHONE = '111-1112';
select
AGE
from
MEMBERS
where
MNAME = '일지매';
select
*
from
MEMBERS
where
AGE > 30 or MNAME = '임꺽정';
select
*
from
MEMBERS
where
AGE <> 40;
/*40이 아닐때만 select My SQL에서는 null이더라도 select되지않는다
is null로만 가능
*/
select
*
from
MEMBERS
where
AGE >= 30;
문자에서의 대소 비교 연산자
문자에서도 대소비교가 가능하다
조심해야할점
이름의 부분으로 검색할 경우
당연히 그이름도 포함된다... 왜냐면 이름같은 문자는 숫자로 순서대로 저장
ex:) 일, 일지, 일지마 까지는 일지매 검색!
일지매는 일지매와 같은 수이므로 이때부터 검색 안됨
select *
from MEMBERS
where MNAME > '일지';
select *
from MEMBERS
where REG_DATE > '2013-08-11';
select *
from MEMBERS
where REG_DATE >= '2013-08-12' and REG_DATE < '2013-08-15';
-------------------study----------------------
like절
=은 동등비교이므로 성씨비교같은 각각의 동등에 대해 비교가 불가능하다 그래서 나온 개념으로 컬럼 like '성씨%'로 비교해주면 된다
%의 의미는 0자 이상...이라는 의미로 단어 앞 또는 뒤, 중간에 붙일 수 있으며 그 사이의 글자가 얼마나 될 지 모를 경우 또는 그 값을 포함한 모든 값을 찾고 싶을때 이용가능하다
select *
from MEMBERS
where MNAME like '임%'; -> 임으로 시작하는 모든 글자를 찾는다( '임' 포함)
select *
from MEMBERS
where MNAME like '%꺽정'; -> 뒤에 두글자가 ~꺽정인 모든 글자를 찾는다('꺽정' 포함)
select *
from MEMBERS
where MNAME like '%정%'; -> 중간사이의 글자가 정인 모든 글자를 찾는다('정' 포함)
_(언더바)의 의미 %와 비슷하지만 _(언더바)는 언더바의 갯수만큼의 글자만 찾는 것으로
'임_정'일 경우 앞글자는 임, 뒷글자는 정인 3글자 단어만 찾는다
select *
from MEMBERS
where MNAME like '임_정'; -> 앞글자는 임, 뒷글자는 정인 3글자 단어
컬럼명 between a and b ->
x>= a and x<= b 이런 경우에 구하는 것
select *
from MEMBERS
where AGE >= 20 and AGE <=30;
select *
from MEMBERS
where AGE between 20 and 30;
컬럼명 in (값, 값, 값) -> 컬럼 값이 괄호안의 값과 같은 것만...
from MEMBERS
where AGE in (20, 35, 40);
컬럼명 not in (값, 값,...)
select *
from MEMBERS
where AGE not in (20, 35, 40);
/* not */
select *
from MEMBERS
where not MNAME='임꺽정';
select *
from MEMBERS
where MNAME<>'임꺽정';
--------------------------study---------------
select *
from MEMBERS
where EMAIL='leem@test.com';
위와 같이 특정멤버를 찾을때는 primary key로 찾아야한다.
데이터 변경
update 테이블명 set 컬럼명 = 값, 컬럼명= 값, ...
where 조건을 집어넣으면 조건 생성
primary key를 이용해서만 찾아서 바꿀 수 있다
(primary key로 지정된 컬럼 값은 못 바꾼다)
update MEMBERS set REG_DATE='2013-08-10'
where EMAIL='leem@test.com';
update MEMBERS set REG_DATE='2013-08-11'
where EMAIL='hong@test.com';
update MEMBERS set REG_DATE='2013-08-12'
where EMAIL='ill@test.com';
update MEMBERS set REG_DATE='2013-08-13'
where EMAIL='eee@eee.com';
update MEMBERS set
MNAME = '홍길동2',
PHONE = '112-1111',
BLOG = 'hong.blog.com',
AGE = 20,
REG_DATE = now()
where
EMAIL = 'hong@test.com';
-----------------------------------------------------------------
데이터 삭제
delete from 테이블명
where 조건
-----delete from MEMBERS이게 중요하다 이거만 쓰면 다 날아갈 수 있다---
SET SQL_SAFE_UPDATES = 0;
SET SQL_SAFE_UPDATES = 1;
------------------------------안전모드 해체 및 설정-----------------
delete from MEMBERS
where MNAME = '일지매';
select *
from MEMBERS;
delete from MEMBERS
where PHONE like '%2' or PHONE like '%3';
delete from MEMBERS;
select *
from MEMBERS;
delete from MEMBERS
where EMAIL = 'hong@test.com';
-----------------------------------------------------------------

댓글 없음:
댓글 쓰기