JSON

MySQL5.7 JSONÀàÐÍʹÓýéÉÜ Ä«¼£js

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£ºH5Ö®¼Ò 2015-11-12 14:55 ÎÒÒªÆÀÂÛ( )

JSONÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ£¬²ÉÓÃÁ˶ÀÁ¢ÓÚÓïÑÔµÄÎı¾¸ñʽ£¬ÀàËÆXML£¬µ«ÊDZÈXML¼òµ¥£¬Ò×¶Á²¢ÇÒÒ×±àд¡£

JSONÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ£¬²ÉÓÃÁ˶ÀÁ¢ÓÚÓïÑÔµÄÎı¾¸ñʽ£¬ÀàËÆXML£¬µ«ÊDZÈXML¼òµ¥£¬Ò×¶Á²¢ÇÒÒ×±àд¡£¶Ô»úÆ÷À´ËµÒ×ÓÚ½âÎöºÍÉú³É£¬²¢ÇÒ»á¼õÉÙÍøÂç´ø¿íµÄ´«Êä¡£
JSONµÄ¸ñʽ·Ç³£¼òµ¥£ºÃû³Æ/¼üÖµ¡£Ö®Ç°MySQL°æ±¾ÀïÃæÒªÊµÏÖÕâÑùµÄ´æ´¢£¬ÒªÃ´ÓÃVARCHARҪôÓÃTEXT´óÎı¾¡£ MySQL5.7·¢²¼ºó£¬×¨ÃÅÉè¼ÆÁËJSONÊý¾ÝÀàÐÍÒÔ¼°¹ØÓÚÕâÖÖÀàÐ͵ļìË÷ÒÔ¼°ÆäËûº¯Êý½âÎö¡£ ÎÒÃÇÏÈ¿´¿´MySQLÀϰ汾µÄJSON´æÈ¡¡£

ʾÀý±í½á¹¹£º

CREATE TABLE json_test( id INT, person_desc TEXT )ENGINE INNODB;

ÎÒÃÇÀ´²åÈëÒ»Ìõ¼Ç¼£º
I NSERT INTO json_test VALUES (1,'{ "programmers": [{ "firstName": "Brett", "lastName": "McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName": "Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName": "Harold", "email": "cccc" }], "authors": [{ "firstName": "Isaac", "lastName": "Asimov", "genre": "sciencefiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christianfiction" }], "musicians": [{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }] }');

ÄÇÒ»°ãÎÒÃÇÓöµ½ÕâÑùÀ´´æ´¢JSON¸ñʽµÄ»°£¬Ö»ÄܰÑÕâÌõ¼Ç¼ȡ³öÀ´½»¸öÓ¦ÓóÌÐò£¬ÓÐÓ¦ÓóÌÐòÀ´½âÎö¡£

ÏÖÔÚµ½ÁËMySQL5.7£¬ÎÒÃÇÖØÐÂÐÞ¸Äϱí½á¹¹£º

ALTER TABLE json_test MODIFY person_desc json;

ÏÈ¿´¿´²åÈëµÄÕâÐÐJSONÊý¾ÝÓÐÄÄЩKEY£º mysql> SELECT id,json_keys(person_desc) as "keys" FROM json_test\G *************************** 1. row *************************** id: 1 keys: ["authors", "musicians", "programmers"] 1 row in set (0.00 sec)

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÀïÃæÓÐÈý¸öKEY£¬·Ö±ðΪauthors£¬musicians£¬programmers¡£ÄÇÏÖÔÚÕÒÒ»¸öKEY°Ñ¶ÔÓ¦µÄÖµÄóöÀ´£º mysql> SELECT json_extract(AUTHORS,'$.lastName[0]') AS 'name', AUTHORS FROM -> ( -> SELECT id,json_extract(person_desc,'$.authors[0][0]') AS "authors" FROM json_test -> UNION ALL -> SELECT id,json_extract(person_desc,'$.authors[1][0]') AS "authors" FROM json_test -> UNION ALL -> SELECT id,json_extract(person_desc,'$.authors[2][0]') AS "authors" FROM json_test -> ) AS T1 -> ORDER BY NAME DESC\G *************************** 1. row *************************** name: "Williams" AUTHORS: {"genre": "fantasy", "lastName": "Williams", "firstName": "Tad"} *************************** 2. row *************************** name: "Peretti" AUTHORS: {"genre": "christianfiction", "lastName": "Peretti", "firstName": "Frank"} *************************** 3. row *************************** name: "Asimov" AUTHORS: {"genre": "sciencefiction", "lastName": "Asimov", "firstName": "Isaac"} 3 rows in set (0.00 sec)

