MySQL中有一種數據類型叫做map,也被稱作字典或關聯數組。它是一種無序的key-value數據結構。在MySQL中,map數據類型可以使用JSON格式表示。
CREATE TABLE test (info JSON); INSERT INTO test VALUES ('{"name":"Tom", "age":18, "gender":"male"}'); SELECT * FROM test; +----------------------------------+ | info | +----------------------------------+ | {"name": "Tom", "age": 18, "gender": "male"}| +----------------------------------+
可以看到,用JSON格式表示的map數據類型在MySQL中是非常方便的。當需要在一個字段中存儲多個元素時,這種數據類型非常適合使用。在MySQL8.0版本之前,沒有專門的map數據類型,但是可以使用JSON函數來模擬。
下面是一個例子:
CREATE TABLE test_map ( id INT PRIMARY KEY, info JSON ); INSERT INTO test_map VALUES (1, '{"a": 1, "b": "hello"}'); INSERT INTO test_map VALUES (2, '{"x": 3, "y": "world"}'); SELECT *, JSON_EXTRACT(info, '$."a"') AS a, JSON_EXTRACT(info, '$."b"') AS b FROM test_map; +----+-------------------------+------+-------+ | id | info | a | b | +----+-------------------------+------+-------+ | 1 | {"a": 1, "b": "hello"} | 1 | hello | | 2 | {"x": 3, "y": "world"} | NULL | NULL | +----+-------------------------+------+-------+
以上就是MySQL中map數據類型的一些介紹和示例,希望能對大家有所幫助。