Pg jadval yaratish
CREATE TABLE my_contacts (
last_name VARCHAR(50),
first_name VARCHAR(50),
email VARCHAR(50),
birthday DATE,
profession VARCHAR(30),
location VARCHAR(60),
status VARCHAR(20),
interests VARCHAR(200),
seeking VARCHAR(200)
);
π3
\d
- Bazadagi jadvallarni ko'rsatadi\l
- Bazadagi userlarni ko'rsatadi\c
- Bazaga kirish uchunπ2
PostgreSQL da malumot turlari.
1. TEXT malumot turi asosan matn uchun ishlatiladi
Kiritiladigan qiymatlarda limit bolganda ishlatiladi.
Kiritiladigan qiymatlarda limit bo'lmaganda ishlatiladi va asosan matnlarani qabul qiladi.
bu
farqi bunda biz bergan limitgacha joy oladi masalan biz kitob so'zini beradigan bo'lsak kitob so'zi 5 harfdan iborat lekin bu joyda 10 limit bergan bo'lsangiz pg kitobdan keyin yana 5 ta probel tashlab qo'shib qo'yadi
2. INT - butun sonlar uchun ishlatiladi va 3 xil malumot turi mavjud
-2,147,483,648 dan 2,147,483,648 gacha sonlarni qabul qiladi
-32,768 dan 32,768 gacha sonlarni qabul qiladi
eng katta sonlarni qabul qiladi
3. SERIAL - INT bilan bir xil lekin PostgreSQL ning o'zi avtomatik ravishda qo'shib boradigan malumot turi hisoblanada va bu boshqa malumotlar bazalarida AUTOINCREMENT deb nomlanadi. Shu jumladan buning ham 3 ta turi mavjud:
-
1. TEXT malumot turi asosan matn uchun ishlatiladi
VARCHAR
- Variable CharacterKiritiladigan qiymatlarda limit bolganda ishlatiladi.
TEXT
- Matn uchunKiritiladigan qiymatlarda limit bo'lmaganda ishlatiladi va asosan matnlarani qabul qiladi.
CHAR
- So'zlar uchunbu
VARCHAR
bilan birxil.farqi bunda biz bergan limitgacha joy oladi masalan biz kitob so'zini beradigan bo'lsak kitob so'zi 5 harfdan iborat lekin bu joyda 10 limit bergan bo'lsangiz pg kitobdan keyin yana 5 ta probel tashlab qo'shib qo'yadi
2. INT - butun sonlar uchun ishlatiladi va 3 xil malumot turi mavjud
INT
- son-2,147,483,648 dan 2,147,483,648 gacha sonlarni qabul qiladi
SMALLINT
- son-32,768 dan 32,768 gacha sonlarni qabul qiladi
BIGINT
- soneng katta sonlarni qabul qiladi
3. SERIAL - INT bilan bir xil lekin PostgreSQL ning o'zi avtomatik ravishda qo'shib boradigan malumot turi hisoblanada va bu boshqa malumotlar bazalarida AUTOINCREMENT deb nomlanadi. Shu jumladan buning ham 3 ta turi mavjud:
-
SMALLSERIAL
- SERIAL
- BIGSERIAL
π3
DROP TABLE table_name;
- Bazadagi jadvalni o'chirib beradi.DROP DATABASE database_name;
- Bazani o'chirib beradi.π1
AND va OR operatorlari.
AND
- operatori biz bergan column va value ga mos bolgan malumotlarni olib beradi. Va biz bergan ma'lumotlar bitta row ga tegishli bo'lishi shart.SELECT first_name, last_name FROM my_contacts WHERE profession = 'doctor' AND profession = 'backend-dev';
OR
- operatori biz bergan column va value ga mos bo'lgan malumotlarni olib beradi va biz bergan ma'lumotlar bittadan kop rowlarga ham tegishli bo'ladi.SELECT first_name, last_name FROM my_contacts WHERE profession = 'doctor' OR interests = 'programming';
β€2π2π1
LIKE - operatori.
LIKE
- operatori biz bergan value ga qarab bazadan shunga o'xshash malumotlarni topib beradi.SELECT * FROM my_contacts WHERE last_name LIKE '%ov';
Bu sorov bizga ov bilan tugagan malumotlarni olib beradi. Ya'ni % ('foiz') belgisidan oldin qandaydir so'z bor lekin u so'z ov bilan tugagan bo'lsa o'sha malumotlarni bizga chiqarib beradi.SELECT * FROM my_contacts WHERE interests LIKE 'football%';
Bu so'rov bizga biz ko'rsatgan column ya'ni interests ning ichidan football so'zi bilan boshlangan barcha malumotlarni olib beradi.SELECT * FROM my_contacts WHERE first_name LIKE 'T%m';Bu so'rov biz ko'rsatgan value bo'yicha columndan T bilan boshlangan va m bilan tugagan natijalarni qaytaradi.
π4
PostgreSQL Tutorial
LIKE - operatori. LIKE - operatori biz bergan value ga qarab bazadan shunga o'xshash malumotlarni topib beradi. SELECT * FROM my_contacts WHERE last_name LIKE '%ov'; Bu sorov bizga ov bilan tugagan malumotlarni olib beradi. Ya'ni % ('foiz') belgisidan oldinβ¦
SELECT * FROM my_contacts WHERE last_name NOT LIKE '%ov';Bu so'rov bizga last_name columnida ov bilan tugamagan malumotlarni chiqarib beradi.
π4
IN - operatori.
IN
- operatori biz bergan value ga mos va column ichida mavjud bo'lgan malumotlarni chaqirish uchun ishlatiladi.SELECT * FROM my_contacts WHERE profession IN ('driver', 'cheef', 'backend-dev');
Agar siz IN ning ichidagi malumotlar bor column larni chiqarmasligingiz kerak bo'lib qolsa unda NOT IN
dan foydalanib ketishingiz mumkin bo'ladi.SELECT * FROM my_contacts WHERE profession NOT IN ('driver', 'cheef', 'backend-dev');
π7
1. SUM - bu biz ko'rsatib o'tgan column bo'yicha hammasini hisoblab beradi. Masalan bizda narxlar degan column mavjud bo'ladigan bo'lsa undagi hamma narxlarni qo'shib jami narxni hisoblab beradi.
SELECT SUM(price) FROM example_table;
2. ORDER BY - bu biz ko'rsatib o'tgan column bo'yicha agar value lar text bolsa alifbo tartibida chiqarib beradi, agar raqam bo'lsa kichikdan kattaga qarab saralab chiqarib beradi.SELECT * FROM example_table ORDER BY type;
3. ORDER BY, DESC - bu biz ko'rsatib o'tgan column bo'yicha agar value text bo'lsa alifboga teskariga tartibda saralab beradi, agar son bo'lsa ya'ni integer bo'lsa kattadan kichikka qarab saralab beradi.SELECT * FROM exampl_table ORDER BY type DESC;
π4
π8π2π1