C語言和PostgreSQL是許多開發(fā)人員經(jīng)常使用的語言和數(shù)據(jù)庫。MySQL和MongoDB在處理JSON格式數(shù)據(jù)時(shí)很方便,但PostgreSQL在處理JSON時(shí)也同樣有效。為了處理JSON格式數(shù)據(jù),PostgreSQL引入了一個(gè)稱為JSON類型的新數(shù)據(jù)類型。
CREATE TABLE students ( id SERIAL PRIMARY KEY, name TEXT, subjects JSON );
上面的代碼塊創(chuàng)建了一個(gè)名為students的表,其中包含id,name和subjects。subjects字段是JSON數(shù)據(jù)類型。在此處,PostgreSQL不清楚subjects字段中包含的數(shù)據(jù)類型。subject字段可以包含一個(gè)整數(shù)、字符串或數(shù)組。
INSERT INTO students (name, subjects) VALUES ( 'Tom', '{"subject1": "math", "subject2": "english"}' );
上面的代碼塊演示了如何向students表中添加數(shù)據(jù)。如果要轉(zhuǎn)換為JSON格式,請(qǐng)將subject字段括在大括號(hào)中。
SELECT * FROM students
上面的代碼塊檢索students表中的數(shù)據(jù)。subjects字段返回JSON字符串,我們需要使用JSON函數(shù)將其轉(zhuǎn)換為JSON對(duì)象。
SELECT subjects->'subject1' as subject1 FROM students
上面的代碼塊選擇JSON對(duì)象中的subject1鍵值對(duì)。subjects->'subject1'是選擇JSON對(duì)象中的值的語法。
總之,通過PostgreSQL和JSON類型,可以在數(shù)據(jù)表中輕松存儲(chǔ)、檢索和使用JSON格式數(shù)據(jù)。