Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ Ä¿ÇÇÇâÀÌ ³ª´Â *NIX
Ä¿ÇǴнº
½Ã½ºÅÛ/³×Æ®¿÷/º¸¾ÈÀ» ´Ù·ç´Â °÷
* HanIRCÀÇ #coffeenix ¹æ
[ Àåºñ ¹× ȸ¼± ÈÄ¿ø ]
HOME > ÇÁ·Î±×·¡¹Ö / °³¹ß > À¥ ÇÁ·Î±×·¡¹Ö / PHP µµ¿ò¸»
°Ë»ö : »çÀÌÆ® WHOIS À¥¼­¹ö Á¾·ù


  SQLite ¿Í php ÀÇ ¿¬µ¿ ÀÛ¼ºÀÏ : 2003/10/28 21:57
 
  • ±Û¾´ÀÌ : Ä«ÆóÀÎ ( http://nonots.unixedu.org/ )
  • Á¶È¸¼ö : 12213
          [ ÀÌÀüÈ­¸é / ¼öÁ¤ ]   ºñ¹Ð¹øÈ£ :     Àμâ¿ë È­¸é
      ####################################################
    ### PHP ¿¡¼­ SQLite DB »ç¿ëÇϱâ
    ### 2003/10/28 ±Ç±â¼º : nonots@hanmail.net
    ####################################################

    1. °³¿ä

        SQLite ÀÇ Æ¯Â¡À̶ó¸é, ¼³Ä¡¹× »ç¿ëÀÌ °£´ÜÇÏ´Ù´ÂÁ¡
        ÀÛ°í ºü¸£´Ù´Â Á¡, SQL92 ¶ó´Â Ç¥ÁØÀ» µû¸£¹Ç·Î ´Ù¸¥ DBMS ¿Í À¯»çÇÑ
        SQL ¹®À» »ç¿ëÇÑ´Ù´ÂÁ¡, º°µµÀÇ µ¥¸ó ÇÁ·Î¼¼½º°¡ ¶°ÀÖÁö ¾Ê´Ù´Â Á¡,
        PHP 5 ºÎÅÍ Àû±Ø Áö¿øµÈ´Ù´ÂÁ¡,,    µîÀ» µé ¼ö ÀÖ½À´Ï´Ù.

        ¾ÆÁ÷ Áö¿øµÇÁö ¾Ê´Â ±â´ÉÀº http://sqlite.org/omitted.html ¿¡  ÀÖ½À´Ï´Ù.
        ÀÌÁß¿¡¼­µµ Alter table ÀÌ ¾ÈµÈ´Ù´Â°Ô Âü ºÒÆíÇϱº¿ä..

        °£´ÜÇÏ°Ô Á¦°¡ »ç¿ëÇغ» SQLite ÀÇ »ç¿ë¹ýÀ» º¸¿©µå¸®°Ú½À´Ï´Ù.


    2. SQLite ¼³Ä¡

        - °æ·Î :  http://sqlite.org/download.html - ¿©±â °¡¸é  À©µµ¿ì¿ë, ¸®´ª½º¿ëÀÌ ÀÖ½À´Ï´Ù.
        - Á¦°æ¿ì ¸®´ª½º¿ë sqlite-2.8.6 °ú sqlite-devel-2.8.6 RPM À» ´Ù¿î ¹Þ¾Æ
        ¼³Ä¡Çß½À´Ï´Ù.. ȯ°æ¼³Á¤ÆÄÀÏ °°Àº °Íµµ ¾ø°í. µ¥¸óÀ» ¶ç¿ì´Â °Íµµ ÇÊ¿ä ¾ø½À´Ï´Ù.
        ±×³É rpm À¸·Î ±ò¸é ³¡ÀÔ´Ï´Ù.
        - ¾Æ·¡´Â °£´ÜÇÑ »ç¿ë·Ê ÀÔ´Ï´Ù.


    $ sqlite test_db
    SQLite version 2.8.6
    Enter ".help" for instructions
    sqlite>
            ½©¿¡¼­  ÀÌ·¸°Ô¸¸ Çϸé ÇöÀç µð·ºÅ丮¿¡ test_db ¶ó´Â ÆÄÀÏÀÌ Çϳª ¸¸µé¾îÁý´Ï´Ù.
            ÀÌ ÆÄÀÏ(DB)À» php¿¡¼­ »ç¿ëÇÏ·Á¸é ´ç¿¬È÷ À¥¼­¹ö°¡ ÀÐ°í ¾µ¼ö ÀÖ´Â ±ÇÇÑÀÌ ÀÖ¾î¾ß
            ÇÕ´Ï´Ù.

    sqlite> create table test_tb ( id int PRIMARY KEY, name varchar(30));
            Å×À̺í test_tb ¸¦ ¸¸µì´Ï´Ù.
    sqlite> .tables  //Å×À̺í¸ñ·Ï º¸±â
    test_tb
    sqlite> .schema test_tb  // Å×À̺íÀÇ ±¸Á¶¸¦ º¾´Ï´Ù.
    create table test_tb ( id int PRIMARY KEY, name varchar(30));
    sqlite> insert into test_tb values ( 1,'±Ç±â¼º');
    // AUTO_INCREMENT ±â´ÉÇÏ´Â INSERT
    sqlite> insert into test_tb values((SELECT max(id) FROM test_tb)+1,'±Ç±â¼º2');
    sqlite> select * from test_tb;
    1|±Ç±â¼º
    2|±Ç±â¼º2

    sqlite> create index name_idx on test_tb (name)  ; //À妽º ¸¸µé±â

    sqlite> begin ; //Æ®·£Àè¼Çµµ °¡´É
    sqlite> insert into test_tb values ( 3,'±è±â¼º');
    sqlite> select  * from test_tb;
    1|±Ç±â¼º
    2|±Ç±â¼º2
    3|±è±â¼º
    sqlite> rollback; //·Ñ¹é
    sqlite> select * from test_tb;
    1|±Ç±â¼º
    2|±Ç±â¼º2

    sqlite> .output backup.txt //´ÙÀ½ÁÙ select ÀÇ °á°ú°¡ backup.txt ÆÄÀÏ·Î ÀúÀåµÊ
    sqlite> select * from test_tb ;
    sqlite> .exit //Á¾·á

    // ½©¿¡¼­ test_db ¸¦ dump ¹Þ¾Æ¼­ ¾ÐÃàÇÔ ( mysqldump ¿Í ºñ½Á )
    $ echo '.dump' | sqlite test_db | gzip -c > test_db.dump.gz //¹é¾÷Çϱâ
    $ zcat test_db.dump.gz | sqlite test_db  //º¹¿øÇϱâ



    3. PHP ¿¡¼­ ¸ðµâ¼³Ä¡

        - PHP 5 º£Å¸ :  --with-sqlite ¿É¼ÇÀ» ÁÖ°í ÄÄÆÄÀÏÇÕ´Ï´Ù.
            (Âü°í·Î php 5 ¿¡¼­´Â mysql À» »ç¿ëÇÏ·Á¸é ¹Ýµå½Ã --with-mysql À» Áà¾ßÇÕ´Ï´Ù.)
            ÄÄÆÄÀÏÈÄ pearDB ¸¦ »ç¿ëÇÏ·Á¸é  ÀÌ °æ¿ìµµ
            # pear install SQLite  ¸í·É¾î·Î sqlite ÆÐÅ°Áö¸¦ ¼³Ä¡ÇؾßÇÒ°Ì´Ï´Ù.(¾Æ¸¶)

        - PHP 4.3.3 : Á¦°æ¿ì 4.3.3 ¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. ÃÖ¼Ò °¡´É ¹öÀüÀÌ ¾ó¸¶ÀÎÁö´Â ¸ð¸£°Ú½À´Ï´Ù.
            ÀÌ°æ¿ì php ÀÇ ÃÖÃÊ ÄÄÆÄÀϽà --with-sqlite ¶ó´Â ¿É¼ÇÀÚü°¡ ¾ø½À´Ï´Ù.
            ±×·¯¹Ç·Î ÀϹÝÀûÀ¸·Î php ÄÄÆÄÀÏ Çؼ­ ¼³Ä¡ÇÑ ÈÄ ³ªÁß¿¡
            PEAR ÆÐÅ°Áö·Î µû·Î ¼³Ä¡¸¦ ÇؾßÇÕ´Ï´Ù. ¸®´ª½º ½©¿¡¼­ ·çÆ® ±ÇÇÑÀ¸·Î

            # pear install SQLite

            ¶ó°í Çϸ頠ÆÐÅ°Áö¸¦ ÀÚµ¿À¸·Î ´Ù¿î ¹Þ¾Æ¼­ ¼Ò½º Ç®°í ÇÑÂü  ÄÄÆÄÀÏ ÇÕ´Ï´Ù.
            °á°úÀûÀ¸·Î {PHP¼³Ä¡À§Ä¡}/extensions/no-debug-non-zts-20020429 ¿Í °°Àº µð·ºÅ丮¿¡
            sqlite.so ¶ó´Â so ÆÄÀÏÀÌ Çϳª»ý±é´Ï´Ù.
            ÀÌÆÄÀÏÀ» {PHP¼³Ä¡À§Ä¡}/extensions/ ·Î º¹»çÇÑÈÄ
            php.ini ÆÄÀÏ¿¡¼­

            extension=sqlite.so

            ¿Í °°ÀÌ µ¿Àû ¸ðµâÀ» »ç¿ëÇϵµ·Ï ¼öÁ¤ÇÕ´Ï´Ù.
            Á¶½ÉÇÒ Á¡Àº php.ini ¿¡¼­ extension_dir ÀÌ  Á¦´ë·Î ¼³Á¤µÇ°Å³ª ¾Æ´Ï¸é  ÁÖ¼®Ã³¸®µÇ¾î
            µðÆúÆ® À§Ä¡¸¦ ãµµ·Ï ÇؾßÇÕ´Ï´Ù.

            ÀÌ·¸°Ô ÇÑÈÄ À¥¼­¹ö¸¦ Àç½ÃÀÛÇÏ°í,  phpinfo() ·Î ºÃÀ»¶§ sqlite Ç׸ñÀÌ ³ª¿À¸é Á¦´ë·Î
            ¼³Ä¡°¡ µÈ°Ì´Ï´Ù.

        - PEAR DB
            À§¿¡¼­ pear install SQLite ¸í·É½Ã pear  ÆÐÅ°Áö·Î ÀÚµ¿ ¼³Ä¡Çϸç
            {PHP¼³Ä¡À§Ä¡}/php/DB/sqlite.php ¶ó´Â ÆÄÀÏ·Î ÀúÀåµË´Ï´Ù.
            ÀÌ ÆÄÀÏÀ» ÅëÇؼ­ sqlite µµ PEAR DB ¿¡¼­ °£ÆíÇÏ°Ô »ç¿ë°¡´ÉÇÕ´Ï´Ù.



    4. PHP ¼Ò½º

        - °£´ÜÇÑ »ç¿ë¹ýÀº ¾Æ·¡¿Í °°½À´Ï´Ù. DB ¿¬°áºÎºÐÀº ½±°Ô ÀÌÇØ°¡ °¡½Ç°Ì´Ï´Ù.
        - ½ÇÆÐÇϱâ Á¦ÀÏ ½¬¿î ÀÌÀ¯´Â DB ÀÎ test_db ¶ó´Â ÆÄÀÏÀÇ °æ·Î°¡ Á¦´ë·Î ¼³Á¤µÇ¾î¾ßÇÏ°í
        À¥¼­¹ö°¡ ÀÐ°í ¾µ¼ö ÀÖ´Â ±ÇÇÑÀÌ ÁÖ¾îÁ®¾ßÇÕ´Ï´Ù.

        <?php
        // PEAR DB ¿¬°á
        require_once 'DB.php';
        require_once 'DB/sqlite.php';

        // DSN Á¤ÀÇ - DB ÆÄÀÏÀÇ °æ·Î¿Í ÆÛ¹Ì¼Ç ÁÖÀÇ
        $dsn = array (
            'phptype'   => "sqlite", 'database'  => "./test_db",
            'mode'      => 0644
        );
        $db = &new DB_sqlite();
        $db->connect($dsn, array('persistent'=> true) );
        $table = 'test_tb'; // Å×À̺í¸í

        //ÀÔ·Â
        $result = $db->query("INSERT INTO $table VALUES (9,'¾Æ¹«°³');");

        printf("affectedRows:\t\t%s\n<br>", $db->affectedRows() );
        printf("getLastInsertId:\t%s\n<br>", $db->getLastInsertId() );
        $result = $db->query("SELECT * FROM $table;" );
        while($row = $db->fetchrow($result)){
            print_r($row ); echo "<br>";
        }
        $db->disconnect();
        ?>



    5. ±âŸ

        - http://www.sqlite.org ¿Í ±×°÷¿¡ ÀÖ´Â ¸µÅ©µéÀÇ Á¤º¸¸¦ ÂüÁ¶Çϼ¼¿ä..

        - sqlite °ü¸®ÅøÀº sf.net ¿¡¼­ sqlite ¶ó´Â °Ë»ö¾î·Î ã¾Æº¸¸é ¸î°³ ÀÖ½À´Ï´Ù.
            http://sourceforge.net/projects/sqlite-admin/ ÀÌ°ÍÀº phpMyadmin ºñ½ÁÇÑ php °ü¸®ÅøÀε¥
            ´ÜÁ¡Àº php5 °¡ ÇÊ¿äÇÕ´Ï´Ù.
            http://sourceforge.net/projects/sqlitebrowser/ ÀÌ°ÍÀº Qt ·ÎµÈ ¸®´ª½º¿ë GUI ÀÔ´Ï´Ù.

        - À§ÀÇ »ç¿ë¿¹¿¡¼­ º¸ÀÎ pear DB ¸¦ »ç¿ëÇÏÁö  ¾Ê°í ,±×³É php ÀÇ sqlite ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ·Á¸é
           http://kr.php.net/manual/kr/ref.sqlite.php ÀÌ°÷À» ÂüÁ¶Çϼ¼¿ä..
      Ä¿ÇǴнº Ä«Æä ÃÖ±Ù ±Û
    [04/25] ±¹°¡&#5
    [04/24] º¸Çè&#5
    [04/22] Re: OpenSSL Ãë¾àÁ¡ Á¤¸®, Logjam(·Î±×Àë)¿¡¼­ Heartbleed±îÁö
    [04/21] LET¡¯S START WITH ON
    [04/21] º¸Çè&#5
    [04/20] Á¦ÁÖ&#5
    [04/20] ±¹³»&#5
    [04/19] Á¦ÁÖ&#5
    [04/18] ??? ?????
    [04/17] ???? onion ?????? -
    [04/11] ±¹°¡&#5
    [04/10] Stride Into Dream:
    [03/20] Re: ¿Â¶óÀΰÔÀÓÀÇ Á¾ÁÖ±¹ ´ëÇѹα¹
    [10/20] Cross Compiler ±ò
    [07/14] SSL ¬¡¬°
      New!   ÃÖ±Ù¿¡ µî·ÏÇÑ ÆäÀÌÁö
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      ¿ÀÇÂij½ºÄÉÀ̵å ijµå (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI¸¦ È°¿ëÇÑ ¸®´ª½º ¼­¹ö°ü¸®
      DNS ¼³Á¤ °Ë»ç
      nagiosgraph ¼³Ä¡ ¹æ¹ý
      Slony-I ¼³Ä¡ ¹æ¹ý (postgresql replication tool)
      Qmail±â¹ÝÀÇ Anti spam ½Ã½ºÅÛ ±¸ÃàÇϱâ
      clusterssh

    [ ÇÔ²²ÇÏ´Â »çÀÌÆ® ]




    ¿î¿µÁø : ÁÁÀºÁøÈ£(truefeel), ¾ß¼ö(yasu), ¹ü³ÃÀÌ, sCag
    2003³â 8¿ù 4ÀÏ~