Json in Postgresql: The Ultimate Guide


How to Delete from a JSON Field in PostgreSQL



Download 157,64 Kb.
Pdf ko'rish
bet11/13
Sana11.04.2022
Hajmi157,64 Kb.
#543559
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
postgresql json

How to Delete from a JSON Field in PostgreSQL 
There are two DELETE operations you can do when working with JSON fields: 

delete an attribute from a JSON field 

delete a row from your table 
Deleting a Row using JSON_VALUE 
Deleting a row from your table is done in the same way as regular SQL. You can write an SQL 
statement to delete the row that matches your ID, or using the notation. 
For example, to delete all rows where the color attribute is brown: 
DELETE FROM product 
WHERE attributes ->> 'color' = 'brown'; 
This will remove the matching records from the table. 
Removing an Attribute from a JSON Field 
The other way to delete JSON data is to remove an attribute from a JSON field. 
This is different to updating, as you're removing the attribute entirely rather than just updating its 
value to something else. 
We can remove an attribute from a JSON field using the - operator. We use the UPDATE 
statement and update the JSON field with the - operator and the key we want to remove. 
For example, here's our Chair product. 
Let's say we want to remove the "height" attribute. We can do this by writing an update statement 
and removing it. 
UPDATE product 
21 
id 
product_name 
attributes 

Chair 
{"color": "brown", "height": "60cm", "material": "wood"} 


JSON in PostgreSQL 
SET attributes = attributes - 'height' 
WHERE id = 1; 
After we run this statement, we can check our table again. 
The height attribute has been removed. 
Improve the Performance of JSON Queries 
The JSON support and features in PostgreSQL are pretty good, and each version includes more 
features. 
So, given that you can add JSON columns to tables, extract fields, and get all the flexibility of JSON 
fields with validation, wouldn't it be better to just store all of your data in JSON fields rather than 
normalised tables? 
Well, sometimes that might be a good idea. But then you may be better off using a NoSQL 
database rather than PostgreSQL. 
Another reason why using primarily JSON fields to store your data is not a good idea is that it can 
struggle with performance. 
Select Performance 
For example, let's say we want to select all products where the color is brown. We can use the ->> 
operator in the WHERE clause that we saw earlier in this guide: 
SELECT 
id, 
product_name, 
attributes 
FROM product 
WHERE attributes ->> 'color' = 'brown'; 
Here is the query plan for this. 
22 

Download 157,64 Kb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish