MySQL Workbench va CLI — asosiy ishlatish
Muammodan boshlaylik
MySQL o'rnatildi va ishlayapti. Endi u bilan qanday "gaplashamiz"? Ikki asosiy yo'l bor:
- CLI (Command Line Interface) — terminaldagi
mysqldasturi. Tez, har qanday serverda bor, skriptlarda ishlatiladi - GUI (grafik interfeys) — MySQL Workbench, DBeaver, TablePlus, HeidiSQL. Jadvallarni ko'rish, so'rovlarni qulay yozish, natijalarni jadval ko'rinishida ko'rish
Professional dasturchi ikkalasini ham ishlatadi. Bu darsda har birining asoslarini o'rganamiz.
CLI — mysql dasturi
Ulanish
mysql -u root -p # localhost, parol so'raladi
mysql -u root -p dokon # to'g'ridan-to'g'ri dokon bazasiga
mysql -h 192.168.1.50 -P 3306 -u app -p # boshqa serverga
| Parametr | Ma'nosi |
|---|---|
-u |
Foydalanuvchi |
-p |
Parol so'ralsin (parolni shu yerda yozmang — terminal tarixida qoladi) |
-h |
Server manzili (standart: localhost) |
-P |
Port (katta P!) |
Asosiy buyruqlar
SHOW DATABASES; -- barcha bazalar
CREATE DATABASE dokon; -- yangi baza
USE dokon; -- shu bazada ishlash
SHOW TABLES; -- bazadagi jadvallar
DESCRIBE mahsulotlar; -- jadval tuzilmasi (qisqa: DESC mahsulotlar;)
SHOW CREATE TABLE mahsulotlar; -- jadvalni yaratgan to'liq SQL
SELECT DATABASE(); -- hozir qaysi bazadaman?
Qoidalar
- Har bir buyruq
;bilan tugaydi.;siz Enter bossangiz — MySQL keyingi qatorni kutadi (->belgisi chiqadi) - Buyruqni bekor qilish:
\cva Enter - SQL kalit so'zlari harfga sezgir emas:
select=SELECT. Lekin odat bo'yicha katta harf bilan yoziladi — o'qish oson - Jadval va ustun nomlari Linux serverda harfga sezgir bo'lishi mumkin — doim kichik harf ishlating
Natijani vertikal ko'rish
Ustunlar ko'p bo'lsa, jadval ekranga sig'maydi. ; o'rniga \G:
SELECT * FROM mahsulotlar WHERE id = 1\G
*************************** 1. row ***************************
id: 1
nom: Telefon
narx: 3200000
soni: 5
SQL faylni bajarish
Ko'p SQL buyruqlarni faylga yozib, bir marta bajarish:
mysql -u root -p dokon < schema.sql
Yoki MySQL ichida:
SOURCE /yol/schema.sql;
MySQL Workbench
Oracle ning rasmiy bepul GUI dasturi. Windows da MySQL Installer bilan birga o'rnatiladi; boshqa tizimlarda — https://dev.mysql.com/downloads/workbench/
Ulanish
- Bosh oynada MySQL Connections yonidagi +
- Connection Name:
Local(istalgan nom) - Hostname:
127.0.0.1, Port:3306, Username:root - Test Connection → parol → OK
Asosiy oyna
┌───────────────┬──────────────────────────────────────┐
│ Navigator │ SQL muharriri │
│ │ SELECT * FROM mahsulotlar; │
│ ▸ SCHEMAS │ │
│ ▸ dokon ├──────────────────────────────────────┤
│ ▸ Tables │ Natija (Result Grid) │
│ │ id | nom | narx │
│ │ 1 | Telefon | 3200000 │
└───────────────┴──────────────────────────────────────┘
- Navigator → Schemas — bazalar va jadvallar daraxti. Jadvalni o'ng tugma → "Select Rows" — tezda ko'rish
- SQL muharriri — so'rovlarni yozish
- Result Grid — natija jadvali; to'g'ridan-to'g'ri tahrirlash mumkin
Muhim tugmalar
| Tugma | Amal |
|---|---|
Ctrl + Enter |
Kursor turgan bitta so'rovni bajarish |
Ctrl + Shift + Enter |
Muharrirdagi barcha so'rovlarni bajarish |
Ctrl + B |
SQL ni chiroyli formatlash |
Ctrl + / |
Izohga olish |
[!WARNING] Workbench standart holatda Safe Updates rejimida ishlaydi:
WHEREsiz yoki primary key ishlatmaganUPDATE/DELETEni bajarmaydi (Error Code: 1175). Bu sizni butun jadvalni tasodifan o'chirishdan himoya qiladi. O'chirmang — bu foydali.
Foydali imkoniyatlar
- Database → Reverse Engineer — mavjud bazadan ER diagramma chizadi (48-dars)
- Server → Data Export / Import — backup (52-dars)
- So'rov natijasini Export — CSV, JSON, Excel ga
- Explain (chaqmoq + lupa belgisi) — so'rov qanday bajarilishini ko'rsatadi (32-dars)
Boshqa GUI vositalar
| Vosita | Platforma | Xususiyati |
|---|---|---|
| DBeaver | Hammasi | Bepul, MySQL, PostgreSQL, SQLite — hammasi bitta joyda |
| TablePlus | Mac, Windows | Tez, chiroyli; bepul versiya cheklangan |
| HeidiSQL | Windows | Yengil, Laragon bilan keladi |
| phpMyAdmin | Brauzer | XAMPP va hostinglarda; veb-interfeys |
| DataGrip | Hammasi | JetBrains, pullik, eng kuchli avtoto'ldirish |
Qaysi birini tanlashingiz muhim emas — SQL hamma joyda bir xil.
Birinchi mashq
Kurs davomida ishlatadigan bazamizni yarating:
CREATE DATABASE dokon CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE dokon;
CREATE TABLE mahsulotlar (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
narx INT NOT NULL
);
INSERT INTO mahsulotlar (nom, narx) VALUES
('Telefon', 3200000),
('Quloqchin', 249000),
('Noutbuk', 8900000);
SELECT * FROM mahsulotlar;
+----+-----------+---------+
| id | nom | narx |
+----+-----------+---------+
| 1 | Telefon | 3200000 |
| 2 | Quloqchin | 249000 |
| 3 | Noutbuk | 8900000 |
+----+-----------+---------+
3 rows in set (0.00 sec)
Bu buyruqlarning har birini keyingi darslarda batafsil o'rganamiz.
Nima uchun shunday?
Nima uchun GUI bo'lsa ham CLI ni o'rganish kerak?
Chunki server — odatda grafik interfeysi yo'q masofadagi Linux mashina. U yerga SSH orqali kirasiz va faqat terminal bor. Backup skriptlari, avtomatik migratsiyalar, CI/CD — hammasi CLI orqali ishlaydi. Bundan tashqari, CLI da ishlash SQL ni yod olishga majbur qiladi: GUI dagi tugmalar ortida aslida xuddi shu SQL buyruqlari turadi.
Xulosa
Eslab qoling:
mysql -u root -p baza— CLI orqali ulanishSHOW DATABASES,USE,SHOW TABLES,DESCRIBE— yo'nalish olish- Har bir buyruq
;bilan;\G— vertikal natija;\c— bekor qilish mysql ... < fayl.sql— SQL faylni bajarish- Workbench:
Ctrl + Enter— bitta so'rov; Safe Updates ni o'chirmang - SQL kalit so'zlari — KATTA harfda, nomlar — kichik harfda
Keyingi dars
4-dars: Ma'lumot turlari — INT, VARCHAR, TEXT, DATE, BOOLEAN, ENUM, JSON