ÏÖÔÚÀ´°ÑÏêϸµÄÖµÂÞÁгöÀ´£º mysql> SELECT -> json_extract(AUTHORS,'$.firstName[0]') AS "firstname", -> json_extract(AUTHORS,'$.lastName[0]') AS "lastname", -> json_extract(AUTHORS,'$.genre[0]') AS "genre" -> FROM -> ( -> SELECT id,json_extract(person_desc,'$.authors[0]') AS "authors" FROM json _test -> ) AS T\G *************************** 1. row *************************** firstname: "Isaac" lastname: "Asimov" genre: "sciencefiction" 1 row in set (0.00 sec)

ÎÒÃǽøÒ»²½À´ÑÝʾ°Ñauthors Õâ¸öKEY¶ÔÓ¦µÄËùÓжÔÏóɾµô¡£

mysql> UPDATE json_test -> SET person_desc = json_remove(person_desc,'$.authors')\G Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

²éÕÒ϶ÔÓ¦µÄKEY£¬·¢ÏÖÒѾ­±»É¾³ýµôÁË¡£ mysql> SELECT json_contains_path(person_desc,'all','$.authors') as authors_exist s FROM json_test\G *************************** 1. row *************************** authors_exists: 0 1 row in set (0.00 sec)

×ܽáÏ£¬ ËäÈ»MySQL5.7 ¿ªÊ¼Ö§³ÖJSONÊý¾ÝÀàÐÍ£¬µ«ÊÇÎÒ½¨ÒéÈç¹ûҪʹÓõϰ£¬×îºÃÊǰÑÕâÑùµÄֵȡ³öÀ´£¬È»ºóÔÚÓ¦ÓóÌÐò¶ÎÀ´¼ÆË㣬±Ï¾¹Êý¾Ý¿âÊÇÓÃÀ´´¦Àí¼òµ¥Êý¾ÝµÄ¡£

×÷Õߣºyueliangdao0608 ·¢±íÓÚ2015/11/10 15:10:01 Ô­ÎÄÁ´½Ó

ÔĶÁ£º0 ÆÀÂÛ£º0 ²é¿´ÆÀÂÛ

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎ×ªÔØµÄ¸å¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬Çë×ªÔØÊ±Îñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • php CI ʵս½Ì³Ì£º[5]ÓÃcurl»ñÈ¡json²¢½âÎö

    php CI ʵս½Ì³Ì£º[5]ÓÃcurl»ñÈ¡json²¢½âÎö

    2016-02-26 17:00

  •  JSONÈëÃż¶Ñ§Ï°×ܽá-JSONÊý¾Ý½á¹¹

    JSONÈëÃż¶Ñ§Ï°×ܽá-JSONÊý¾Ý½á¹¹

    2016-02-25 11:05

  • Android½âÎöJsonËÙ¶È×î¿ìµÄ¿â:json

    Android½âÎöJsonËÙ¶È×î¿ìµÄ¿â:json

    2016-02-13 18:00

  • JavaScriptת»»Óë½âÎöJSON·½·¨ÊµÀýÏê½âµÚ1/2Ò³

    JavaScriptת»»Óë½âÎöJSON·½·¨ÊµÀýÏê½âµÚ1/2Ò³

    2016-02-10 21:25

ÍøÓѵãÆÀ
ø