SQLite hech qanday sozlash talab qilmaydi. Faqat faylni yarating va ishlatishni boshlang.
# Faqat bitta buyruq
sqlite3 mydatabase.db
Alohida server o'rnatish va boshqarish shart emas. Ma'lumotlar bazasi fayl sifatida ishlaydi.
# Server yo'q, faqat fayl
ls -la mydatabase.db
-rw-r--r-- 1 user user 8192 Jan 15 10:30 mydatabase.db
SQLite juda kichik hajmda - atigi ~1MB. Bu uni mobile ilovalar uchun ideal qiladi.
# SQLite hajmi
du -h sqlite3
1.2M sqlite3
Kichik va o'rta hajmdagi loyihalar uchun SQLite juda tez ishlaydi.
# 100,000 qatorni 0.1 soniyada o'qish
SELECT COUNT(*) FROM large_table;
-- Natija: 0.1s
Ma'lumotlar yaxlitligini to'liq ta'minlaydi. Barcha operatsiyalar xavfsiz.
# Transaction misoli
BEGIN TRANSACTION;
INSERT INTO users (name) VALUES ('Ali');
INSERT INTO users (name) VALUES ('Malika');
COMMIT; -- Barcha operatsiyalar muvaffaqiyatli
Windows, macOS, Linux, Android, iOS - hamma joyda ishlaydi.
# Har qanday OS da bir xil
sqlite3 database.db
SELECT * FROM users;
To'liq bepul, hech qanday litsenziya to'lovi yo'q. Ixtiyoriy loyihada ishlatish mumkin.
SQLite bir vaqtda faqat bitta foydalanuvchi yozish mumkin. Ko'p foydalanuvchi yozsa, biri kutishga majbur.
# Bu muammo keltirib chiqaradi
-- Foydalanuvchi 1:
INSERT INTO users (name) VALUES ('Ali');
-- Foydalanuvchi 2 (bir vaqtda):
INSERT INTO users (name) VALUES ('Malika'); -- Kutishga majbur
SQLite fayl darajasida ishlaydi. Tarmoq orqali ulanish imkoniyati yo'q.
# Bu ishlamaydi
sqlite3 //remote-server/database.db # ❌ Xato
Foydalanuvchi yaratish, ruxsatlar berish, parollar o'rnatish imkoniyati yo'q.
# Bu buyruqlar ishlamaydi
CREATE USER admin; -- ❌ Xato
GRANT SELECT ON users TO admin; -- ❌ Xato
Murakkab biznes mantiqini ma'lumotlar bazasida saqlash imkoniyati yo'q.
# Bu ishlamaydi
CREATE PROCEDURE calculate_total() -- ❌ Xato
BEGIN
-- Protsedura kodi
END;
Ustun o'chirish, ma'lumot turini o'zgartirish kabi operatsiyalar cheklangan.
# Bu ishlamaydi
ALTER TABLE users DROP COLUMN phone; -- ❌ Xato
ALTER TABLE users MODIFY COLUMN age VARCHAR(10); -- ❌ Xato
Terabyte hajmdagi ma'lumotlar bilan ishlash qiyin. Performance tez pasayadi.
# 1TB ma'lumot bilan ishlash qiyin
SELECT * FROM huge_table; -- Sekin ishlaydi