¼³¸í
ÀÌ ÆäÅ°Áö´Â mSQL¿¡ Æ÷ÇԵǾî ÀÖ´Â C API¿¡ °¡´ÉÇÑ ºñ½ÁÇÏ°Ô ¼³°èµÇ¾ú´Ù. mSQL¿¡ Æ÷ÇԵǾî ÀÖ´Â ¼³¸í¼´Â »ç¿ëÀÚ¿¡°Ô ÇÊ¿äÇÑ ´ëºÎºÐÀÇ °ÍµéÀ» ¼³¸íÇÏ°í ÀÖ´Ù. ¶ÇÇÑ ¸¹Àº »ç¶÷µéÀÇ ¿ä±¸ ¶§¹®¿¡, ÀÌ ¹öÀüÀÇ msqlperl¿¡¼´Â StudlyCaps¸¦ »ç¿ëÇÑ´Ù.
³»ºÎÀûÀ¸·Î
Msql2¿Í
Msql2::StatementÀÇ µÎ°³ÀÇ Å©·¡½º¸¦ ó¸®ÇÒ ¼ö ÀÖÁö¸¸ µÎ¹ø° Çü½ÄÀÌ »ç¿ëµÇ´Â °ÍÀº °áÄÚ º¼¼ö ¾øÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇϸé ÀÌ°ÍÀº query³ª listfield ¹®Àå¿¡ÀÇÇØ ¸®ÅϵǴ ½ºÅ×ÀÌÆ®¸ÕÆ® ÇÚµéÀ» ÅëÇØ ÀÌ·ç¾îÁö¶§¹®ÀÌ´Ù. È®½ÇÈ÷ »ç¿ëÇؾßÇÒ À¯ÀÏÇÑ Å©·¡½º´Â Msql2ÀÌ´Ù. ÀÌ Å©·¡½º´Â ´ÙÀ½°ú °°Àº ¼¼°¡Áö ÇüÅÂÀÇ µ¥ÀÌŸº£À̽º Á¢¼Ó ¸í·ÉÀ» Á¦°øÇÑ´Ù.
$dbh = Msql2->connect; # dB ¼¹ö¿Í À¥ ¼¹ö°¡ °°Àº È£½ºÆ®¿¡ ÀÖ´Â °æ¿ì
$dbh = Msql2->connect($host); # dB ¼¹ö¿Í À¥ ¼¹ö°¡ ´Ù¸¥ È£½ºÆ®¿¡ ÀÖ´Â °æ¿ì
$dbh = Msql2->connect($host, $database); # À§¿Í µ¿ÀÏÇϸç, Á¢¼Ó½Ã µ¥ÀÌŸ º£À̽º¸¦ ¼±ÅÃ
ÀÌ ¸í·ÉÀ» ÀÌ¿ëÇؼ »ç¿ëÀÚ´Â ¿øÇϴ ȣ½ºÆ®³ª µ¥ÀÌŸ º£À̽º¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. ù¹ø° ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇÏÁö ¾Ê°Å³ª ³Î ¹®ÀÚ¿À» ÁöÁ¤ÇÏ´Â °æ¿ì, msqlperlÀº UNIX ¼ÒÄÏ(ÀϹÝÀûÀ¸·Î /dev/msql)À» ÅëÇØ Á¢¼ÓÇϸç, TCP¸¦ ÅëÇØ Á¢¼ÓÇÏ´Â °Íº¸´Ù ¼º´É¸é¿¡¼ ÈξÀ ¿ì¼öÇÏ´Ù. µÎ¹ø° ¸Å°³º¯¼ö·Î¼ µ¥ÀÌŸº£À̽ºÀÇ À̸§À» ÁÙ ¼öÀÖÀ¸¸ç, ÀÌ ¸Å°³º¯¼ö·Î Á¢¼Ó ÈÄ Æ¯Á¤ µ¥ÀÌŸº£À̽º¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
¸®ÅÏ °ªÀº Á¢¼Ó¿¡ ¼º°øÇÑ °æ¿ì, µ¥ÀÌŸº£À̽º ÇÚµéÀ̸ç, ±×·¸Áö ¸øÇÑ °æ¿ì¿¡´Â µ¥ÀÌŸ º£À̽º ÇÚµéÀº Á¤ÀǵÇÁö ¾Ê´Â´Ù.
³ªÁß¿¡ µ¥ÀÌŸ º£À̽º¿¡ Á¢±ÙÇϱâÀ§Çؼ´Â ÀÌ µ¥ÀÌŸº£À̽º ÇÚµéÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
$dbh->selectdb($database); # dB ¼±ÅÃ. ¹Ýµå½Ã connect ¸í·ÉÀ¸·Î dB ¿£Áø¿¡ ¸ÕÀú
# Á¢¼ÓÇØ¾ß ÇÔ
¸¸¾à
connect ¸í·ÉÀ» »ç¿ëÇÒ¶§ µ¥ÀÌŸº£À̽º¸¦ ¼±ÅÃÇÏÁö¾Ê¾Ò°Å³ª ÀÌÀü¿¡
connect ¸í·ÉÀ¸·Î ¾òÀº µ¥ÀÌŸº£À̽º ÇÚµéÀ» »ç¿ëÇؼ ´Ù¸¥ µ¥ÀÌŸº£À̽º¸¦ Á¢¼ÓÇÏ·Á¸é selectdb¸¦ »ç¿ëÇÑ´Ù.
$sth = $dbh->listfields($table); # Ç¥ÀÇ ½ºÅ°¸¶¿¡´ëÇÑ ÇÚµéÀ» ¸®ÅÏ
$sth = $dbh->query($sql_statement); # ÁúÀÇ °á°ú¿¡´ëÇÑ ÇÚµéÀ» ¸®ÅÏ
ÀÌµé µÎ ¸í·ÉÀº mSQL ¼³¸í¼¿¡¼ ¼³¸íÇÏ°í ÀÖ´Â °Í°ú À¯»çÇÏ°Ô µ¿ÀÛÇÑ´Ù. À̵éÀº msql ¼¹ö°¡ »ç¿ëÀÚ¿¡°Ô Àü´ÞÇÏ´Â °ÍÀÌ ¹«¾ùÀÎÁö ¾Ë ¼öÀÖµµ·Ï ÇÏ´Â ½ºÅ×ÀÌÆ®¸ÕÆ® ÇÚµéÀ» ¸®ÅÏÇÑ´Ù. ¿À·ù°¡ ¹ß»ýÇÑ °æ¿ì, ½ºÅ×ÀÌÆ®¸ÕÆ® ÇÚµéÀº Á¤ÀǵÇÁö ¾Ê´Â´Ù. listfields¿¡ÀÇÇØ ¸®ÅÏµÈ °ªÀ¸·Î´Â Å×À̺íÀÇ Å©±â¸¦ ¾Ë¼ö´Â ¾ø´Ù. µû¶ó¼ ÀÌ ½ºÅ×ÀÌÆ®¸ÕÆ® Çڵ鿡´ëÇÑ numrow()´Â "N/A"¶ó´Â ¹®ÀÚ¿À» ¸®ÅÏÇÏ°Ô µÈ´Ù.
@arr = $dbh->listdbs(); # dBÀÇ ¸ñ·ÏÀ» ¹è¿·Î ¸®ÅÏ. ¹Ýµå½Ã connect ¸í·ÉÀ»
# ¸ÕÀú ½ÇÇàÇØ¾ß ÇÑ´Ù.
@arr = $dbh->listtables; # dB¿¡ µî·ÏµÈ Å×À̺íÀÇ ¸ñ·ÏÀ» ¸®ÅÏ.
# ¹Ýµå½Ã connect ¸í·É°ú selectdb ¸í·ÉÀ» ¸ÕÀú ¼öÇàÇØ¾ß ÇÑ´Ù.
À§ÀÇ µÎ ¸í·ÉÀº dB ¿£Áø¿¡ µî·ÏµÈ µ¥ÀÌŸº£À̽ºÀÇ ¸ñ·Ï°ú µ¥ÀÌŸº£À̽º¿¡ µî·ÏµÈ Å×À̺íÀÇ ¸ñ·ÏÀ» ¹è¿·Î ¸®ÅÏÇÑ´Ù.
@arr = $sth->fetchrow; # Å×ÀÌºí¿¡¼ ´ÙÀ½ ÇàÀÇ µ¥ÀÌŸ °ªÀ» ¹è¿·Î ¸®ÅÏ
¼¹ö·Î ºÎÅÍ ´ÙÀ½ ÇàÀÇ µ¥ÀÌŸ °ªÀÇ ¹è¿À» ¸®ÅÏÇÑ´Ù. À¯»çÇÏ°Ô
%hash = $sth->fetchhash; # Å×ÀÌºí¿¡¼ ´ÙÀ½ ÇàÀÇ µ¥ÀÌŸ °ªÀ» ¿¬°ü¹è¿·Î ¸®ÅÏ
´Â ¿¬°ü¹è¿À» ¸®ÅÏÇÑ´Ù. Çؽ¬¿¡¼ Å°´Â Å×À̺íÀÇ Çʵå¸íÀÌ°í, °ªÀº Å×ÀÌºí °ªÀÌ´Ù. ÇÑ°¡Áö µÎ°³ÀÇ µ¿ÀÏÇÑ Çʵå¸íÀ» °®´Â Å×À̺íÀÌ ÀÖ´Â °æ¿ì, µÑ Áß ÇÑ Çʵ带 »èÁ¦ÇÏÁö ¾Ê°í´Â ÀÌ ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù´Â °Í¿¡ ÁÖÀÇÇØ¾ß ÇÑ´Ù. ±×·¯ÇÑ °æ¿ì¿¡´Â fetchrow¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
$sth->dataseek($row_number); # °¡Á®¿Ã µ¥ÀÌŸÀÇ 옾¼ÂÀ» º¯°æ
½ºÅ×ÀÌÆ®¸ÕÆ® Çڵ鿡 ¿¬°üµÈ µ¥ÀÌŸÀÇ 옾¼ÂÀ» ÁöÁ¤ÇÑ´Ù. ´ÙÀ½¹ø fetchrow´Â Àû´çÇÑ Çà(ùÇàÀº 0)À» ¸®ÅÏÇÒ °ÍÀÌ´Ù.