色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 對象存取

錢諍諍2年前14瀏覽0評論

MySQL是現今最流行的開源數據庫之一,它不僅支持關系型數據庫的存儲,還支持一些非關系型數據的存儲,比如對象存儲。本文將介紹MySQL如何進行對象存取。

在MySQL中使用對象存儲需要使用JSON格式,因此我們需要使用JSON組件來解析和序列化JSON格式的數據。

-- 創建表
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`info` json DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入數據
INSERT INTO `user` (`id`, `name`, `age`, `info`) VALUES
(1, '張三', 20, '{\"gender\":\"male\",\"phone\":\"123456789\",\"address\":\"北京市海淀區\"}'),
(2, '李四', 25, '{\"gender\":\"female\",\"phone\":\"987654321\",\"address\":\"上海市浦東新區\"}');
-- 查詢數據
SELECT id, name, age, info->"$.gender" AS gender, info->"$.phone" AS phone FROM user;

在上面的代碼中,我們創建了一個名為user的表,其中使用JSON類型的列存儲對象數據。在插入數據時,我們使用JSON格式的數據對info列進行了賦值。查詢時,我們使用->和$語法來獲取JSON對象中的屬性值。

除了使用->和$語法獲取屬性值之外,我們還可以使用MySQL提供的JSON函數來進行數據操作。

-- 添加屬性
UPDATE user SET info = JSON_SET(info, "$.email", "zhangsan@example.com") WHERE id = 1;
-- 刪除屬性
UPDATE user SET info = JSON_REMOVE(info, "$.phone") WHERE id = 1;
-- 檢索屬性
SELECT JSON_EXTRACT(info, "$.address") AS address FROM user WHERE id = 1;

上面的代碼中,我們使用JSON_SET函數來添加屬性,JSON_REMOVE函數來刪除屬性,JSON_EXTRACT函數來獲取屬性值。

總之,在MySQL中進行對象存取操作并不困難,只需要使用JSON格式存儲數據,并使用JSON函數來進行對象的增刪改查即可。