¼ø¶È»ñÎÁ/14 ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¸½ºß¤È¤Îº¹Ê¬(No.8)


  • Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
#CONTENTS

//  Âè 14 ²ó -- ¥Ç¡¼¥¿¥Ù¡¼¥¹ÆþÌç (SQLite)

* ¥Ç¡¼¥¿¤Î¼è¤ê°·¤¤¤Ë¤Ä¤¤¤Æ [#d7836d66]

¤¢¤ëÄøÅÙÂ絬ÌϤÀ¤Ã¤¿¤êÊ£»¨¤À¤Ã¤¿¤ê¤¹¤ë¥Ç¡¼¥¿¤ò½èÍý¤¹¤ë¤³¤È¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¤è¤¯¤¢¤ë¤³¤È¤À¡¥
¤è¤¯¤¢¤ë¤³¤È¤Ç¤¢¤ë¤Î¤Ç¡¤¤³¤¦¤·¤¿¥Ç¡¼¥¿¤ò¡Ö¤É¤Î¤è¤¦¤ËÊݸ¤¹¤ë¤«¡×¡ÖÊݸ¤·¤¿¥Ç¡¼¥¿¤ò
¤É¤Î¤è¤¦¤Ë¼è¤ê½Ð¤¹¤«¡×¤È¤¤¤¦»ëÅÀ¤Ç¤­¤Á¤ó¤Èª¤¨¤Æ°ìÄê¤Îµ¬³Ê¤Ë¤Î¤Ã¤È¤Ã¤Æ¤³¤ì¤é¤ò¶¦Ä̲½¤¹¤ë¤³¤È¤Ç¡¤Åµ·¿Åª¤Êºî¶È¤Ë¤Ä¤¤¤Æ¤Ï¥×¥í¥°¥é¥Þ¤¬¤¤¤Á¤¤¤ÁºÙ¤«¤¤¤³¤È¤ò¹Í¤¨¤Ê¤¤¤ÇºÑ¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë((¤½¤â¤½¤âÏÀ¤Ç¸À¤¨¤Ð OS ¤¬Ä󶡤¹¤ëµ¡Ç½¤Ï¤¢¤ëÄøÅÙ¤³¤¦¤·¤¿¤â¤Î¤Ð¤«¤ê¤À¤¬¡¥))¡¥
¤³¤¦¤·¤¿¹Í¤¨Êý¤¬°ìÂΤηÁ¤ò¤È¤Ã¤¿¤â¤Î¤¬°Ê²¼¤Ë½Ò¤Ù¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Ê¤É¤ÈÁí¾Î¤µ¤ì¤ë¤â¤Î¡¤¤È»×¤¨¤ÐÎɤ¤¡¥

* ¥Ç¡¼¥¿¥Ù¡¼¥¹(¥½¥Õ¥È¥¦¥§¥¢)¤È¤Ï [#daed841d]

Â绨ÇĤ˸À¤¨¤Ð¡¤¼ý½¸¤µ¤ì¤¿¥Ç¡¼¥¿¤Î½¸¹çÂΤ½¤Î¤â¤Î¤ò»Ø¤¹.
¤Þ¤¿¤Ï¡¤¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤³¤È¡¤¤Þ¤¿¡¤°ìÄê¤Î¥ë¡¼¥ë¤Ë¤½¤Ã¤ÆÃßÀѤ·¤¿¥Ç¡¼¥¿¤ÎÃ椫¤éɬÍפʥǡ¼¥¿¤òÃê½Ð¤¹¤ë¤³¤È¡¤Åù¤Î¥Ç¡¼¥¿¼ý½¸¤«¤ÄÃê½Ð¤Îµ¡Ç½¤ò»ý¤Ã¤¿¥×¥í¥°¥é¥à¤ä¥é¥¤¥Ö¥é¥ê¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¡¤¥Ç¡¼¥¿¥Ù¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ê¤É¤È¸Æ¤Ó¡¤¤½¤Îά¾Î¤È¤·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¸Æ¤Ö¡¥

¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Î¶¯¤ß¤Ï¤Þ¤º¤Ï¤½¤ÎÈÆÍÑÀ­¡¤¤Ä¤Þ¤ê¡¤Áàºî¤Ê¤É¤¬¶¦Ä̤Ǥ¢¤ë¤³¤È¤Ë¤¢¤ë¡¥
¤Þ¤¿¡¤¥Ç¡¼¥¿¤ò¼è¤ê°·¤¦¤³¤È¤ËÆò½¤·¤Æ¤¤¤ë¤³¤È¤Ë¤è¤ê¡¤Áàºî¤Ë¤è¤ë¥Ç¡¼¥¿Ç˲õ¤ä¥Ç¡¼¥¿Â»¼º¤ËÈ÷¤¨¤¿µ¡¹½¤ò¤â¤¿¤»¤Æ¤¤¤¿¤ê¡¤¥á¥â¥ê¤ä¥¹¥È¥ì¡¼¥¸¤ÎÍøÍѸúΨ¤¬¹â¤¯¤Ê¤Ã¤Æ¤¤¤¿¤ê¡¤¸¡º÷¤Ê¤É¤ÎÁàºî¤¬¹â®¤Ç¤¢¤Ã¤¿¤ê¤È¡¤¤½¤Î¹âµ¡Ç½À­¤âÍøÅÀ¤Ç¤¢¤ë¡¥

¤¿¤À¡¤¤³¤¦¤·¤¿¹âµ¡Ç½À­¤Ï¥½¥Õ¥È¥¦¥§¥¢¤ÎÈîÂç²½¡¤ÈÑ»¨¤µ¤È¶¯¤¤Áê´Ø¤¬¤¢¤ê¡¤¥é¥¤¥È¥æ¡¼¥¶¡¼¤«¤é¤ß¤ë¤È¤«¤¨¤Ã¤Æ»È¤¤¤Ë¤¯¤¤¡¤¤ï¤«¤ê¤Ë¤¯¤¤¤È¤¤¤¦·çÅÀ¤Ë¤â·Ò¤¬¤ë¡¥

&br;&br;
&ref(/materials/warning.png); 
¤è¤Ã¤Æ¡¤¡Ö¤½¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Î¤ß¡×Æò½¤·¤¿¸­¤¤¥×¥í¥°¥é¥à¤ÎÊý¤¬
ÈÆÍѥǡ¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤è¤ê¤âÍ¥½¨¤Ç¤¢¤ë¤³¤È¤Ï½¼Ê¬¤Ë¤¢¤ê¤¦¤ë¡¥
ÂоݤȤ¹¤ë¥Ç¡¼¥¿¤Î¼è°·¤Ë¤½¤â¤½¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤ò»È¤¦¤Ù¤­¤«¤É¤¦¤«¡¤
¤Þ¤º¤ÏºÇ½é¤Ë¸¡Æ¤¤·¤¿¤Û¤¦¤¬¤¤¤¤¤À¤í¤¦¡¥

** ¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Î¼ïÎà [#o8fae358]

Èó¾ï¤ËÂ绨ÇĤËʬ¤±¤ë¤Î¤Ê¤é¤Ð¡¤´Ê°×¤Ê¤â¤Î¤«¤éÈó¾ï¤ËÂ絬ÌϤʤâ¤Î¤Þ¤Ç°Ê²¼¤Î¤è¤¦¤Ê3¤Ä¤ËʬÎà¤Ç¤­¤ë¤À¤í¤¦¡¥

- ɽ·×»»¥½¥Õ¥È¡¤Ã±¤Ê¤ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë+Unix¥³¥Þ¥ó¥É·² Åù¡¹: Èó¾ï¤Ë¹­µÁ¤Ëª¤¨¤ë¤Ê¤é¤Ð¤³¤ì¤é¤Ï¤â¤Ã¤È¤â´Ê°×¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤È¤¤¤¨¤ë¤À¤í¤¦¡¥
- RDBMS(¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à): ¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Î¼çή¤È¸À¤¨¤½¤¦¤Ê¤Î¤¬¤³¤ì¤Ç¤¢¤ë¡¥¥Ç¡¼¥¿¤ÎÁàºî¤Ë¤Ï¼ç¤Ë SQL ¤È¤¤¤¦¸À¸ì¤¬»È¤ï¤ì¤ë¡¥
¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤Æ¤Ï´Ê°×¤Ê¤â¤Î¤Ï¥é¥¤¥Ö¥é¥ê¡¤¥³¥Þ¥ó¥É¤È¤·¤Æ¼ÂÁõ¤µ¤ì¡¤ËܳÊŪ¤Ê¤â¤Î¤Ï¥µ¡¼¥Ð¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤ë¡¥
- ¹½Â¤·¿¥¹¥È¥ì¡¼¥¸(NoSQL): ĶÂ絬ÌϤʥǡ¼¥¿¤ä¡¤¥ê¥¢¥ë¥¿¥¤¥àÀ­¤ò½ÅÍ׻뤹¤ë¤è¤¦¤Ê¡¤
RDB(¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹)¤Ç¤Ï°·¤¤¤Ë¤¯¤¤¥Ç¡¼¥¿¤ò¼è¤ê°·¤¦¡¥
Áàºî¤¬ SQL ¤Ç¤Þ¤«¤Ê¤¨¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤â¤¢¤ë¤Î¤Ç¡¤NoSQL (Not Only SQL) ¤È¤â¸Æ¤Ð¤ì¤ë¡¥

** ¥Ç¡¼¥¿¤Îµ¬ÌϤȥǡ¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Î´Ø·¸ [#rf02e086]

*** ¥Ç¡¼¥¿¤¬Ã±½ã¡¤¤â¤·¤¯¤Ïµ¬ÌϤ¬¾®¤µ¤¤¾ì¹ç [#ga67fc80]

Á´¥Ç¡¼¥¿¤¬¥³¥ó¥½¡¼¥ë²èÌÌ 1Ëç¤ËÆþ¤ê¤­¤ë¥±¡¼¥¹¤Ê¤É¡¤¥Ç¡¼¥¿µ¬ÌϤ¬¾®¤µ¤¤¾ì¹ç¤Ï¡¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤òƳÆþ¤¹¤ë¼ê´Ö¤ä¥Ç¡¼¥¿¤ò½èÍý¤¹¤ë¥½¥Õ¥ÈËÜÂΤȥǡ¼¥¿¤Î´Ö¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤¬¶´¤Þ¤ëʬ¤À¤±¡¤¤«¤¨¤Ã¤Æ¥³¥¹¥È¹â¤Ë¤Ê¤ê¤«¤Í¤Ê¤¤¡¥
¤½¤¦¤·¤¿¾ì¹ç¤Ï̵Íý¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤òƳÆþ¤·¤Ê¤¯¤Æ¤âÎɤ¤¤À¤í¤¦((ƳÆþ¤·¤Æ¤â¤â¤Á¤í¤óÌäÂê¤Ï¤Ê¤¤¤±¤ì¤É¤â))¡¥
¤³¤¦¤·¤¿¾ì¹ç¤Ïñ¤Ê¤ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¥Ç¡¼¥¿¤òǼ¤á¤Æ¤ª¤¯¤È¤«¡¤¤¤¤ï¤æ¤ëɽ·×»»¥½¥Õ¥È¥¦¥§¥¢¤Ê¤É¤òÍøÍѤ·¤¿Êý¤¬ÌµÍý¤¬¤Ê¤µ¤½¤¦¤À¡¥

¤Þ¤¿¡¤Î㤨¤Ðñ½ã¤Ê´Ñ¬¥Ç¡¼¥¿¤¬¿ô»ú¤Çʤó¤Ç¤¤¤ë¤À¤±¡¤¤È¤¤¤¦¤è¤¦¤Ë¥Ç¡¼¥¿¤¬Ã±½ã¤Ê¾ì¹ç¤Ï¤½¤ì¤ËÆò½¤·¤¿½èÍý·Ï¤òÍÑ°Õ¤·¤¿¤Û¤¦¤¬¸«Ä̤·¤â¤è¤¯¡¤½èÍý®Å٤䵭²±ÍÆÎ̤ΰµ½ÌÀ­¤Ê¤É¤ÎÌ̤Ç¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ë¤À¤í¤¦¡¥
¿ôÃͲòÀÏ¡¤¿ôÃÍ·×»»¤Ê¤É¤Î¾ì¹ç¤Ï¤³¤¦¤·¤¿¥±¡¼¥¹¤¬Â¿¤½¤¦¤À¡¥

*** ¥Ç¡¼¥¿¤¬¤¢¤ëÄøÅÙÊ£»¨¡¤¤â¤·¤¯¤Ïµ¬ÌϤ¬¾¯¤·Â礭¤¤¾ì¹ç [#ic9b9f5d]

¸½¼ÂŪ¤ÊÁÛÄê¤È¤·¤Æ¤Ï½»½êÏ¿¤ä¥½¥Õ¥È¥¦¥§¥¢¤ÎÍÍ¡¹¤ÊÀßÄêÊݸ¤Ê¤É¤¬¤³¤Î¤¢¤¿¤ê¤À¤í¤¦¡¥
¤³¤ì¤°¤é¤¤¤Îµ¬ÌϤ«¤é¡¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÍøÍѤò¸¡Æ¤¤¹¤ë²ÁÃͤ¬¤Ç¤Æ¤¯¤ë¡¥

¤¿¤À¤·¡¤Ê£»¨¤µ¤äµ¬ÌϤ¬¤½¤ì¤Û¤É¤Ç¤â¤Ê¤¤¤³¤ÎÃʳ¬¤Ç¤Ï¡¤
- SQLite ¤Ê¤É¤Î¡¤RDBMS ¤Î¤Ê¤«¤Ç¤â¥µ¡¼¥Ð¥·¥¹¥Æ¥à¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ê·ÚÎ̥ǡ¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¡¥
- ñ¤Ê¤ëÀ°Íý¤·¤¿¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë + ¾®¤µ¤Ê¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ÎÁȤ߹ç¤ï¤»
~
¤°¤é¤¤¤¬(¿ÍŪÅêÆþ¥³¥¹¥È¤ÎÌ̤«¤é¤â)ŬÀڤȹͤ¨¤é¤ì¤ë¡¥


*** ¥Ç¡¼¥¿¤¬Ê£»¨¡¤¤â¤·¤¯¤ÏÂ絬ÌϤʾì¹ç [#k52591a1]

¤â¤¦¾¯¤·¥Ç¡¼¥¿¤¬Ê£»¨¡¤¤â¤·¤¯¤ÏÂ絬ÌϤʥ±¡¼¥¹¤Ï¤³¤Á¤é¤Ë¤Ê¤ë¡¥
¶ñÂÎŪ¤Ë¤Ï¡¤²ñ¼Ò¤Î³Æ¼ï¶È̳Íѥǡ¼¥¿¤ä¥ª¥ó¥é¥¤¥ó¥·¥ç¥Ã¥Ô¥ó¥°¥µ¥¤¥È¤Î¥Ç¡¼¥¿½èÍý¤Ê¤É
¤¬ÁÛÄêÂоݤÀ¤í¤¦¤«¡¥
¤³¤¦¤·¤¿µ¬ÌϤǤϼç¤Ë RDBMS ¤¬»È¤ï¤ì¤Æ¤¤¤ë¡¥
¤¿¤À¤·¡¤¶áǯ¤Ç¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤ÎÀ­Ç½¸þ¾å¤Ë¤è¤ê¡¤Ã±¤Ê¤ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë+¥·¥§¥ë¥¹¥¯¥ê¥×¥È ¤Ç¤³¤¦¤·¤¿ÍÑÅӤ⽼ʬ¤Þ¤«¤Ê¤¨¤ë¤È¤¹¤ëÆ°¤­¤â¤¢¤ë¡¥

*** ¥Ç¡¼¥¿¤¬Ä¶Ê£»¨¡¤¤â¤·¤¯¤ÏĶÂ絬ÌϤʾì¹ç [#e70cdd8e]

¥Ç¡¼¥¿¤¬Èó¾ï¤ËÊ£»¨¤À¤Ã¤¿¤ê¤½¤Î¹½Â¤¤¬²òÀÏÁ°¤ÏÉÔÌÀ¤À¤Ã¤¿¤ê¡¤¤â¤·¤¯¤Ïµ¬ÌϤ¬
¥µ¡¼¥Ð 1Âæ¤Ë¼ý¤Þ¤é¤Ê¤¤¤°¤é¤¤Â絬ÌϤÀ¤Ã¤¿¤ê¤¹¤ë¾ì¹ç¡¤RDB ¤ÏÉÔ¸þ¤­¤Ç¤¢¤ë¡¥
¤³¤¦¤·¤¿¾ì¹ç¤Ï¹½Â¤·¿¥¹¥È¥ì¡¼¥¸(NoSQL)¥µ¡¼¥Ð¤¬»È¤ï¤ì¤ë¡¥

* SQLite [#oca092d3]

Ëܼø¶È¤ÇÍѤ¤¤ë SQLite ¤È¤Ï¡¤RDBMS ¤Î¤Ê¤«¤Ç¤âºÇ¤â·ÚÎ̤ǹ­¤¯»È¤ï¤ì¤Æ¤¤¤ë((ͭ̾¤É¤³¤í¤À¤È¡¤firefox ¤ä android ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¡¥))¥½¥Õ¥È¥¦¥§¥¢¤Ç(À¤³¦¤Ç°ìÈÖ¹­¤¯»È¤ï¤ì¤Æ¤¤¤ë SQL ¥¨¥ó¥¸¥ó¤À¤È¼çÄ¥¤·¤Æ¤¤¤ë)¡¤³Æ¼ï¸À¸ìÍѥ饤¥Ö¥é¥ê¤ä¥³¥Þ¥ó¥É¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤ë¡¥
¥µ¡¼¥Ð¤Ç¤Ï¤Ê¤¤¤¿¤áÊ£»¨¤Ê¥¤¥ó¥¹¥È¡¼¥ëºî¶È¤¬ÉÔÍפǡ¤¤¹¤°»È¤¨¤ë¤È¤¤¤¦ÍøÅÀ¤¬¤¢¤ë¡¥
¤Þ¤¿¡¤¥Ç¡¼¥¿¥Ù¡¼¥¹°ì¤Ä¤Ë¤Ä¤­¥Õ¥¡¥¤¥ë¤ò°ì¤Äºî¤ëÊý¼°¤Î¤¿¤á¡¤¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ê¤É¤¬¼è¤ê°×¤¤¤Î¤âÊØÍø¤ÊÅÀ¤Ç¤¢¤ë¡¥

¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÁàºî¤Ï SQL ¤Ç¹Ô¤¦¤¿¤á¡¤Â¾¤Î RDBMS ¤È¤¢¤Þ¤êÊѤï¤é¤Ê¤¤Áàºî¤¬¹Ô¤¨¤ë¡¥
¤¿¤À¤·¡¤¥Ç¡¼¥¿¤Î¡Ö·¿¡×ÀßÄê¤òÍ׵ᤷ¤Ê¤¤¤È¤¤¤¦Í»Ä̤µ¤ò»ý¤Ä¤Î¤Ç¡¤´Êñ¤Ë»È¤¨¤ë¡¥

¼ç¤Ë»È¤ï¤ì¤ë¥Ð¡¼¥¸¥ç¥ó¤Ï 2·ÏÅý¤È 3·ÏÅý¤Ç¤¢¤ë¤¬¡¤¤³¤³¤Ç¤Ï 3·ÏÅý(ver.3)¤òÍѤ¤¤ë¡¥

ºåÂç¤Î¶µ°é·×»»µ¡¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢cygwin, linux(vmware) ¤ÎξÊý¤Ë sqlite3 ¥³¥Þ¥ó¥É¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¤¤¤Ä¤Ç¤â sqlite3 ¤ò»È¤¦¤³¤È¤¬½ÐÍè¤ë¡¥

** »ñÎÁ [#sad25d1b]

- [[&ref(/materials/JNorth_arrow-right-sm.png); SQLite:http://www.sqlite.org/]]:&br;
SQLite ¤ÎËÜ²È web ¤Ç¤¢¤ë¡¥
SQLite ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤¬¡¤cygwin ¤ä Linux ¤Ç¤Ï¥·¥¹¥Æ¥à¤¬¤â¤Ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Û¤¦¤¬¤¤¤¤¤À¤í¤¦¡¥
&br;&br;
- SQLite ÆþÌç Âè2ÈÇ: Ãø À¾Âô ľÌÚ, æƱ˼Ò(2009).&br;
¾å¤ÎËÜ²È web ¤Ç¤â¾Ò²ð¤µ¤ì¤Æ¤¤¤ë½ñÀҤǤ¢¤ë¡¥ÂêÌܤÎÄ̤ꡤÆþÌç¤Ë¤Ï¤Þ¤µ¤Ë¤Ô¤Ã¤¿¤ê¤ÎËܤȻפï¤ì¤ë¡¥
¤¿¤À¤·¡¤ÆþÌç¼Ô¤Ë¤ÏÆñ²ò¤«¤È»×¤ï¤ì¤ëÆâÍƤϺܤäƤ¤¤Ê¤¤(¤È¤¯¤Ë¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¤Î°·¤¤Êý¤Ë¤Ä¤¤¤Æ)¤Î¤Ç¡¤Ãæµé¼Ô°Ê¾å¤Ï¾¤Î½ñÀҤʤɤâ»ñÎÁ¤È¤·¤ÆÍÑ°Õ¤·¤Æ¤ª¤¯¤ÈÎɤ¤¤À¤í¤¦¡¥
&br;&br;
- ¡ÉSQLite ÆþÌç¡É ¤È¤¤¤¦¥­¡¼¥ï¡¼¥É¤Ç¸¡º÷¤·¤Æ½Ð¤Æ¤¯¤ë¤è¤¦¤Ê web.&br;
ÃúÇ«¤Ë½ñ¤«¤ì¤¿Ê¬¤«¤ê¤ä¤¹¤¤¤â¤Î¤â¤¢¤ê¡¤ÂçÊѰ٤ˤʤë¤Î¤Ç¸«¤Æ¤ª¤¯¤ÈÎɤ¤¤À¤í¤¦¡¥

** SQLite ¤ÎÁàºî [#q8013323]

&ref(./how-to-treat-db-via-sqlite.png,,50%);&br;
CENTER:SQLite ¤Ï¥é¥¤¥Ö¥é¥ê¡¢¤â¤·¤¯¤Ï¥³¥Þ¥ó¥É¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁàºî¤¹¤ë. ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÁàºî¤ò°ì³ç´ÉÍý¤¹¤ë¥µ¡¼¥Ð¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡¥

&br;&br;
¾¤ÎÃø̾¤Ê RDBMS ¤Ï¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤Æ¤Ï¥µ¡¼¥Ð·Á¼°¤ò¤È¤ë¤³¤È¤¬Â¿¤¤.
¤³¤ì¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯±Û¤·¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°·¤¦¤¿¤á¤Ë¤Ï¤³¤ÎÊý¤¬¹¥ÅÔ¹ç¤À¤«¤é¤Ç¡¢
¤¢¤ëÄøÅÙÂ礭¤Êµ¬ÌϤΥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤Ï(ÍøÍѼԤ¬Ê£¿ô¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ê)ɬÍפʷÁ¼°¤È¤¤¤¨¤ë¡£
¤·¤«¤·¡¢¥µ¡¼¥Ð¤ò¥¤¥ó¥¹¥È¡¼¥ë¡¢²ÔƯ¤µ¤»¤ë¤¿¤á¤Ë¤Ï¥·¥¹¥Æ¥à¤Î´ÉÍý¼Ô¸¢¸Â¤¬É¬ÍפÀ¤Ã¤¿¤ê¡¢Æüì¤Ê¥¢¥«¥¦¥ó¥È¤òÍÑ°Õ¤·¤¿¤ê¤»¤Í¤Ð¤Ê¤é¤º¡¢ÍøÍѤ¹¤ë¤¿¤á¤ÎÏ«ÎϤϾ®¤µ¤¯¤Ê¤¤.
¤³¤ì¤ËÂФ·¡¢SQLite ¤Ï¥µ¡¼¥Ð·Á¼°¤Ç¤Ï¤Ê¤¯¡¢Ã±¤Ê¤ë¥³¥Þ¥ó¥É¡¢¤â¤·¤¯¤Ï¥é¥¤¥Ö¥é¥ê¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁàºî¤¹¤ë¤È¤¤¤¦Ã±½ã¤Ê»ÅÁȤߤǤ¢¤ë.

Ëܼø¶È¤Ç¤Ï¡¢¤â¤Ã¤È¤â´Êñ¤Ê¥³¥Þ¥ó¥É¤«¤é¤ÎÁàºî¤ò»ý¤Ã¤Æ³Ø¤Ö¤â¤Î¤È¤¹¤ë.

** SQLite ¤ÇÍѤ¤¤ë¸À¸ì [#n417d1a5]

&ref(./SQLite-commands.png,,70%);&br;
CENTER:SQLite ¤ÇÍѤ¤¤ë¸À¸ì¤Ë¤ÏÆó¼ïÎढ¤ë

&br;&br;
SQLite ¤ò»È¤Ã¤Æ¤ÎÁàºî¤Ë¤Ï¡¢°Ê²¼¤ÎÆó¼ïÎब¤¢¤ê¡¢¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ°Û¤Ê¤ë¸À¸ì(¥³¥Þ¥ó¥É)¤òÍѤ¤¤ë¡¥
&br;&br;
- SQLite ¤½¤Î¤â¤Î¤ÎÁàºî: ³Æ¼ïÀßÄê¤ÎÊѹ¹¡¢É½¼¨¤Ê¤É¡¥
''SQLite ¥³¥Þ¥ó¥É'' ¤È¸Æ¤Ð¤ì¤ë¥³¥Þ¥ó¥É¤òÍѤ¤¤ë¡¥
SQLite ¥³¥Þ¥ó¥É¤Ï .(¥Ô¥ê¥ª¥É)¤Ç»Ï¤Þ¤ëñ¸ì¤Ç¤¢¤ë¤³¤È¤¬ÆÃħ¤Ç¤¢¤ë¡¥
&br;&br;
- ¥Ç¡¼¥¿¥Ù¡¼¥¹½èÍý: ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÁàºî¡¥¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¡¢¥Ç¡¼¥¿¤ÎÅÐÏ¿¡¢¥Ç¡¼¥¿¤ÎÃê½Ð¤Ê¤É¡¢ËÜÍè¤Î¤ä¤ê¤¿¤¤¤³¤È¡¥
¤³¤ì¤Ë¤Ï ''SQL ¥³¥Þ¥ó¥É'' ¤òÍѤ¤¤ë¡¥
SQL ¥³¥Þ¥ó¥É¤Ï¤¢¤ë¤Æ¤¤¤Éµ¬³Ê²½¤µ¤ì¤Æ¤ª¤ê((Àµ³Î¤Ë¤Ï¡¢¤¿¤Ó¤¿¤Óµ¬³Ê²½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢³Æ¼ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¡ÖÊý¸À¡×¤¬¤Þ¤À¤¤¤í¤¤¤í¤¢¤ë¤È¤¤¤¦¾õÂÖ¡¥))¡¢É¸½àŪ¤Êµ¡Ç½¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍͤ˰·¤¨¤ë¡¥

* SQLite ¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¤Î¼è°·¤¤ [#f78ae92f]

&ref(./database-table-data-diagram.png,,70%);&br;
CENTER:SQLite ¤Ç¤Î¥Ç¡¼¥¿¤Î¼è°·¤¤. 1¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë¡¢É½(¥Æ¡¼¥Ö¥ë=¥Ç¡¼¥¿¤Î¥ê¥¹¥È)¤¬´ö¤Ä¤«´Þ¤Þ¤ì¤ë¡¥

&br;&br;
Ä̾ï¤Ï¡¢RDBMS ¤Ç¤Ï°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë¡¤¥Æ¡¼¥Ö¥ë(ɽ)¤òÊ£¿ôºî¤ê¡¤
¤½¤Î¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Ë°ì¹Ô¤º¤Ä·è¤Þ¤Ã¤¿·Á¼°¤Ç¥Ç¡¼¥¿¤òÆþ¤ì¤ë(¤µ¤é¤Ë¡¢¤³¤¦¤·¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊ£¿ôºî¤ë)¡¥

¥Æ¡¼¥Ö¥ë¤ÏÃíÌܤ¹¤ë¥Ç¡¼¥¿¤ÎʬÎऴ¤È(Î㤨¤Ð¸ÜµÒ¥ê¥¹¥È¤òʤ٤ƺî¤ë¸ÜµÒ¥Æ¡¼¥Ö¥ë¡¤¾¦Éʥꥹ¥È¤òʤ٤뾦Éʥơ¼¥Ö¥ë¡¤¤½¤·¤Æ郎²¿¤òÇã¤Ã¤¿¤«¤È¤¤¤¦¹ØÇã¥ê¥¹¥È¤òʤ٤¿¹ØÇã¥Æ¡¼¥Ö¥ë¤Ê¤É)¤Ëºî¤ë¤³¤È¤¬ÁÛÄꤵ¤ì¤Æ¤ª¤ê¡¤¤½¤ì¤é¤ò´Ø·¸ÉÕ¤±¤ë((Ê̤Υǡ¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤È´Ø·¸¤Å¤±¤ë¤³¤È¤â½ÐÍè¤ë))¤³¤È¤ÇÁ´ÂΤξðÊ󤬤ޤȤޤ뤳¤È¤Ë¤Ê¤ë¡¥
¤³¤Î¤è¤¦¤Ë¡¤¥ê¥¹¥È¥¢¥Ã¥×¤Ç¤­¤ë¾ðÊó¤ò¥Æ¡¼¥Ö¥ë¤È¤·¤Æʤ١¤¤½¤ì¤é¤Î´Ø·¸¤ò¤Þ¤¿¥Æ¡¼¥Ö¥ë¤Ë¤¹¤ë¡¤¤È¤¤¤¦¤è¤¦¤Ë¡Î´Ø·¸À­¡Ï¤ÇÁ´ÂΤξðÊó¤òɽ¤¹¤Î¤¬Â绨ÇĤ˸À¤¨¤Ð¥ê¥ì¡¼¥·¥ç¥Ê¥ëDB ¤Ç¤¢¤ë¡¥

¤Ê¤ª¡¢SQLite ¤Ç¤Ï°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°ì¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÆþ¤ì¤ë¤Î¤Çʬ¤«¤ê°×¤¤¤·¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤â¼è¤ê¤ä¤¹¤¤¡¥

&br;&br;
* ¼Â½¬¤òÄ̤¸¤Æ³Ø¤Ö [#z1c1380f]
¤³¤Î¼ø¶È¤Ç¤Ï¡¢Çä¾å¤ò´ÉÍý¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁÛÄꤷ¤Æ¤ß¤ë¡¥
¶ñÂÎŪ¤Ë¤Ï¡¢°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë ¾¦ÉʾðÊó¤Î¥Æ¡¼¥Ö¥ë¡¢¸ÜµÒ¾ðÊó¤Î¥Æ¡¼¥Ö¥ë¡¢Çä¾åµ­Ï¿¤Î¥Æ¡¼¥Ö¥ë¤òºî¤Ã¤Æ¤ß¤ë¡¥
¤½¤Î¤Ä¤â¤ê¤Ç°Ê²¼¤òÆɤ߿ʤá¤Æ¤ß¤è¤¦¡¥

&br;&br;

* SQLite3 ¤Îµ¯Æ°¡¢½ªÎ» [#z1c1380f]

** ¥³¥Þ¥ó¥É¤«¤é SQLite ¤òµ¯Æ°¤¹¤ë = ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÀܳ or ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ® [#yb4ec40d]

SQLite ¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ú¿ô¤Ëʸ»úÎó¤òÍ¿¤¨¤ë¤È¤½¤Î̾Á°¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹(¥Õ¥¡¥¤¥ë)¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë¡£
¤â¤·¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤Ê¤±¤ì¤Ð¿·µ¬¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ºî¤é¤ì¤ë¡£
¤¿¤È¤¨¤Ð ''db1'' ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºî¤ë¤È¤¹¤ë¤È¡¢
> ''sqlite3 db1''
> ''sqlite3␣db1''
<
¤ÈÆþÎϤ¹¤ì¤Ð¤è¤¤.
sqlite (ver.3) ¤¬µ¯Æ°¤·¤Æ¥³¥Þ¥ó¥É¼õÉե⡼¥É¤Ë¤Ê¤ë(¥×¥í¥ó¥×¥È¤¬ÊѤï¤ë¤Î¤Çµ¤¤Å¤¯¤À¤í¤¦). 
sqlite (ver.3) ¤¬µ¯Æ°¤·¤Æ¥³¥Þ¥ó¥É¼õÉե⡼¥É¤Ë¤Ê¤ë(¥×¥í¥ó¥×¥È¤¬ sqlite> ¤ËÊѤï¤ë¤Î¤Çµ¤¤Å¤¯¤À¤í¤¦). 

&ref(/materials/notes.png); (¼Â½¬) ¾å¤Î¤è¤¦¤Ë¤·¤Æ SQLite ¤òµ¯Æ°¤·¤è¤¦¡¥
µ¯Æ°¤·¤¿¤é¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¡¢¼¡¤Î¼Â½¬¤Þ¤ÇÀè¤ØÆɤ߿ʤá¤è¤¦¡¥

** SQLite ¤Î½ªÎ» [#w1241a34]

µ¯Æ°¤·¤¿¡¡SQLite ¤ò½ªÎ»¤¹¤ë¤Ë¤Ï¡¢
> ''.exit''
<
¤â¤·¤¯¤Ï
> ''.quit''
<
¤Ç¤è¤¤¡£
¤½¤ì¤¾¤ì°ìʸ»úÌܤ¬¥Ô¥ê¥ª¥É¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤è¤¦¡£

&br;&br;
* SQLite3 ¤ÎÀßÄê [#i03fe0dc]

SQLite ¤òµ¯Æ°¤·¤Æ¤«¤é¡¢¤Þ¤º¤Ï
> ''.show''
<
¤È¤·¤Æ¤ß¤è¤¦¡¥
¸½ºß¤ÎÀßÄê¾õ¶·¤¬°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë(¤â¤Á¤í¤ó¡¢ÆâÍƤÏÀßÄê¤Ë¤è¤ê°Û¤Ê¤ë)¡¥

       echo: off
        eqp: off
    explain: off
    headers: off
       mode: list
  nullvalue: ""
     output: stdout
  separator: "|"
      stats: off
      width:

¸«¤Æ¿ä¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢¤¤¤í¤¤¤íÀßÄê¤Ï¤¢¤ë¤¬¡¢¤Þ¤º¤Ï°Ê²¼¤ÎÀßÄê¤À¤±¤Ç¤â¤·¤Æ¤ª¤¯¤È²¿¤«¤È¤ï¤«¤ê°×¤¯¤Ê¤ë¤Î¤Ç, ¼ê¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¤­¤Ï¤³¤¦¤·¤Æ¤ª¤³¤¦¡¥
> ''.explain&#9251;on''
<
¤³¤ì¤Ï¡¢²èÌ̽ÐÎϤò¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ëÀßÄê¤Ç¤¢¤ê¡¢ÂÐÏÃŪ¤ËÁàºî¤·¤Æ¤¤¤ë¤È¤­¤Ï¤Ê¤Ë¤«¤È½õ¤«¤ë¤À¤í¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ''.show'' ¥³¥Þ¥ó¥É¤ò»î¤·¤Ë¼Â¹Ô¤·¤¿¤Î¤Á¡¢''.explain&#9251;on'' ÀßÄê¤ò¤·¤Æ¤ª¤³¤¦¡¥

&br;&br;
* SQLite3 ¤Ç¤Î¥Æ¡¼¥Ö¥ë¡ÖñÆÈ¡×Áàºî [#z20c4d9b]

** ¥Æ¡¼¥Ö¥ë¤òºî¤ë [#p0947f21]

¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¿È¤ÎËܼÁ¤Ï¥Ç¡¼¥¿¤òÎóµó¤·¤¿²ô¤Ç¤¢¤ë¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¡£
¤¿¤À¤·¡¢°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤ÎÃæ¤ËÎóµó¤µ¤ì¤ë¥Ç¡¼¥¿¤Ï¤¹¤Ù¤ÆƱ¤¸¹½Â¤¤ò¤·¤Æ¤¤¤ë¤â¤Î¤È¤¹¤ëɬÍפ¬¤¢¤ë¡£
¤½¤Î¹½Â¤¤Ï¡¢¥Æ¡¼¥Ö¥ëºîÀ®»þ¤ËÄêµÁ¤·¤Æ¤ä¤ëɬÍפ¬¤¢¤ë¡£

SQLite ¤Ç¤Î¥Æ¡¼¥Ö¥ë¤ÎºîÀ®»þ¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¤ÎÄêµÁ¤Ï´Êñ¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ê½ñ¤­Êý¤ò¤¹¤ì¤Ð¤è¤¤¡£
> CREATE TABLE ¥Æ¡¼¥Ö¥ë̾ (ÊÑ¿ô̾1 ¥Ç¡¼¥¿¤Î·¿, ÊÑ¿ô̾2 ¥Ç¡¼¥¿¤Î·¿, ÊÑ¿ô̾3 ¥Ç¡¼¥¿¤Î·¿, ...);
SQLite ¤Ç¤Î¥Æ¡¼¥Ö¥ë¤ÎºîÀ®»þ¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¤ÎÄêµÁ¤Ï´Êñ¤À¡¥
¤·¤«¤â¥Ç¡¼¥¿¤Î·¿¤ÎÄêµÁ¤ò¾Êά¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤Î¤Ç¡¢¼ÂÍÑŪ¤Ê¤ä¤êÊý¤È¤·¤Æ¤Ï(´·¤ì¤Æ¤¤¤Ê¤¤¤¦¤Á¤Ï)¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤ÈÎɤ¤¤À¤í¤¦¡¥
> ''CREATE&#9251;TABLE&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;(id&#9251;INTEGER&#9251;PRIMARY&#9251;KEY&#9251;AUTOINCREMENT, ÊÑ¿ô̾2, ÊÑ¿ô̾3, ...);''
<

&br; 
&ref(/materials/warning.png); SQLite3 ¤Ï ; (¥»¥ß¥³¥í¥ó)¤òÆþÎϤ¹¤ë¤Þ¤Ç¤ÏÌ¿Îá¤Î²ò¼á¤òÂԤĤΤǡ¢Ä¹¤¤¥³¥Þ¥ó¥É¤ò
Á´Éô 1 ¹Ô¤ÇÆþÎϤ¹¤ëɬÍפϤʤ¤¡¥¿Í´Ö¤Ë¤È¤Ã¤Æʬ¤«¤ê°×¤¤¤È¤³¤í¤Ç²þ¹Ô¤·¤ÆÆþÎϤò³¤±¤ë¤Î¤ÏÎɤ¤¼ê¤Ç¤¢¤ë¡¥

&br; 
&ref(/materials/warning.png); ´·½¬¤È¤·¤Æ SQL Ì¿Îá¤ÏÂçʸ»ú¤Çɽµ­¤µ¤ì¤ë¤¬¡¢SQLite3 ¤Ï¾®Ê¸»ú¤Ç¤âÌäÂê¤Ê¤¯¼õ¤±ÉÕ¤±¤ë¡¥
ÂÐÏÃŪ¤ËÆþÎϤ¹¤ë¤È¤­¤ÏÌÌÅݤÀ¤í¤¦¤«¤é¡¢µ¤¤Ë¤»¤º¤Ë¾®Ê¸»ú¤Î¤Þ¤Þ¤ÇÆþÎϤ·¤Æ¤·¤Þ¤¦¤Î¤¬´Êñ¤À¤í¤¦¡¥

&br; 
&ref(/materials/warning.png); ¤³¤³¤Ç¤Ï ÊÑ¿ô̾1 ¤ò id ¤È·è¤á¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤¬¡¢¼Â¤Ï¼«Í³¤Ë·è¤á¤ÆÎɤ¤¡¥
¤¿¤À¤·¡¢´·¤ì¤Æ¤¤¤Ê¤¤¤¦¤Á¤Ï¤³¤¦¤·¤Æ¤ª¤¯¤È¤Ê¤Ë¤«¤È¸å¤Ç½õ¤«¤ë¤À¤í¤¦¡¥

¤Þ¤º¤Ï¥Æ¡¼¥Ö¥ë¤ò°ì¤Äºî¤Ã¤Æ¤ß¤è¤¦¡£
&br; 
&ref(/materials/warning.png); id ¤Î¸å¤Î ''INTEGER PRIMARY KEY AUTOINCREMENT'' ¤Î°ÕÌ£¤Ï¡¢
id ¤È¤¤¤¦ÊÑ¿ô¤ò¡ÖÀ°¿ô¡×¤Ç¡Ö¤³¤ì¤ò¼ç¥­¡¼¤È¤·¤Æ¡×¡Ö¥Ç¡¼¥¿ºï½ü¸å¤ÎºÆÍøÍѤʤ·¡×¤Ë¤¹¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¡¥
¼ç¥­¡¼¤È¤¤¤¦¤Î¤Ï¡¢Â绨ÇĤ˸À¤¨¤Ð¡¢¤½¤Îɽ¤ÎÃæ¤Ç¤³¤ÎÊÑ¿ô¤ËÂФ¹¤ë¥Ç¡¼¥¿¤ÏÍ£°ì¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤ëÊÑ¿ô¤Ç¤¢¤ë¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤º¤Ï¾¦ÉʾðÊó¤Î¥Æ¡¼¥Ö¥ë¤È¤·¤Æ fruits ¥Æ¡¼¥Ö¥ë¤òºî¤Ã¤Æ¤ª¤³¤¦¡¥
> ''CREATE&#9251;TABLE&#9251;fruits&#9251;(id&#9251;INTEGER&#9251;PRIMARY&#9251;KEY&#9251;AUTOINCREMENT, name, price);''
<
¾å¤ÎÃí°Õ¤Ç½ñ¤¤¤¿¤è¤¦¤Ë¡¢°ì¹Ô¤Ç°ìµ¤¤ËÆþÎϤ¹¤ëɬÍפϤʤ¤¡¥ºÇ¸å¤Î ; (¥»¥ß¥³¥í¥ó) ¤òÂǤĤޤǤÏÌ¿Îá¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¡¥

&br;&br;
** ¥Æ¡¼¥Ö¥ë¤òºï½ü¤¹¤ë [#cb7d8d6f]

ºî¤Ã¤¿¥Æ¡¼¥Ö¥ë¤òºï½ü¤¹¤ë¤Î¤Ï´Êñ¤Ç¡¢
> ''DROP&#9251;TABLE&#9251;¥Æ¡¼¥Ö¥ë̾;''
<
¤À¤±¤ÇÎɤ¤¡¥
&br; 
&ref(/materials/warning.png); ¤³¤Î´Êñ¤ÊÁàºî¤Ç¤¢¤Ã¤µ¤êÂçÎ̤Υǡ¼¥¿¤ò¼º¤¦¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢Í×Ãí°Õ¡ª¡ª


&br;&br;
** ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤É¤ó¤Ê¥Æ¡¼¥Ö¥ë¤¬Í­¤ë¤«¸«¤Æ¤ß¤ë [#g68cef65]

°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤ÏÊ£¿ô¤Î¥Æ¡¼¥Ö¥ë¤ò³ÊǼ¤Ç¤­¤ë¡¥
¤½¤³¤Ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Ë¤É¤ó¤Ê¥Æ¡¼¥Ö¥ë¤¬¤¢¤ë¤«Ä´¤Ù¤ëÊýË¡¤ò½ñ¤¤¤Æ¤ª¤³¤¦¡¥
¤³¤ì¤Ï .tables Ì¿Îá(SQLite Ì¿Îá)¤ò»È¤Ã¤Æ
> ''.tables''
<
¤È¤¹¤ë¤À¤±¤Ç¤è¤¤¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¾å¤Î ''.tables'' ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢³Î¤«¤Ë fruits ¥Æ¡¼¥Ö¥ë¤¬ºî¤é¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤è¤¦¡¥

&br;&br;
** ¥Æ¡¼¥Ö¥ë¤Ë¥Ç¡¼¥¿¤òÄɲ乤ë [#h1632d29]

¤µ¤Æ¡¢¥Æ¡¼¥Ö¥ë¤¬´û¤Ë¸ºß¤¹¤ë¤Ê¤é¤Ð¤½¤³¤Ë¥Ç¡¼¥¿¤òÄɲäǤ­¤ë¡¥
¥Ç¡¼¥¿¤ÎÄÉ²Ã¤Ï INSERT Ì¿Îá¤ò»È¤Ã¤Æ°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤¦¡¥
> ''INSERT&#9251;INTO&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;VALUES(NULL, ÊÑ¿ô2¤ÎÆâÍÆ, ÊÑ¿ô3¤ÎÆâÍÆ, ...);''
<

&br; 
&ref(/materials/warning.png); ¤³¤¦¤¹¤ë¤È¡¢ÊÑ¿ô id ¤ÏÏ¢È֤Ǽ«Æ°Åª¤Ë¿ô»ú¤¬ÆþÎϤµ¤ì¤ë.

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢ fruits ¥Æ¡¼¥Ö¥ë¤Ë¾¦Éʥǡ¼¥¿¤òÅÐÏ¿¤·¤è¤¦¡¥
> ''INSERT&#9251;INTO&#9251;fruits&#9251;VALUES(NULL, "banana", 100);''
> ''INSERT&#9251;INTO&#9251;fruits&#9251;VALUES(NULL, "strawberry", 200);''
> ''INSERT&#9251;INTO&#9251;fruits&#9251;VALUES(NULL, "apple", 150);''
> ''INSERT&#9251;INTO&#9251;fruits&#9251;VALUES(NULL, "water melon", 1500);''
<

&br; 
&ref(/materials/warning.png); ¤â¤Á¤í¤ó¡¢Â¾¤Î¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Æ¤¯¤ëÊýË¡¤ä¡¢Â¾¤ÎÉáÄ̤Υե¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Æ¤¯¤ëÊýË¡¤Ê¤É¤âÍ­¤ë¡¥
ɬÍפˤʤ俤éÄ´¤Ù¤è¤¦¡¥


&br;&br;
** ¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë, ¼è¤ê½Ð¤¹ [#o2002056]

¥Æ¡¼¥Ö¥ë¤ËÆþ¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¤Þ¤º¤Ï¸«¤Æ¤ß¤¿¤¤¤È¤¤¤¦¾ì¹ç¤Ï
SELECT Ì¿Îá¤ò»È¤Ã¤Æ°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;¥Æ¡¼¥Ö¥ë̾;''
<

&br; 
&ref(/materials/warning.png); ¾å¤ÎÀßÄê¤Ç ''.explain on'' ¤È¤·¤Æ¤¤¤ë¤È¤³¤Îɽ¼¨¤¬¾¯¤·¤À¤±Ê¬¤«¤ê°×¤¤¤è¤¦¤Ë¤Ê¤ë¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¾å¤Î ''SELECT'' ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢fruits ¥Æ¡¼¥Ö¥ë¤Ë¥Ç¡¼¥¿¤¬ÅÐÏ¿¤µ¤ì¤Æ
¤¤¤ë¤³¤È¤ò³Îǧ¤·¤è¤¦¡¥
¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  1     banana         100
  2     strawberry     200
  3     apple          150
  4     water melon    1500

&br;
¤µ¤é¤Ë¡¢¾ò·ï¤ò»ØÄꤷ¤Æ¥Ç¡¼¥¿¤ò¸«¤Æ¤ß¤¿¤¤¤È¤¤¤¦¾ì¹ç¤Ï¡¢
SELECT Ì¿Îá¤Ë WHERE ¶ç¤òÄɲ䷤ưʲ¼¤Î¤è¤¦¤Ë¤¹¤ë¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;WHERE&#9251;¾ò·ï;''
<
WHERE ¤Î¤¢¤È¤Ë³¤¯¡Ö¾ò·ï¡×¤Ï¤¤¤í¤¤¤í¤È½ÀÆð¤Ë»ØÄê¤Ç¤­¤ë¡¥
¤³¤³¤ÇÀâÌÀ¤¹¤ë¤Ë¤Ï¿¤¹¤®¤ë¤Î¤Ç¡¢°Ê²¼¤ÎÆóÎã¤ò¤ß¤Æ¤Þ¤º¤Ï´¶³Ð¤ò¤Ä¤«¤â¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î ''SELECT'' ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢fruits ¥Æ¡¼¥Ö¥ëÃæ¤Çñ²Á¤¬ 1000±ß°Ê¾å¤ÎÉʤò¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¤ß¤è¤¦¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;fruits&#9251;WHERE&#9251;price>1000;''
<
¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  4     water melon    1500

&br; 
¤µ¤é¤Ëº£Å٤ϡ¢fruits ¥Æ¡¼¥Ö¥ëÃæ¤Ç̾Á°¤¬ "¤Û¤Ë¤ã¤é¤énana" ¤È¤¤¤¦¤â¤Î¤ò¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¤ß¤è¤¦¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;fruits&#9251;WHERE&#9251;LIKE('%nana',name);''
<
¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  1     banana         100

&ref(/materials/warning.png); LIKE Ãæ¤Î % ¤Ï¡ÖǤ°Õ¤Îʸ»úÎó¡×¤È¤¤¤¦°ÕÌ£¤ò»ý¤Ä¡¥¾Ü¤·¤¯¤ÏÄ´¤Ù¤è¤¦¡¥

&br;
¤µ¤é¤Ë¡¢¹àÌܤ¹¤Ù¤Æ¤Ç¤Ï¤Ê¤¯¡¢°ìÉô¤Î¹àÌܤÀ¤±¸«¤¿¤¤¤È¤¤¤¦¾ì¹ç¤Ï SELECT Ì¿Îá¤Î¤¢¤È¤Ë * ¤Ç¤Ï¤Ê¤¯¡¢¹àÌÜ̾¤òÎóµó¤¹¤ë¡¥
> ''SELECT&#9251;¸«¤¿¤¤¹àÌÜ̾1, ¸«¤¿¤¤¹àÌÜ̾2, ... &#9251;FROM&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;WHERE&#9251;¾ò·ï;''
<

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î ''SELECT'' ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢fruits ¥Æ¡¼¥Ö¥ëÃæ¤Îñ²Á¡Ö¤Î¤ß¡×¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¤ß¤è¤¦¡¥
> ''SELECT&#9251;price&#9251;FROM&#9251;fruits;''
<
¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  pric
  ----
  100
  200
  150
  1500

&br;&br;
** ¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ò½¤Àµ¤¹¤ë [#pefef0aa]

¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò½¤Àµ¤¹¤ë¤Ë¤Ï¡¢REPLACE Ì¿Îá¤È UPDATE Ì¿Î᤬»È¤¨¤ë¡¥
ÅÔ¹ç¤Ë¹ç¤ï¤»¤Æ¹¥¤­¤ÊÊý¤ò»È¤ª¤¦¡¥

&br;
¤Þ¤º REPLACE ¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»È¤¦¡¥
> ''REPLACE&#9251;INTO&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;VALUES(idÈÖ¹æ, ÊÑ¿ô2¤ÎÆâÍÆ, ÊÑ¿ô3¤ÎÆâÍÆ, ...);''
<

&ref(/materials/warning.png); REPLACE Ì¿Îá¤ò»È¤Ã¤¿»þ¡¢¤½¤Î idÈÖ¹æ ¤ò¤â¤Ä¥Ç¡¼¥¿¤¬¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¤½¤Î idÈÖ¹æ¤Ç¿·µ¬¤Ë¡ÖÅÐÏ¿¡×¤µ¤ì¤ë¡¥
¤½¤Î°Õ¿Þ¤¬¤Ê¤¤¾ì¹ç¤Ï´Ö°ã¤¤¤Î¤â¤È¤Ë¤Ê¤ë¤Î¤Çα°Õ¤·¤è¤¦¡¥

&br;
¼¡¤Ë¡¢UPDATE ¤Î»È¤¤Êý¤À¤¬¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡¥
> ''UPDATE&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;SET&#9251;ÊÑ¿ô̾n=ÊÑ¿ôn¤ÎÆâÍÆ&#9251;WHERE&#9251;¾ò·ï;''
<
&ref(/materials/warning.png); WHERE °Ê¹ß¤ò¾Êά¤¹¤ë¤È¡¢¥Ç¡¼¥¿Á´Éô¤¬ÂоݤȤʤ롥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë UPDATE ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢fruits ¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ÎÃæ¤Î¡¢water melon ¤Î²Á³Ê¤ò 2000 ¤Ë½¤Àµ¤·¤è¤¦¡¥
> ''UPDATE&#9251;fruits&#9251;SET&#9251;price=2000&#9251;WHERE&#9251;id=4;''
<
¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢SELECT ¥³¥Þ¥ó¥É¤Ç¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  1     banana         100
  2     strawberry     200
  3     apple          150
  4     water melon    2000

&br;
&ref(/materials/notes.png); (¼Â½¬:±þÍÑ) ¤µ¤é¤Ë¼¡¤Î¤è¤¦¤Ë UPDATE ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢
ñ²Á¤¬ 300±ß̤Ëþ¤Î¾¦ÉʤòÇܤËÃ;夲¤·¤è¤¦¡¥
> ''UPDATE&#9251;fruits&#9251;SET&#9251;price=2*price&#9251;WHERE&#9251;price<300;''
<
¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢SELECT ¥³¥Þ¥ó¥É¤Ç¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  1     banana         200
  2     strawberry     400
  3     apple          300
  4     water melon    2000

&br;&br;
** ¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤òºï½ü¤¹¤ë [#d8799e0c]

¥Æ¡¼¥Ö¥ëÃæ¤Î¥Ç¡¼¥¿¤òºï½ü¤¹¤ë¤Ë¤Ï¡¢UPDATE ¥³¥Þ¥ó¥É¤Ë»÷¤¿ DELETE ¥³¥Þ¥ó¥É¤¬»È¤¨¤ë¡¥
> ''DELETE&#9251;FROM&#9251;¥Æ¡¼¥Ö¥ë̾&#9251;WHERE&#9251;¾ò·ï;''
<
&ref(/materials/warning.png); ¤³¤ì¤â WHERE °Ê¹ß¤ò¾Êά¤¹¤ë¤È¡¢¥Ç¡¼¥¿Á´Éô¤¬ÂоݤȤʤ롥
¤Ä¤Þ¤ê¡¢''¥Ç¡¼¥¿¤¬Á´Éô¾Ã¤¨¤Æ¤·¤Þ¤¦!'' ¤Î¤Ç¡¢´Ö°ã¤¨¤Æ¤½¤¦Áàºî¤·¤Ê¤¤¤è¤¦µ¤¤ò¤Ä¤±¤è¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë DELETE ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢fruits ¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ÎÃæ¤Î¡¢
strawberry ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òºï½ü¤·¤è¤¦¡¥
> ''DELETE&#9251;FROM&#9251;fruits&#9251;WHERE&#9251;id=2;''
<

¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢SELECT ¥³¥Þ¥ó¥É¤Ç¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  1     banana         200
  3     apple          300
  4     water melon    2000
&ref(/materials/warning.png); °ìÅٻȤï¤ì¤¿ id ÈÖ¹æ 2 ¤¬·çÈ֤ˤʤäƤ¤¤ë¤³¤È¤ËÃí°Õ¤·¤è¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë INSERT ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥Ç¡¼¥¿¤òÄɲä·¡¢
·çÈÖ id ¤¬¤É¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤«ÇÄ°®¤·¤è¤¦¡¥
> ''INSERT&#9251;INTO&#9251;fruits&#9251;VALUES(NULL, "orange", 400);''
<

¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢SELECT ¥³¥Þ¥ó¥É¤Ç¼¡¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¤Ï¤º¤À¡¥
  id    name           pric
  ----  -------------  ----
  1     banana         200
  3     apple          300
  4     water melon    2000
  5     orange         400
&ref(/materials/warning.png); ¼«Æ°Ï¢ÈÖµ¡Ç½¤òÍѤ¤¤ë¤È id ÈÖ¹æ 2 ¤¬·çÈ֤ΤޤޤˤʤäƤ¤¤ë¤³¤È¤ËÃí°Õ¤·¤è¤¦¡¥


&br;&br;
* SQLite3 ¤Ç¤Î¥Æ¡¼¥Ö¥ë¤Î¡ÖÁê¸ßºîÍѤò¹Íθ¤·¤¿¡×Áàºî [#h4fbcf95]

¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Î¥Æ¡¼¥Ö¥ëÁê¸ßºîÍѤδðËܤϡ¢²¿¤«¤Î¹àÌܤò¶¦ÄÌ¥­¡¼¤È¤·¤Æ¥Æ¡¼¥Ö¥ë¤ò¹çÂΤµ¤»¤ë¤³¤È¤Ç¤¢¤ë¡¥
Æñ¤·¤¯¤Ï¤Ê¤¤¤¬¤ä¤Ã¤Æ¤ß¤Ê¤¤¤È¼Â´¶¤·¤Ë¤¯¤¤¤Î¤Ç¡¢¼Â½¬¤òÄ̤¸¤Æ³Ø¤Ö¤È¤·¤è¤¦¡¥

** ½àÈ÷ [#o3638f59]

¼Â½¬¤òÄ̤¸¤Æ³Ø¤Ö¤¿¤á¤Ë¡¢¾¯¤·½àÈ÷¤ò¤·¤è¤¦¡¥
¶ñÂÎŪ¤Ë¤Ï¡¢¤â¤¦Æó¤Ä¡¢Â¾¤Î¥Æ¡¼¥Ö¥ë¤òƱ¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤ËºîÀ®¤·¤è¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë CREATE ¥³¥Þ¥ó¥É¤È INSERT ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢º£¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë¤â¤¦2¤Ä¤Î¥Æ¡¼¥Ö¥ë¤òºî¤Ã¤Æ¤ª¤³¤¦¡¥

&br;
¤Þ¤º°ì¤ÄÌܤϡ¢¸ÜµÒ¥ê¥¹¥È¤òʤ٤¿ customers ¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¡¥
¸ÜµÒ¤È¤·¤Æ 3¿Í¤Û¤É¥Ç¡¼¥¿¤òÆþ¤ì¤Æ¤ª¤³¤¦¡¥
> ''CREATE&#9251;TABLE&#9251;customers&#9251;(id&#9251;INTEGER&#9251;PRIMARY&#9251;KEY&#9251;AUTOINCREMENT, name);''
> ''INSERT&#9251;INTO&#9251;customers&#9251;VALUES(NULL,"john");''
> ''INSERT&#9251;INTO&#9251;customers&#9251;VALUES(NULL,"tom");''
> ''INSERT&#9251;INTO&#9251;customers&#9251;VALUES(NULL,"mike");''
<
SELECT Ì¿Îá¤ÇÃæ¿È¤ò¤ß¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤À¡¥
  id    name
  ----  -------------
  1     john
  2     tom
  3     mike

&br;
Æó¤ÄÌܤϡ¢Çä¾å¥ê¥¹¥È¤òʤ٤¿ sales ¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¡¥
Çä¾å¥ê¥¹¥È¤Ï¡¢&br;
&nbsp;&nbsp;''id, ¸ÜµÒid, ¾¦ÉÊid, Çä¤ì¤¿¸Ä¿ô'' &br;
¤È¤·¤Æ¤ª¤³¤¦¡¥
> ''CREATE&#9251;TABLE&#9251;sales&#9251;(id&#9251;INTEGER&#9251;PRIMARY&#9251;KEY&#9251;AUTOINCREMENT, customer_id, fruit_id, quantity);''
<
¤µ¤Æ¡¢5 ²ó¤ÎÇä¾å¤²¾ðÊó¤òÆþ¤ì¤Æ¤ª¤³¤¦¡¥
> ''INSERT&#9251;INTO&#9251;sales&#9251;VALUES(NULL,2,5,3);''
> ''INSERT&#9251;INTO&#9251;sales&#9251;VALUES(NULL,1,1,1);''
> ''INSERT&#9251;INTO&#9251;sales&#9251;VALUES(NULL,2,3,2);''
> ''INSERT&#9251;INTO&#9251;sales&#9251;VALUES(NULL,2,1,4);''
> ''INSERT&#9251;INTO&#9251;sales&#9251;VALUES(NULL,3,4,10);''
<
SELECT Ì¿Îá¤Ç sales ¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤ò¤ß¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤À¡¥
  id    customer_id    frui  quan
  ----  -------------  ----  ----
  1     2              5     3
  2     1              1     1
  3     2              3     2
  4     2              1     4
  5     3              4     10

&br; 
&ref(/materials/warning.png); ¤³¤Î sales ¥Æ¡¼¥Ö¥ë¤Ï¾¤Î¥Æ¡¼¥Ö¥ë¤Î¾ðÊ󤬤¢¤Ã¤Æ½é¤á¤Æ°ÕÌ£¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤è¤¦¡¥

** ¶¦Ä̾ðÊó¤ò¤â¤È¤Ë¥Æ¡¼¥Ö¥ë¤ò¹çÂΤµ¤»¤ë [#cdf33265]

¤³¤ì¤Ç¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï·× 3¤Ä¤Î¥Æ¡¼¥Ö¥ë¤¬Í­¤ë¤Ï¤º¤Ç¤¢¤ë¡¥
°ì±þ¡¢''.tables'' ¥³¥Þ¥ó¥É¤Ç
> ''.tables''
<
¤È¤¹¤ë¤È¡¢
  customers  fruits     sales
¤È½ÐÎϤµ¤ì¤ë¤³¤È¤ò³Îǧ¤·¤è¤¦¡¥

¤³¤Î 3¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Î¤¦¤Á¾¤Î¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤ò°úÍѤ¹¤ë·Á¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ï sales ¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¤Î¤Ç¡¢
sales ¥Æ¡¼¥Ö¥ë¤Ë¾¤Î¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤ò¹çÂÎ(join)¤µ¤»¤Æ¤ß¤è¤¦¡¥
¶ñÂÎŪ¤Ë¤Ï¡¢SELECT ¤È°ì½ï¤Ë''JOIN'' Ì¿Îá¤ò»È¤Ã¤Æ¡¢¹çÂΤµ¤»¤¿¥Æ¡¼¥Ö¥ë¤«¤é¾ðÊó¤ò¼è¤ê½Ð¤¹·Á¤ò¤È¤ë¡¥
ʸˡ¤È¤·¤Æ¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤À¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;¥Æ¡¼¥Ö¥ë̾1''
> ''&#9251;JOIN&#9251;¥Æ¡¼¥Ö¥ë̾2&#9251;ON&#9251;¥Æ¡¼¥Ö¥ë̾1.¹àÌÜ̾=¥Æ¡¼¥Ö¥ë̾2.¹àÌÜ̾;''
<
ºÇ¸å¤Î = ¤Ç·Ò¤¬¤ì¤Æ¤¤¤ëÆó¤Ä¤Î¹àÌܤ¬¡¢¤³¤Î¥Æ¡¼¥Ö¥ë´Ö¤Ç¶¦Ä̤ξðÊó¤Ç¤¢¤ë¡¥
¤Þ¤¢¡¢¼¡¤Î¼Â½¬¤ò¤ä¤Ã¤Æ¤ß¤¿¤Û¤¦¤¬¤ï¤«¤ê¤ä¤¹¤¤¤À¤í¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) ¼¡¤Î¤è¤¦¤Ë, sales ¥Æ¡¼¥Ö¥ë¤ÎÇä¾å¾ðÊó¤Ç¡¢¸ÜµÒ¤Î̾Á°¤¬¸«¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤è¤¦¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;sales''
> ''&#9251;JOIN&#9251;customers&#9251;ON&#9251;sales.customer_id=customers.id;''
<
¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ç¥Ç¡¼¥¿¤¬ÆÀ¤é¤ì¤ë¤Ï¤º¤Ç¤¢¤ë¡¥
  id    customer_id    fruit_id       quantity       id    name
  ----  -------------  -------------  -------------  ----  -------------
  1     2              5              3              2     tom
  2     1              1              1              1     john
  3     2              3              2              2     tom
  4     2              1              4              2     tom
  5     3              4              10             3     mike
Á´ÂΤΡ¢Âè2¹àÌÜ(sales ¥Æ¡¼¥Ö¥ë¤Î customer_id) ¤ÈÂè5¹àÌÜ(customers ¥Æ¡¼¥Ö¥ë¤Î id)¤¬°ìÃפ·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤ª¤³¤¦¡¥

&br; 
¤³¤ì¤Ç¤Ï¸«¤Ë¤¯¤¤¡¢¤È¤¤¤¦¤è¤¦¤Ç¤¢¤ì¤Ð½ÐÎϤò¸«¤ä¤¹¤¤¤â¤Î¤À¤±¤Ë¤¹¤ì¤Ð¤è¤¤¡¥
Î㤨¤Ð¼¡¤Î¤è¤¦¤Ê´¶¤¸¤À¡¥
> ''SELECT&#9251;sales.id, name, fruit_id, quantity''
> ''&#9251;FROM&#9251;sales''
> ''&#9251;JOIN&#9251;customers&#9251;ON&#9251;sales.customer_id=customers.id;''
<
¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬ÆÀ¤é¤ì¤ë¤Ï¤º¤À¡¥
  id    name           fruit_id       quantity
  ----  -------------  -------------  -------------
  1     tom            5              3
  2     john           1              1
  3     tom            3              2
  4     tom            1              4
  5     mike           4              10

&ref(/materials/warning.png); ¥Æ¡¼¥Ö¥ë¤ò¹çÂΤµ¤»¤ë¤È¡¢Æ±¤¸¹àÌÜ̾¤¬»È¤ï¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¡¥
¤³¤ì¤òÛ£Ëæ¤Ëµ­½Ò¤·¤ÆÌ¿Î᤹¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤Ç¡¢¤½¤¦¤¤¤¦»þ¤Ï ''¥Æ¡¼¥Ö¥ë̾.¹àÌÜ̾'' ¤È¤·¤Æ»ØÄꤷ¤Æ¡¢¶èÊ̤ò¤¹¤ë¡¥
¾å¤ÎÎã¤Ç¤â SELECT ¤ÎÂÐ¾Ý¤Ç sales.id ¤È¤·¤Æ¶èÊ̤·¤Æ¤¤¤ë¤Î¤ËÃí°Õ¤·¤è¤¦¡¥

&br;
*** JOIN ¤Ï¤¤¤¯¤Ä¤Ç¤â¤¤¤±¤ë! [#zc5e05c3]

JOIN ¤Ï¤¤¤¯¤Ä¤Ç¤â¥Æ¡¼¥Ö¥ë¤ò¹çÂΤµ¤»¤é¤ì¤ë¡¥
ñ¤Ë¸å¤í¤Ë³¤±¤Æµ­½Ò¤¹¤ì¤Ð¤¤¤¤¤À¤±¤Ç¤¢¤ë¡¥
¼¡¤Î¼Â½¬¤Ç³Î¤«¤á¤è¤¦¡¥

&br;
&ref(/materials/notes.png); (¼Â½¬) sales ¥Æ¡¼¥Ö¥ë¤ÎÇä¾å¾ðÊó¤Ç¡¢¸ÜµÒ¤Î̾Á°¤À¤±¤Ç¤Ê¤¯¡¢¾¦ÉʤÎ̾Á°¤äñ²Á¤â¸«¤¨¤ë¤è¤¦¤Ë¤·¤è¤¦¡¥
¶ñÂÎŪ¤Ë¤ÏÀè¤ÎÎã¤Ë¤µ¤é¤Ë¤â¤¦°ì²ó join ¤ò¤¹¤ì¤ÐÎɤ¤¡¥
> ''SELECT&#9251;*&#9251;FROM&#9251;sales''
> ''&#9251;JOIN&#9251;customers&#9251;ON&#9251;sales.customer_id=customers.id''
> ''&#9251;JOIN&#9251;fruits&#9251;ON&#9251;sales.fruit_id=fruits.id;''
<
¤¹¤ë¤È¡¢(²£¤ËŤ¤¤¬)¼¡¤Î¤è¤¦¤Ê½ÐÎϤòÆÀ¤ë¤Ï¤º¤À¡¥
  id    customer_id    fruit_id       quantity       id    name           id  name           price
  ----  -------------  -------------  -------------  ----  -------------  --  -------------  ----------
  1     2              5              3              2     tom            5   orange         400
  2     1              1              1              1     john           1   banana         200
  3     2              3              2              2     tom            3   apple          300
  4     2              1              4              2     tom            1   banana         200
  5     3              4              10             3     mike           4   water melon    2000

&br; 
¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤Ê¤é¤Ð¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤«¡¥
> ''SELECT&#9251;sales.id, customers.name, fruits.name, price, quantity''
> ''&#9251;FROM&#9251;sales''
> ''&#9251;JOIN&#9251;customers&#9251;ON&#9251;sales.customer_id=customers.id''
> ''&#9251;JOIN&#9251;fruits&#9251;ON&#9251;sales.fruit_id=fruits.id;''
<
¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Êʬ¤«¤ê°×¤¤½ÐÎϤòÆÀ¤ë¤À¤í¤¦¡¥
  id    name           name           price          quan
  ----  -------------  -------------  -------------  ----
  1     tom            orange         400            3
  2     john           banana         200            1
  3     tom            apple          300            2
  4     tom            banana         200            4
  5     mike           water melon    2000           10

¤³¤ì¤ò¤ß¤ì¤Ð¡¢Î㤨¤ÐÂè4²óÌܤμè°ú¤­¤Ç¤Ï tom ¤¬200±ß¤Î¥Ð¥Ê¥Ê¤ò4ËÜÇã¤Ã¤Æ¤¤¤Ã¤¿¤³¤È¤¬¤¹¤°¤ï¤«¤ë¡¥

&br;
&ref(/materials/warning.png); ¤³¤ó¤ÊÌÌÅݤʤ³¤È¤ò¤·¤Ê¤¤¤Ç¡¢¾å¤Îɽ¤½¤Î¤â¤Î¤òÍÑ°Õ¤·¤Æ¡¢¥Ç¡¼¥¿¤ò­¤·¤Æ¤¤¤±¤Ð¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤È»×¤¦¿Í¤â¤¤¤ë¤À¤í¤¦¡¥
¤·¤«¤·¤½¤ì¤ò¤ä¤ë¤È¡¢ÅÓÃæ¤Ç²¿¤«¤òÊѹ¹¤¹¤ë¤È²áµî¤Î¥Ç¡¼¥¿¤È¤Î°ì´ÓÀ­¤ò¼º¤Ã¤Æ¤·¤Þ¤Ã¤¿¤ê¡¢
¤¢¤ëÍó¤Ç¤Ï tom ¤È½ñ¤­Â¾¤ÎÍó¤Ç¤Ï ton ¤Èµ­ºÜ¥ß¥¹¤¹¤ë¤ÈÊÌ¿Í°·¤¤¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤ê¤¹¤ë¤Î¤À¡¥
¾¦ÉʾðÊó¤Ï¾¦Éʥơ¼¥Ö¥ëñÆȤǡ¢¸ÜµÒ¾ðÊó¤Ï¸ÜµÒ¥Æ¡¼¥Ö¥ëñÆȤǴÉÍý¤Ç¤­¡¢¤«¤Ä¡¢¤½¤ì¤é¤Î¾ðÊó¤ò
¾¤Î¥Æ¡¼¥Ö¥ë¤«¤é»²¾È¤Ç¤­¤ë¡¢¤È¤¤¤¦¤Î¤¬ RDB ¤Î¥Ý¥¤¥ó¥È¤Ê¤Î¤Ç¤¢¤ë¡¥
¤³¤ì¤Ï¥Ç¡¼¥¿¤Î´ÉÍý¤Î¡Ö°ÂÁ´À­¡×¤ò°ÕÌ£¤¹¤ë¡¥
¥Ç¡¼¥¿¤¬Â¿¤¯¡¢Ê£»¨¤Ë¤Ê¤ì¤Ð¤Ê¤ë¤Û¤É¤³¤Î¤³¤È¤Î½ÅÍ×À­¤ÏÁý¤¹¤À¤í¤¦¡¥

&br;
¤µ¤Æ¡¢¤µ¤é¤Ë¥Ç¡¼¥¿¤ò¸«¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¤Æ¡¢¤¹¤³¤·²Ã¹©¤·¤Æ¤ß¤è¤¦¡¥
> ''SELECT&#9251;sales.id, customers.name, fruits.name, price, quantity, &color(red){price*quantity};''
> ''&#9251;FROM&#9251;sales''
> ''&#9251;JOIN&#9251;customers&#9251;ON&#9251;sales.customer_id=customers.id''
> ''&#9251;JOIN&#9251;fruits&#9251;ON&#9251;sales.fruit_id=fruits.id;''
<
¤¹¤ë¤È¼¡¤Î¤è¤¦¤Ë¡¢Ã±²Áx¸Ä¿ô=¾®·× ¤â¥ê¥¹¥È¥¢¥Ã¥×¤Ç¤­¤ë¡¥
  id    name           name           price          quan  price*quantit
  ----  -------------  -------------  -------------  ----  -------------
  1     tom            orange         400            3     1200
  2     john           banana         200            1     200
  3     tom            apple          300            2     600
  4     tom            banana         200            4     800
  5     mike           water melon    2000           10    20000

&br;
(±þÍÑ) ¤µ¤Æ¡¢¤µ¤é¤Ë¡¢Ã¯¤Ë¤¤¤¯¤éÀÁµá¤¹¤ë¤Ù¤­¤«¤â¹ç·×¤ò¸«¤Æ¤ß¤è¤¦¡¥
¸ÜµÒ¾ðÊó¤ò¤â¤È¤Ë¤Þ¤È¤á¤ë¤ï¤±¤À¤¬¡¢¤³¤ì¤Ë¤Ï ''GROUP BY'' ¤È¤¤¤¦Ì¿Îá¤ò»È¤¦(¾Ü¤·¤¯¤Ï³Æ¿Í¤ÇÄ´¤Ù¤è¤¦)¡¥
¤Ê¤ª¡¢¹ç·×¤Ë¤Ïñ¤Ê¤ë ''SUM'' ¤È¤¤¤¦Ì¿Î᤬»È¤¨¤ë¡¥
> ''SELECT&#9251;customers.name, &color(red){SUM(price*quantity)};''
> ''&#9251;FROM&#9251;sales''
> ''&#9251;JOIN&#9251;customers&#9251;ON&#9251;sales.customer_id=customers.id''
> ''&#9251;JOIN&#9251;fruits&#9251;ON&#9251;sales.fruit_id=fruits.id''
> ''&#9251;&color(red){GROUP&#9251;BY};&#9251;customers.id;''
<
¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤòÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥
  name  sum(price*qua
  ----  -------------
  john  200
  tom   2600
  mike  20000
¤³¤ì¤Ç¡¢¤À¤ì¤Ë¹ç·×¤Ç¤¤¤¯¤é»Ùʧ¤Ã¤Æ¤â¤é¤¨¤Ð¤è¤¤¤«¡¢°ìÌÜÎÆÁ³¤Ç¤¢¤ë¡¥

&br;&br;
* ºÇ¸å¤Ë [#kff011aa]

º£²ó¤Ï SQLite ¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤éľÀÜÁàºî¤·¤Æ RDBMS ¤ÎÆþÌçŪ¤ÊÉôʬ¤òÍý²ò¤Ç¤­¤ë¤è¤¦¤ÊÆâÍƤȤ·¤¿¡¥
RDB ¤ò¼ÂÍѤ˶¡¤¹¤ë¾ì¹ç¤Ï¡¤¥é¥¤¥Ö¥é¥ê·Ðͳ¤«¥µ¡¼¥Ð·Ðͳ¤È¤Ê¤ë¤¿¤á¡¤¤µ¤é¤ËÍý²ò¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤³¤È¤¬Áý¤¨¤ë¤¬¡¤´ðËܤÏƱ¤¸¤Ç¤¢¤ë¡¥
¤½¤¦¤¤¤Ã¤¿ºÝ¤Ë¤è¤¯¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤¿¤é¡¤º£²ó¤Î¤è¤¦¤ËľÀÜ¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é³ºÅö¤¹¤ëÁàºî¤ò¤·¤Æ¤ß¤Æ¡¤¼ÂºÝ¤Ë²¿¤¬µ¯¤­¤ë¤«³Îǧ¤·¤Æ¤ß¤ë¤Î¤âÎɤ¤¤À¤í¤¦¡¥

&br;&br;
* Report: ¥ì¥Ý¡¼¥È [#zd897f9f]

°Ê²¼¤Î²ÝÂê¤Ë¤Ä¤¤¤Æǽ¤¦¸Â¤ê¸­ÌÀ¤ÊÄ´ºº¤È¹Í»¡¤ò¹Ô¤¤¡¤
&br; 
''AppliedMath7-Report-14''
&br;
¤È¤¤¤¦Âê̾¤ò¤Ä¤±¤Æ e-mail ¤Ë¤Æ¶µ´±°¸¤Ë¥ì¥Ý¡¼¥È¤È¤·¤ÆÄó½Ð¤»¤è. ¤Ê¤ª¡¤¥ì¥Ý¡¼¥È¤ò e-mail ¤ÎÂå¤ï¤ê¤Ë TeX ¤ÇºîÀ®¤·¤¿½ñÌ̤ˤÆÄó½Ð¤·¤Æ¤â¤è¤¤.

** Exercises: ²ÝÂê [#vf0c8a45]

+ aaa
&br;
&br;
+ ¾å¤Î¼Â½¬¤ò³¤±¤Æ¡¢¤µ¤é¤Ë¡¢¤É¤Î¾¦Éʤ¬¹ç·×¤Ç¤¤¤¯¤ÄÇä¤ì¤¿¤«¡¢¤ò½ÐÎϤµ¤»¤Æ¤ß¤è¡¥
&br;&br;
+ SQLite ¤Ç¡¢¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÆɤ߹þ¤àÊýË¡¤òÄ´¤Ù¤è¡¥
&br;&br;
+ SQLite ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò GUI ¤ÇÁàºî¤Ç¤­¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Â¿¿ô¸ºß¤¹¤ë¡¥
¤½¤¦¤¤¤Ã¤¿Êª¤òõ¤·¡¤¤½¤Î¤¦¤Á¤Î°ì¤Ä¤ÇÎɤ¤¤Î¤Ç¼ÂºÝ¤ËÁàºî¤·¤Æ»î¤·¤Æ¤ß¤è¡¥
&br;&br;
+ ¼«Ê¬¤ÎÀ¸³è¤ÎÃæ¤Ç SQLite ¤òÍøÍѤ¹¤ë¤ÈÊØÍø¤Ë¤Ê¤ê¤½¤¦¤Ê¥·¡¼¥ó¤¬¤Ê¤¤¤«¡¢¹Í¤¨¤Æ¤ß¤è¡¥


&br;&br;
* about Icons, ClipArts [#c5b11aa1]

For details, see [[&ref(/materials/JNorth_arrow-right-sm.png); this>materials]].

// ¨¬¨­¨®¨¯¨°¨±¨²¨³¨´¨µ¨¶


// ¥³¥Þ¥ó¥É¥é¥¤¥óÆþÎϤϡֹÔƬ¤ò > ¤Ç»Ï¤á¤ë¡×.
// ¥³¥Þ¥ó¥É¥é¥¤¥ó½ÐÎϤϡֹÔƬ¤ò¥Ö¥é¥ó¥¯¤Ç»Ï¤á¤ë¡×.

// ¼Â½¬¥¢¥¤¥³¥ó
// &ref(/materials/notes.png); 

// Ãí°Õ¥¢¥¤¥³¥ó
// &ref(/materials/warning.png);

// Link ¥¢¥¤¥³¥ó
// &ref(/materials/JNorth_arrow-right-sm.png); 

// OK ¥¢¥¤¥³¥ó
// &ref(/materials/OK.png);

// NG ¥¢¥¤¥³¥ó
// &ref(/materials/NG.png);

// ¥µ¥ó¥×¥ë¥¢¥¤¥³¥ó
// &ref(/materials/Gnome-Preferences.png);

// Âçʸ»ú¤Ç¤Î¶¯Ä´ 
// CENTER:&size(24){''¤Û¤²¤Û¤²''};

// programu source ɽµ­
// #highlighter(language=ruby,number=on,cache=on){{}}

// ¥Ñ¥¤¥×
// &brvbar;

// ¶õÇòµ­¹æ
// &#9251;

// ¥¿¥Öµ­¹æ
// &#9225;