블로그 이미지
hengki
우쭈쭈우쭈쭈

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

'MYSQL'에 해당되는 글 2

  1. 2009/04/15 PHP mysql 접근 클래스
  2. 2009/04/01 MYSQL SQL문 정리(1)
2009/04/15 13:22 Hengki's Program/PHP

  PHP+MySql 은 많은 사용자들에게 사랑 받고 있다. 가장 큰이유는 무료 라는 것과, 알려진 소스도 많다는 것도 있을수 있다.(무료라서 알려진소스가 많을수도) 또한 일반 사용자도 쉽게 서버를 구축할수 있는 이유도 있다. 홈페이지 관련 아르바이트를 하다보면 "Apmsetup" 이라는 프로그램에 "제로보드 4.x" 가 설치되어 운영되어 지는 것을 많이 볼수도 있다.(심지어 대량의 트레픽을 요구하는 곳에서도...) 그만큼 php와 mysql은 대중적으로 사용되어 지고있다.  

  머 여기 까진 주저리 였고 php에서 mysql을 접근하는 클래스를 구성해 보았다. php 하면서 항상 사용되는 소스이다보니 php로 뭘한다 싶으면, 먼저 이 파일부터 옮겨놓고 프로그래밍을 시작할 정도로 유용하게 사용하고있다. 

  따로 메뉴얼은 만들지 않겠다. php를 좀(?) 했다면 척보면 알정도의 소스이기 때문이다.(결코 귀찬아서 그런건 아니다) 대략 설명하자면 생성자 부분에서 db설정을 넣어주고 사용하면된다.


<?php

class dbControl{

 // -------------------------------------------------------------------
 // 생성자
 // -------------------------------------------------------------------
 function __construct(){

  // db서버 주소
  $hostname = "";
  // 사용자 id
  $username = "";
  // 사용자 패스워드
  $password = "";
  // 사용 db
  $dbname = "";

  $connect = mysql_connect($hostname, $username, $password) or die("SQL 서버에 접속할 수 없습니다.");
  $result = @mysql_select_db($dbname,$connect) or die("데이터베이스를 선택할 수 없습니다.");
 }

 // -------------------------------------------------------------------
 // 테이블 생성
 // -------------------------------------------------------------------
 function db_create($Tname,$Attribute){
  $sql="create table ".$Tname."(".$Attribute.");";
  $result = mysql_query($sql);
  if(!$result) echo "테이블생성 실패";
 }
                   
 // -------------------------------------------------------------------
 // 데이터 삽입
 // -------------------------------------------------------------------
 function db_insert($Tname, $data){
  $sql="insert into ".$Tname." VALUES (".$data.");";
  $result = mysql_query($sql);
  if(!$result) echo "데이터입력 실패";
 }

 // -------------------------------------------------------------------
 // 데이터 삭제
 // -------------------------------------------------------------------
 function db_delete($Tname, $where){
  $sql="delete from ".$Tname." WHERE ".$where.";";
  $result = mysql_query($sql);
  if(!$result) echo "데이터삭제 실패";
 }

 // -------------------------------------------------------------------
 // 데이터 수정
 // -------------------------------------------------------------------
 function db_modify($Tname, $set, $where){
  $sql="update ".$Tname." SET ".$set." WHERE ".$where;
  $result = mysql_query($sql);
  if(!$result) echo "데이터수정 실패";
 }


 // -------------------------------------------------------------------
 // 데이터 출력
 // -------------------------------------------------------------------
 function db_print($Tname){
  $sql="select * from ".$Tname.";";
  $result=mysql_query($sql);

  if($result){
   while($row = mysql_fetch_array($result)) $total[]=$row;
   return $total;
  }else echo "데이터출력 실패";
 }

 // -------------------------------------------------------------------
 // 쿼리 입력
 // -------------------------------------------------------------------
 function db_query($sql){
  $result = mysql_query($sql);
  if($result){
   $row = mysql_fetch_array($result);
   return $row;  
  }else{
   echo "쿼리 실패";
  }
 }
}

?>


※ 사용 예시

 <?
 include "dbControl.php";    // basic_db lib

 $db = new dbcontrol;     // db객체생성

 $row = $db->db_print("table_name");  // table_name의 데이터를 가져옴

 foreach($row as $data){
  echo $data[속성1];     // 속성1의 값을 출력
  echo $data[속성2];     // 속성2의 값을 출력
 }
?>


저작자 표시
posted by hengki
2009/04/01 13:25 Hengki's Program/PHP
* 데이터베이스 또는 테이블 보기
SHOW DATABASES;
SHOW TABLES;

* 데이터베이스 생성하기
CREATE DATABASE 데이터베이스명;

* 테이블 생성하기
CREATE TABLE 테이블명 (컬럼명1, 컬럼명2, 컬럼명3, ..., 컬럼명N);

* 데이터베이스 사용
USE 데이터베이스명;

* 데이터베이스 삭제하기
DROP DATABASE 데이터베이스명;

* 테이블 삭제하기
DROP TABLE 테이블명;

* 테이블에 새로운 컬럼 추가하기
ALTER TABLE 테이블명 ADD 컬럼명 자료형;

* 데이블의 특정 컬럼을 변경하기
ALTER TABLE 테이블명 CHANGE 변경전명 변경후명 자료형;

* 테이블에 특정 컬럼을 삭제하기
ALTER TABLE 테이블명 DROP 컬럼명;

* 테이블에 데이터 추가하기
INSERT INTO 테이블명 (컬럼1, 컬럼2, ..., 컬럼N) VALUES (데이터1, 데이터2, ..., 데이터N);

* 테이블 구조 살펴보기
DESCRIBE 테이블명;

* 원하는 항목 표시하기
SELECT * FROM 테이블이름;
SELECT 컬럼1, 컬럼2, ...컬럼N FROM 테이블이름;

* 조건하에 항목 표시하기
SELECT id, name, email FROM memo WHERE sex = 'M' AND math > '70';

* 순서대로 표시하기
// 오름차순
SELECT name, phone FROM memo ORDER BY 컬럼명 ASC;
// 내림차순
SELECT name, phone FROM memo ORDER BY 컬럼명 DESC;

* 원하는 갯수만큼 가져오기
// 위에서 4개만 가져온다.
SELECT * FROM memo LIMIT 4;
// 3번부터 4개를 가져온다.
SELECT * FROM memo LIMIT 2, 4;

* 데이터 개수 알아내기
SELECT COUNT(*) FROM data;

* 특정조건에 해당되는 데이터 갯수 구하기.
SELECT COUNT(*) FROM data WHERE sex = 'F';

* 검색을 통해 데이터 가져오기
SELECT * FROM student WHERE name LIKE '인민%';

* 자료 업데이트 하기
UPDATE 테이블명 SET 컬럼 = 값, ... WHERE 조건문

* 자료 삭제하기
DELETE FROM 테이블명 WHERE 조건문;

posted by hengki
TAG DB, MYSQL, query, SQL
prev 1 next