웹마스터 팁

하루종일 한끼도 안먹었더니.. 배가 무지하게 고프네요..
이 강좌 올리고 바로 밥머거러 가야집.. 오늘은 갈비탕 사먹을거에요..^_^

MySQL의 쿼리문중.. 가장 많이 사용되고.. 특히 게시판을 만들거나 방명록, 등등을
만들때.. 이 4가지 쿼리문은 반드시 알아야 한다고 생각되기때문에..
이렇게 밥먹기전에 미리 올립니다..

제가 오라클은 안해봤는데.. 오라클도 쿼리문이 많이 비슷한걸로 알고있습니다.
즉, 하나만 확실히해도 전체적인걸 이해하는데는 많은 도움이 된다는거죠..


첫번째로..

select입니다.
DB로부터 자료를 가져올때 사용하게 됩니다.
기본 사용형태는 다음과 같습니다.

SELECT [컬럼] FROM [테이블명] WHERE [조건]

이게 기본적인 형태입니다.
여기서 컬럼이란 부분에 그냥 * (별표)를 사용하게되면
해당 테이블의 모든 컬럼의 자료를 가져온다는 말이 됩니다.

select * from table 까지는 거의 비슷하게.. 그리고 쉽게 사용할수 있습니다.
그러나 뒤에오는 조건절 (where)을 잘 사용해야합니다.

게시판을 예를 들어서 14번글을 볼려고 클릭했을때..
14번글에 해당하는 자료를 가져와야지만 됩니다. 그쵸??
이럴때 조건절을 이용하게 되는것입니다.

select * from table where no='14'

이렇게 하는거죠.. 즉, no가 14번에 해당하는 자료만 다 가져오는거죠.
조건절을 여러가지 형태로 사용할수가 있습니다.
즉, 연산자를 사용하는거죠..

and, or, not과 같이 논리 연산자를 사용할수도 있고
같다, 같지않다, 크다, 작다등의 비교연산자를 사용할수도 있습니다.

비교연산자는 PHP의 연산자와 거의 비슷하게 사용이 되며..
쿼리시 많이 사용하는 비교연산자 몇개만 설명하겠습니다.

= : 두 값이 같을때 참
!= : 두 값이 같지 않을때 참
< : 먼저오는 값이 뒤에오는 값보다 작을 경우 참
> : 먼저오는 값이 뒤에오는 값보다 클 경우 참
<= : 먼저오는 값이 뒤에 오는 값보다 작거나 같은경우 참
>= : 먼저오는 값이 뒤에 오는 값보다 크거나 같은경우 참
BETWEEN : 먼저오는 값과 뒤에오는 값사이의 값
LIKE : 먼저오는 값이 뒤에 오는값과 패턴이 같은경우 참


이정도를 사용할수가 있겠습니다.

이 연산자들은 즉, 조건문은 select문뿐만 아니라 어떤 쿼리에도 같이 사용할수있기때문에
잘 알아두셔야 합니다.

LIKE 같은 경우는 검색을 할때 사용하는 연산자입니다.

select * from table where 이름 like %mr%

이라고 쿼리한다면.. 이름에 mr 이 들어가는건 모두 찾아오게 됩니다.
즉, 저의 이름이 Mr. JH도 물론 나오겠죠..^^
이렇게 검색을 하게 되는것이랍니다..^^

또한 조건문을 한개만이 아닌 두개를 사용할수도 있습니다.

select * from table where no > 10 and real_no < 100

이렇게 쿼리를 한다면 no가 10보다 크고 real_no가 100보다 작은것만 가져오게 되는거죠..
또한 select문에는 이전 강좌에서 말한 결과값을 제한하는 limit 라는걸 이용할수도 있습니다.

select의 더많은 고급쿼리문은 다음에 저도 좀 잘할때..^^ 이야기 하도록하고..
이정도의 select 쿼리문만 알아도 게시판 만들때 크게 문제는 없을거라 생각합니다.


INSERT

즉, 삽입한다는 말이죠.. 게시판에서 글쓰기하면.. 쓴글과 제목, 글쓴사람.. 등등등을
DB속에 넣을때 insert라는 쿼리문을 사용합니다.

사용방법은 간단합니다.

insert into [테이블명] (컬럼,컬럼,컬럼) values ("값","값","값")

이런식으로 쿼리하게 됩니다.
그러나.. 만약에.. 테이블에 no, name, title, memo 라는 순서로 컬럼 4개가 존재한다면

insert into [테이블명] values ("값","값","값","값")

이렇게 해줘도 됩니다. 그러나.. no,name, title,memo중에서 title, memo컬럼에만 값을
넣고 싶다면

insert into [테이블명] (title,memo) values ("값","값")

위처럼 컬럼을 지정을 해줘야 한다는거죠..

DELETE

레코드를 삭제하는거죠.. 글을 지울때.. 이 쿼리를 사용하게 되죠..
일반적인 사용법은 다음과 같습니다.

delete from [테이블명] (where 조건)

