💻 SQLite CLI bilan ishlash

SQLite CLI ni ishga tushirish

1. Ma'lumotlar bazasini ochish

# Yangi ma'lumotlar bazasi yaratish
sqlite3 mydatabase.db

# Mavjud ma'lumotlar bazasini ochish
sqlite3 existing_database.db

# Xotira bazasini ochish (vaqtinchalik)
sqlite3 :memory:

2. SQLite prompt

SQLite CLI ishga tushganda siz quyidagicha prompt ko'rasiz:

SQLite version 3.39.0 2022-06-25 14:57:56
Enter ".help" for usage hints.
sqlite>

Asosiy ishlar

Jadval yaratish

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT UNIQUE,
    age INTEGER,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Ma'lumot qo'shish

INSERT INTO users (name, email, age) VALUES 
('Ali Valiyev', '[email protected]', 25),
('Malika Karimova', '[email protected]', 30),
('Bobur Toshmatov', '[email protected]', 28);

Ma'lumotlarni ko'rish

# Barcha ma'lumotlar
SELECT * FROM users;

# Belgili ustunlar
SELECT name, email FROM users;

# Shart bilan
SELECT * FROM users WHERE age > 25;

CLI sozlamalari

Ko'rinish sozlamalari

# Sarlavhalarni yoqish
.headers on

# Jadval formatida ko'rsatish
.mode table

# CSV formatida
.mode csv

# JSON formatida
.mode json

Natijani faylga saqlash

# Natijani faylga saqlash
.output results.txt
SELECT * FROM users;
.output stdout

# Ekranga qaytarish
.output stdout

Foydali buyruqlar

Ma'lumotlar bazasi haqida ma'lumot

# Ma'lumotlar bazalari
.databases

# Jadvallar
.tables

# Jadval strukturasi
.schema users

# Hozirgi sozlamalar
.show

Ma'lumotlarni yangilash va o'chirish

# Ma'lumotni yangilash
UPDATE users SET age = 26 WHERE name = 'Ali Valiyev';

# Ma'lumotni o'chirish
DELETE FROM users WHERE age < 25;

# Barcha ma'lumotlarni o'chirish
DELETE FROM users;

Amaliy misol

# SQLite ni ishga tushirish
sqlite3 company.db

# Sozlamalarni o'rnatish
.headers on
.mode table

# Jadvallar yaratish
CREATE TABLE employees (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    position TEXT,
    salary REAL,
    department_id INTEGER
);

CREATE TABLE departments (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    location TEXT
);

# Ma'lumotlar qo'shish
INSERT INTO departments (name, location) VALUES 
('IT', 'Toshkent'),
('Marketing', 'Samarqand'),
('Sales', 'Buxoro');

INSERT INTO employees (name, position, salary, department_id) VALUES 
('Ahmad Karimov', 'Developer', 5000, 1),
('Malika Toshmatova', 'Designer', 4500, 1),
('Bobur Valiyev', 'Manager', 6000, 2);

# Ma'lumotlarni ko'rish
SELECT * FROM employees;
SELECT * FROM departments;

# JOIN so'rov
SELECT e.name, e.position, d.name as department 
FROM employees e 
JOIN departments d ON e.department_id = d.id;

# Chiqish
.quit

CLI afzalliklari

CLI cheklovlari