묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[질문]쿼리문기초에 대해서입니다^^ (쓰기/수정/삭제)
2004.10.26 00:26
아래글은 제가 나름대로 PHP를 어느정도 익히고
정리하는겸 제가 알고있는 지식을 쓴 글입니다. 혹시 다른방법이 더 있거나
틀린점 지적부탁합니다.
방법은 다르지만 결과는 같습니다.
쓰기1/
INSERT INTO 테이블(필드1,필드2) values('값1','값2')
쓰기2/
INSERT INTO 테이블 SET '필드1'='값1','필드2'='값2');
수정/
UPDATE 테이블 SET `필드1수정값` = '값1수정값' WHERE `필드1` = '값1' AND `필드2` = '값2' LIMIT 1
삭제/
delete 값 from 테이블 where 필드 > 10
from뒤에는 불러오고 수정하고 지울값이 있는 해당 테이블
where뒤에는 필드와 값에대한 조건
and는 조건의 확장
set은 수정하거나 쓰기원하는 필드와 값
into 쓰길 원하는 테이블 선택
limit 반복할 횟수 10 이면 0 에서 10까지 (0,10)도 같은뜻
from앞에 붙는 값은 뭐죠;;;;; 대부분 안쓰거나 * 을 사용하던데요
이것들 무슨뜻인지 모르겠습니다;;
ORDER BY 필드 DESC LIMIT 0,10
필드의 오름차순? 뭐 정렬하는거같은데요
delete * from 과 delete from 의 차이를 모르겟습니다
아직 계념이 어설픕니다. 바로잡아주세요..ㅡㅜ
그리고 하나더
@mysql_result()
@mysql_close($db)
위에껀 리셋하는거고
아래껀 닫는겁니다.
닫는걸 안쓰면 DB에서 알아서 닫아주지만
리소스 조금더 잡아 먹기 때문에 마지막에
꼭 넣어줘야한다고 알고있거든요
근데 제가 구한 예제들을 보면 마지막에 닫질 않고
리셋을 합니다 그이유는 뭐지요?
리셋의 용도가 무엇일가요?
정리하는겸 제가 알고있는 지식을 쓴 글입니다. 혹시 다른방법이 더 있거나
틀린점 지적부탁합니다.
방법은 다르지만 결과는 같습니다.
쓰기1/
INSERT INTO 테이블(필드1,필드2) values('값1','값2')
쓰기2/
INSERT INTO 테이블 SET '필드1'='값1','필드2'='값2');
수정/
UPDATE 테이블 SET `필드1수정값` = '값1수정값' WHERE `필드1` = '값1' AND `필드2` = '값2' LIMIT 1
삭제/
delete 값 from 테이블 where 필드 > 10
from뒤에는 불러오고 수정하고 지울값이 있는 해당 테이블
where뒤에는 필드와 값에대한 조건
and는 조건의 확장
set은 수정하거나 쓰기원하는 필드와 값
into 쓰길 원하는 테이블 선택
limit 반복할 횟수 10 이면 0 에서 10까지 (0,10)도 같은뜻
from앞에 붙는 값은 뭐죠;;;;; 대부분 안쓰거나 * 을 사용하던데요
이것들 무슨뜻인지 모르겠습니다;;
ORDER BY 필드 DESC LIMIT 0,10
필드의 오름차순? 뭐 정렬하는거같은데요
delete * from 과 delete from 의 차이를 모르겟습니다
아직 계념이 어설픕니다. 바로잡아주세요..ㅡㅜ
그리고 하나더
@mysql_result()
@mysql_close($db)
위에껀 리셋하는거고
아래껀 닫는겁니다.
닫는걸 안쓰면 DB에서 알아서 닫아주지만
리소스 조금더 잡아 먹기 때문에 마지막에
꼭 넣어줘야한다고 알고있거든요
근데 제가 구한 예제들을 보면 마지막에 닫질 않고
리셋을 합니다 그이유는 뭐지요?
리셋의 용도가 무엇일가요?
댓글 2
-
WEd™
2004.10.26 12:17
-
스카야마™
2004.10.26 20:55
답변 정말 감사합니다....ㅡㅜ
php고수만 있는 php스쿨 사이트보다 여기가 훨신 친절하네요
*은 이해 됬습니다~
delete from은 아직도 뭔지 모르곘네요^^;
result가 약간밖에 이해가 안되네요^^;
=> * 는 모든것 을 의미합니다.
즉 모든 필드명을 의미하죠.
select 할 필드가 하나뿐이라면 그 필드명을
select field_name from table_name 이렇게 불러주면 되구요
이것들 무슨뜻인지 모르겠습니다;;
ORDER BY 필드 DESC LIMIT 0,10
필드의 오름차순? 뭐 정렬하는거같은데요
ORDER BY ->정렬하것다.
필드 -> 정렬기준
DESC -> 역순으로
LIMIT -> 잘러와라
0,10 -> 0번(첫번째) 에서 부터 10개를 가져와라
정리하면 필드명을 기준으로 역순으로 가져오되 처음 10개만 가져와라.가 되겠죠.
delete * from 과 delete from 의 차이를 모르겟습니다
=>위에 * 를 설명하여 드렸으니 이해가 가시겠죠?
아직 계념이 어설픕니다. 바로잡아주세요..ㅡㅜ
@mysql_result()
@mysql_close($db)
------------------------------------------------
리셋이 아닙니다.
우선 용도를 설명드리자면
$result = mysql_query("select * from test", $conn);
$no = mysql_result($reuslt, 0, 0); // 0번째 레코드의 no필드를 구한다.
mysql_result는 함수구요.
쿼리문으로 select 한 결과값 즉 결과 셋을 받아서
첫번째 인자로 결과셋을 넣고 두번째인자 0은 0번째 레코드
즉 가장최근 업로드 된 라인에서
세번째 인자인 첫번째 필드의 내용을 가져와라 이겁니다.
필드1 | 필드2 | 필드3
----------------------------
값1 | 값2 | 값3
-----------------------------
.
.
위에서
$result = mysql_query("select * from test", $conn);
$no = mysql_result($reuslt, 0, 0);
를 실행하면 $no 에는 값1일 할당됩니다.