여기서.. 뒤에 조건을 넣어주지 않는다면.. 테이블의 모든 자료가 삭제가 됩니다.
그래서 항상 뒤에 조건을 넣어야 하는거죠..

board라는 테이블의 14번글을 삭제하고 싶다면

delete from board where no='14'

이라고 해주시면 14번글에 해당하는 자료만 삭제가 되게됩니다.
근데 만약에 no가 14번인 자료가 두개가 있다고 가정하면 두개다 지워져버리게 되겠죠..
그래서 지울때는 항상 고유의 값을 지정해서 지워주는게 좋습니다.


UPDATE

업데이트문은 레코드값을 수정할때 사용합니다.
즉, 게시판에 올려놓은 글을 수정할때 이쿼리문을 사용하게 됩니다.

기본 사용방법은 아래와 같습니다.

update [테이블명] set [컬럼]='값', [컬럼]='값' (where 조건)

이렇게 사용할수있습니다.
board라는 테이블의 name 과 memo를 "김정현", "머시따~~" 로 바꾸고 싶다면

update board set name='김정현', memo='머시따~~'

라고 해주면 됩니다. 근데 업데이트문도 삭제문처럼.. 뒤에 조건을 안붙여주면
모든 자료가 변경이 되어버립니다. 그래서 항상 조건문을 붙여줘야 합니다.

즉, 14번글의 name 과 memo를 "김정현", "머시따~~" 로 바꾸고 싶다면

update board set name='김정현', memo='머시따~~' where no='14'

이렇게 되는거죠.. 아시겠죠?? ^^


이렇게 4가지 쿼리문을 살짝 봤습니다..
호스팅 서비스 받는분들은.. 텔넷으로 접속해서.. 자신의 MySQL서버에 들어가셔서
직접 위의 쿼리문들을 연습해보는것도 괜찮은 방법입니다.
더 쉽게 이해할수있겠죠?? ^^

혹시.. 텔넷을 잘 사용못하시는 분, 텔넷에서 MySQL접속을 못하시는 분들을 위해
간단하게 설명하자면

윈도우의 시작 ->실행 -> telnet "주소" 라고 치면 프롬프트창이 뜨면서 텔넷접속이 됩니다.
이때 주소에는 http:// 이거 안부쳐야 합니다..^^ 그냥 주소만 치면 됩니다.

접속후 로그인화면이 보일겁니다. 계정아이디와 계정비번을 넣고나면..
리눅스 터미널이 보일겁니다.
그기서.. 아래와 같이 치면 MySQL서버에 접속이 됩니다.

mysql -u아이디 -p비번

여기서 -u 와 아이디, 그리고 -p와 비번 사이는 띄우면 안됩니다. 전부 붙여서 사용해야 합니다.

이렇게 치면.. MySQL서버에 접속이 됩니다.
그리고 막무가내로 하면 안됩니다..^^ 자신의 디비를 선택해줘야 합니다.

use 디비명라고 치면 자신을 디비를 선택하게 됩니다.
그리고는 이제 자겁을 시작하시면 됩니다..^^

이상 강좌 끝~ 빨리 밥머거러 가야지.. ^^

제목 글쓴이 날짜
[re] 아래 행복한고니님의 할아버지 소스의 업글(?) 버젼입니다. [2] Mahican 2002.12.02
텍스트 폼에 커서가 미리 깜빡이도록... [8] 카리 2003.01.22
로그인과 로그아웃을 체크하는 방법입니다. [3] 이영호 2003.01.24
다음 로그인 폼 입니다... 로그인후 원하는 곳으로!! [3] 정성교 2003.03.05
크롬리스(Chromless) 웹어플리케이션 -5 [3] sundew 2003.05.28
[초간단 자바스크립트!] 홈페이지에 FTP 폼 넣기?! [10] ∑Ztxy 2003.09.29
[초간단 자바스크립트!] 자바로 로그인폼 만들기 [3] ∑Ztxy 2004.01.26
특정위치에 떠있는 레이어 (슬라이딩 애드콘) - 노프레임홈에서의 문제해결 [8] 검미르 2004.05.03
상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기. [2] Xian 2005.02.19
{로그인}관리자 로그인 폼 간단함 [2] 김민환 2006.10.10
쿠키(cookie)의 활용 [44] zero 2000.03.06
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
대화방을 만들어보쟈~ [20] 해그리드짱!!! 2001.06.03
[추천 소스] phpMyAdmin 다중사용자용... [5] WOWpc 2001.11.29
파일시스템에서 비밀번호 생성/수정/인증 [7] 두기두바 2002.01.10
[OsE=] Session을 배워보자~ [#1] OsE= 2002.03.02
MYSQL에 접속하기..^^ [9] ZipShin 2002.05.20
[PHP]간단한 로그인페이지 만들기 [15] ZipShin 2002.07.09
꼭 알아야 하는 4가지 쿼리문 Mr. JH 2002.08.22
[PHP 초보에서 중수로 - 쿠키편] 1강 : 쿠키의 이해 [2] file TheMics 2002.08.31