UUID: value is 128-bit quantity generated by an algorithm that make it unique
it relies on the third-party modules It is specific algorithms to generate UUIDs.
For example Let check uuid-ossp
module is installed or not . you use the CREATE EXTENSION
statement as follows:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
Code language: SQL (Structured Query Language) (sql)
The IF NOT EXISTS
clause allows you to avoid re-installing the module.
There is two funcation :
1:- uuid_generate_v1() :UUID values based on the combination of computer’s MAC address, current timestamp, and a random value,
2:- uuid_generate_v4
() :
UUID value solely based on random numbers
SELECT uuid_generate_v1();
Output :"67720950-16d7-11ec-967d-a0d3c1723253"
SELECT uuid_generate_v4();
Output :""01baeea1-1839-4bec-8ac9-3e69710ae1aa""
CREATE TABLE PHONE_BOOK (
contact_id uuid DEFAULT uuid_generate_v4 (),
first_name VARCHAR NOT NULL,
last_name VARCHAR NOT NULL,
email VARCHAR NOT NULL,
phone VARCHAR,
PRIMARY KEY (contact_id)
);
INSERT INTO contacts (first_name, last_name, email, phone) VALUES
( 'John',
'Smith',
'john.smith@example.com',
'408-237-2345'
);
JSON:
JSON stands for JavaScript Object Notation. JSON is an open standard format that consists of key-value pairs.
The main usage of JSON is to transport data between a server and a web application. Unlike other formats, JSON is human-readable text.
CREATE TABLE PIZZA (
id serial NOT NULL PRIMARY KEY,
info json NOT NULL
);
INSERT INTO PIZZA (info)
VALUES('{ "customer": "John Doe", "items": {"product": "Beer","qty": 6}}');
SELECT * FROM PIZZA1;
1"{ "customer": "John Doe", "items": {"product": "Beer","qty": 6}}"
2;"{ "customer": "Lily Bush", "items": {"product": "Diaper","qty": 24}}"
3;"{ "customer": "Josh William", "items": {"product": "Toy Car","qty": 1}}"
4;"{ "customer": "Mary Clark", "items": {"product": "Toy Train","qty": 2}}"
;
SELECT info ->> 'customer' as customer FROM PIZZA1
"John Doe"
"Lily Bush"
"Josh William"
"Mary Clark"
SELECT * FROM PIZZA where info ->> 'customer' = 'John Doe'
1;"{ "customer": "John Doe", "items": {"product": "Beer","qty": 6}}"
SELECT info ->> 'customer' FROM PIZZA where info ->> 'customer' = 'John Doe'
"John Doe"
SELECT info -> 'items' ->> 'product' as items FROM PIZZA
where info -> 'items' ->> 'product' = 'Beer'
"Beer"
SELECT info -> 'items' ->> 'product' as items ,info -> 'items' ->> 'qty' as product
FROM PIZZA ORDER BY product;
"Toy Car";"1"
"Toy Train";"2"
"Diaper";"24"
"Beer";"6"
SELECT info -> 'customer' AS customer
FROM PIZZA;
""John Doe""
""Lily Bush""
""Josh William""
""Mary Clark""
SELECT info ->> 'customer' AS customer FROM PIZZA;
"John Doe"
"Lily Bush"
"Josh William"
"Mary Clark"
SELECT info -> 'items' ->> 'product' as product
FROM PIZZA ORDER BY product;
"Beer"
"Diaper"
"Toy Car"
"Toy Train"
SELECT info ->> 'customer' AS customer, info -> 'items' ->> 'product' AS product FROM PIZZA
WHERE CAST ( info -> 'items' ->> 'qty' AS INTEGER) = 2
"Mary Clark";"Toy Train"
SELECT
MIN (CAST (info -> 'items' ->> 'qty' AS INTEGER)),
MAX (CAST (info -> 'items' ->> 'qty' AS INTEGER)),
SUM (CAST (info -> 'items' ->> 'qty' AS INTEGER)),
AVG (CAST (info -> 'items' ->> 'qty' AS INTEGER))
FROM orders;
Output: 1;24;33;8.2500000000000000
No comments:
Post a Comment