SQL
"Structured Query Language" ¤Îά¡£¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁàºî¤¹¤ë¤¿¤á¤Î´Ê°×¸À¸ì¡£
SQL ¤ÏÈó¾ï¤ËÊ£»¨¤Ç¤¹¤Î¤Ç¡¢´ðËÜŪ¤Ê¹½Ê¸¤À¤±¤´¾Ò²ð¤·¤Þ¤¹¡£
¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¤Þ¤¹¡£
¥«¥é¥àÄêµÁ¤Ï°Ê²¼¤Î½ñ¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
Îã¡§
¥Æ¡¼¥Ö¥ëÆâ¤Î»ØÄꤷ¤¿¥ì¥³¡¼¥É¤òºï½ü¤·¤Þ¤¹¡£
Îã¡§
¥Æ¡¼¥Ö¥ë¤òºï½ü¤·¤Þ¤¹¡£
Îã¡§
¥Æ¡¼¥Ö¥ë¤Ë¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤Þ¤¹¡£
Îã¡§
¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ¤òɽ¼¨¤·¤Þ¤¹¡£
Îã¡§
¥ì¥³¡¼¥É¤ÎÆâÍÆ¤òÊѹ¹¤·¤Þ¤¹¡£
Îã¡§
SQL ¤Ç¤Ï¡¢Ê¸Ë¡Åª¤ËÌÀ¤é¤«¤Ê¾ì½ê¤Ç¤Ï°úÍÑÉä¤Ê¤·¤Çʸ»úÎó¤òµ½Ò¤Ç¤¤Þ¤¹¡£¤·¤«¤·¡¢Ê¸»úÎ󤬶õÇò¤ò´Þ¤à¾ì¹ç¤ä¡¢¥Ç¡¼¥¿¤È¤·¤Æ¤Îʸ»úÎ󤫥ª¥Ö¥¸¥§¥¯¥È̾¡Ê¥Æ¡¼¥Ö¥ë̾¤ä¥«¥é¥à̾¤Ê¤É¡Ë¤«¤¬Û£Ëæ¤Ê¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Îµ¬Â§¤Ç°úÍÑÉä¤òÍѤ¤¤Þ¤¹¡£
¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¤Ï¾åµ¤Î 2 ¤Ä¤òº®Æ±¤·¤Æ¤â¼«Æ°Åª¤ËȽÊ̤·¤Æ¤¯¤ì¤Þ¤¹¤¬¡¢´Ö°ã¤¤¤òËɤ°¤¿¤á¤Ë¤â¤¤Ã¤Á¤ê¤È»È¤¤Ê¬¤±¤ë¤Î¤¬ÌµÆñ¤Ç¤¹¡£
SQL ¤Ç»È¤¨¤ë¥Ç¡¼¥¿·¿¤Ï¤«¤Ê¤êÊý¸À¤¬¤¢¤ê¤Þ¤¹¡£ºÇÄã¸Â¡¢°Ê²¼¤Î¤â¤Î¤òÇİ®¤·¤Æ¤ª¤±¤Ð¤Ê¤ó¤È¤«¤Ê¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¡£
À©Ìó¤È¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤Ç¤¤ëÃͤξò·ï¤ò»ØÄꤷ¡¢¤½¤ì¤òËþ¤¿¤µ¤Ê¤¤Ãͤò³Î¼Â¤ËÃÆ¤¯¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£°Ê²¼¤Î¤â¤Î¤¬°ìÈÌŪ¤Ë»È¤¨¤ë¤è¤¦¤Ç¤¹¡£
¤Þ¤¿¡¢ÃͤÎÀ©Ìó°Ê³°¤ÎÌÜŪ¤Ç»ÈÍѤµ¤ì¤ëÀ©Ìó¤â¤¢¤ê¤Þ¤¹¡£Âåɽ¤¬ DEFAULT ¤Ç¡¢ INSERT ¤ÇÃͤ¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿ºÝ¤ËÀßÄꤵ¤ì¤ëÃͤ¬»ØÄê¤Ç¤¤Þ¤¹¡£ DEFAULT À©Ì󤬤ʤ¤¾ì¹ç¤Ï NULL ¤Ë¤Ê¤ê¤Þ¤¹¡£
À©Ìó¤Î¾ÜºÙ¤Ë´Ø¤·¤Æ¤Ï¡¢ PostgreSQL ¤Î¥Þ¥Ë¥å¥¢¥ë¤¬¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤¹¡£
Ìܼ¡
´ðËÜŪ¤Ê SQL ʸ
SQL ¤ÏÈó¾ï¤ËÊ£»¨¤Ç¤¹¤Î¤Ç¡¢´ðËÜŪ¤Ê¹½Ê¸¤À¤±¤´¾Ò²ð¤·¤Þ¤¹¡£
CREATE TABLE
¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¤Þ¤¹¡£
CREATE TABLE [IF NOT EXISTS] ¥Æ¡¼¥Ö¥ë̾ (¥«¥é¥àÄêµÁ[, ¥«¥é¥àÄêµÁ]...)
- IF NOT EXISTS
- ¤³¤ì¤òÉÕ¤±¤ë¤È¡¢Æ±¤¸Ì¾Á°¤Î¥Æ¡¼¥Ö¥ë¤¬¤¢¤Ã¤Æ¤â¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
- ¥Æ¡¼¥Ö¥ë̾
- ºîÀ®¤¹¤ë¥Æ¡¼¥Ö¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
- ¥«¥é¥àÄêµÁ
- ³Æ¥«¥é¥à¤ÎÄêµÁ¤òÎóµó¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¸å½Ò¡£
¥«¥é¥àÄêµÁ¤Ï°Ê²¼¤Î½ñ¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
̾Á° ·¿Ì¾ [À©Ìó [À©Ìó]...]
- ̾Á°
- ¥«¥é¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
- ·¿Ì¾
- ¥«¥é¥à¤Î·¿Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£¸å½Ò¤Î¡ÖSQL ¤Î¥Ç¡¼¥¿·¿¡×¤ò»²¾È¡£
- À©Ìó
- ¤½¤Î¥«¥é¥à¤ËÊݸ¤Ç¤¤ë¥Ç¡¼¥¿¤Î¾ò·ï¤ò»ØÄꤷ¤Þ¤¹¡£¸å½Ò¤Î¡ÖSQL ¤ÎÀ©Ìó¡×¤ò»²¾È¡£
Îã¡§
CREATE TABLE addressbook (name VARCHAR, address VARCHAR);
DELETE
¥Æ¡¼¥Ö¥ëÆâ¤Î»ØÄꤷ¤¿¥ì¥³¡¼¥É¤òºï½ü¤·¤Þ¤¹¡£
DELETE FROM ¥Æ¡¼¥Ö¥ë̾ WHERE ¾ò·ï
- ¥Æ¡¼¥Ö¥ë̾
- ÂоݤΥơ¼¥Ö¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
- ¾ò·ï
- ºï½ü¤¹¤ë¥ì¥³¡¼¥É¤Î¾ò·ï¤ò»ØÄꤷ¤Þ¤¹¡£³ºÅö¤¹¤ë¥ì¥³¡¼¥É¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¤¹¤Ù¤Æ¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
Îã¡§
DELETE FROM addressbook WHERE name='hokousya';
DROP TABLE
¥Æ¡¼¥Ö¥ë¤òºï½ü¤·¤Þ¤¹¡£
DROP TABLE [IF EXISTS] ¥Æ¡¼¥Ö¥ë̾
- IF EXISTS
- ¤³¤ì¤òÉÕ¤±¤ë¤È¡¢»ØÄꤷ¤¿Ì¾Á°¤Î¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤·¤Ê¤¯¤Æ¤â¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
- ¥Æ¡¼¥Ö¥ë̾
- ºï½ü¤¹¤ë¥Æ¡¼¥Ö¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
Îã¡§
DROP TABLE addressbook
INSERT
¥Æ¡¼¥Ö¥ë¤Ë¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤Þ¤¹¡£
INSERT INTO ¥Æ¡¼¥Ö¥ë̾ (¥«¥é¥à̾[,¥«¥é¥à̾]...) VALUES (ÃÍ[,ÃÍ]...)
- ¥Æ¡¼¥Ö¥ë̾
- ÂоݤΥơ¼¥Ö¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
- ¥«¥é¥à̾
- ÃͤòÀßÄꤹ¤ë¥«¥é¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
- ÃÍ
- ¥«¥é¥à¤ËÀßÄꤹ¤ëÃͤò¥Õ¥£¡¼¥ë¥É¤ÈƱ¤¸Ê¤ӽç¤Ç»ØÄꤷ¤Þ¤¹¡£
Îã¡§
INSERT INTO addressbook (name, address) VALUES ('hokousya', 'Tokyo, Japan');
SELECT
¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ¤òɽ¼¨¤·¤Þ¤¹¡£
SELECT ¥«¥é¥à̾[,¥«¥é¥à̾]... FROM ¥Æ¡¼¥Ö¥ë̾ [WHERE ¾ò·ï]
- ¥«¥é¥à̾
- ɽ¼¨¤¹¤ë¥«¥é¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ * ¤Ç¤¹¤Ù¤Æ¤Î¥«¥é¥à¤òɽ¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥«¥é¥à̾¤ÎÂå¤ï¤ê¤Ë¼°¤òµ½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
- ¥Æ¡¼¥Ö¥ë̾
- ÂоݤΥơ¼¥Ö¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
- ¾ò·ï
- ɽ¼¨¤¹¤ë¥ì¥³¡¼¥É¤Î¾ò·ï¤ò»ØÄꤷ¤Þ¤¹¡£
Îã¡§
SELECT name, address FROM addressbook WHERE name = 'hokousya';
UPDATE
¥ì¥³¡¼¥É¤ÎÆâÍÆ¤òÊѹ¹¤·¤Þ¤¹¡£
UPDATE ¥Æ¡¼¥Ö¥ë̾ SET ¥«¥é¥à̾ = ɾ²Á¼°[, ¥«¥é¥à̾ = ɾ²Á¼°]... WHERE ¾ò·ï
- ¥Æ¡¼¥Ö¥ë̾
- ÂоݤΥơ¼¥Ö¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
- ¥«¥é¥à̾
- ¹¹¿·¤¹¤ë¥«¥é¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
- ɾ²Á¼°
- ÂåÆþ¤¹¤ëÃͤò»ØÄꤷ¤Þ¤¹¡£
- ¾ò·ï
- ɽ¼¨¤¹¤ë¥ì¥³¡¼¥É¤Î¾ò·ï¤ò»ØÄꤷ¤Þ¤¹¡£
Îã¡§
UPDATE addressbook SET address = 'Chiba, Japan' WHERE name = 'hokousya';
¤½¤Î¾¤Î SQL ¤ÎʸˡÍ×ÁÇ
ʸ»úÎó
SQL ¤Ç¤Ï¡¢Ê¸Ë¡Åª¤ËÌÀ¤é¤«¤Ê¾ì½ê¤Ç¤Ï°úÍÑÉä¤Ê¤·¤Çʸ»úÎó¤òµ½Ò¤Ç¤¤Þ¤¹¡£¤·¤«¤·¡¢Ê¸»úÎ󤬶õÇò¤ò´Þ¤à¾ì¹ç¤ä¡¢¥Ç¡¼¥¿¤È¤·¤Æ¤Îʸ»úÎ󤫥ª¥Ö¥¸¥§¥¯¥È̾¡Ê¥Æ¡¼¥Ö¥ë̾¤ä¥«¥é¥à̾¤Ê¤É¡Ë¤«¤¬Û£Ëæ¤Ê¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Îµ¬Â§¤Ç°úÍÑÉä¤òÍѤ¤¤Þ¤¹¡£
°úÍÑÉä | °ÕÌ£ |
---|---|
"¡Á"¡Ê¥À¥Ö¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó¡Ë | ¥ª¥Ö¥¸¥§¥¯¥È̾ |
'¡Á'¡Ê¥·¥ó¥°¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó¡Ë | ¥Ç¡¼¥¿¤È¤·¤Æ¤Îʸ»úÎó |
¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¤Ï¾åµ¤Î 2 ¤Ä¤òº®Æ±¤·¤Æ¤â¼«Æ°Åª¤ËȽÊ̤·¤Æ¤¯¤ì¤Þ¤¹¤¬¡¢´Ö°ã¤¤¤òËɤ°¤¿¤á¤Ë¤â¤¤Ã¤Á¤ê¤È»È¤¤Ê¬¤±¤ë¤Î¤¬ÌµÆñ¤Ç¤¹¡£
¥Ç¡¼¥¿·¿
SQL ¤Ç»È¤¨¤ë¥Ç¡¼¥¿·¿¤Ï¤«¤Ê¤êÊý¸À¤¬¤¢¤ê¤Þ¤¹¡£ºÇÄã¸Â¡¢°Ê²¼¤Î¤â¤Î¤òÇİ®¤·¤Æ¤ª¤±¤Ð¤Ê¤ó¤È¤«¤Ê¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¡£
·¿Ì¾ | ÊÝ»ý¤Ç¤¤ë¥Ç¡¼¥¿ | È÷¹Í |
---|---|---|
INTEGER | À°¿ôÃÍ | ¤¿¤¤¤Æ¤¤¤Ï 32bit À°¿ô |
REAL | ÉâÆ°¾®¿ôÅÀÃÍ | MySQL, SQLite ¤Ï 64bit, PostgreSQL ¤Ï 32bit |
VARCHAR(n) | ºÇÂç n ʸ»ú¤Îʸ»úÎó | SQLite ¤Ç¤Ï TEXT ¤ÈƱ¤¸ |
TEXT | ²ÄÊÑĹʸ»úÎó | |
BLOB | ¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿ | PostgreSQL ¤Ç¤Ï bytea ¤¬Æ±Åù |
À©Ìó
À©Ìó¤È¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤Ç¤¤ëÃͤξò·ï¤ò»ØÄꤷ¡¢¤½¤ì¤òËþ¤¿¤µ¤Ê¤¤Ãͤò³Î¼Â¤ËÃÆ¤¯¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£°Ê²¼¤Î¤â¤Î¤¬°ìÈÌŪ¤Ë»È¤¨¤ë¤è¤¦¤Ç¤¹¡£
À©Ìó | ¶Ø»ß¤µ¤ì¤ëÃÍ |
---|---|
NOT NULL | NULL |
UNIQUE | ¾¤Î¹Ô¤È½ÅÊ£¤¹¤ëÃÍ¡ÊNULL ¤ò½ü¤¯¡Ë |
PRIMARY KEY | ¾¤Î¹Ô¤È½ÅÊ£¤¹¤ëÃͤª¤è¤Ó NULL |
CHECK(¾ò·ï) | ¾ò·ï¤òËþ¤¿¤µ¤Ê¤¤ÃÍ |
¤Þ¤¿¡¢ÃͤÎÀ©Ìó°Ê³°¤ÎÌÜŪ¤Ç»ÈÍѤµ¤ì¤ëÀ©Ìó¤â¤¢¤ê¤Þ¤¹¡£Âåɽ¤¬ DEFAULT ¤Ç¡¢ INSERT ¤ÇÃͤ¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿ºÝ¤ËÀßÄꤵ¤ì¤ëÃͤ¬»ØÄê¤Ç¤¤Þ¤¹¡£ DEFAULT À©Ì󤬤ʤ¤¾ì¹ç¤Ï NULL ¤Ë¤Ê¤ê¤Þ¤¹¡£
À©Ìó¤Î¾ÜºÙ¤Ë´Ø¤·¤Æ¤Ï¡¢ PostgreSQL ¤Î¥Þ¥Ë¥å¥¢¥ë¤¬¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤¹¡£
¥¡¼¥ï¡¼¥É
»²¹Í
²òÀâ
- SQL¼ÂÁ©¹ÖºÂ
- ½é¿´¼ÔÍѥǡ¼¥¿¥Ù¡¼¥¹ÆþÌç
- SQL¤Ç½¸¹ç±é»»
- SQL¤Ç¿ôÎó¤ò°·¤¦
- SQL¥¤¥ó¥¸¥§¥¯¥·¥ç¥ó¤Ë¤è¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹Áàºî
- ¿·¤·¤¤¶È³¦É¸½à¡ÖSQL99¡×¾ÜºÙ²òÀâ
- ¥ê¥ì¡¼¥·¥ç¥Ê¥ë¡¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÀ¤³¦
¥ê¥Õ¥¡¥ì¥ó¥¹
¥»¥¥å¥ê¥Æ¥£¡¼
2008ǯ03·î30Æü(Æü) 23:35:49 Modified by sourcewalker