SQLite ¿Í php ÀÇ ¿¬µ¿ | ÀÛ¼ºÀÏ : 2003/10/28 21:57 |
Á¶È¸¼ö : 12225 |
#################################################### ### 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 ÀÌ°÷À» ÂüÁ¶Çϼ¼¿ä.. |
Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=109 |