MySQL гэж юу вэ?
MySQL бол дэлхийд хамгийн өргөн хэрэглэгддэг relational database management system (RDBMS) — харилцааны өгөгдлийн сангийн удирдлагын систем юм. Facebook, Twitter, YouTube, WordPress бүгд MySQL дээр суурилдаг.
MySQL нь мэдээллийг хүснэгт (table) хэлбэрт хадгалдаг — Excel-ийн хүснэгттэй төстэй боловч хамаагүй хүчирхэг.
Өгөгдлийн сан гэж юу вэ?
Өгөгдлийн сан (database) бол мэдээллийг зохион байгуулалттайгаар хадгалах, хурдан олж авах систем юм.
Жишээ: Онлайн дэлгүүрийн нэхэмжлэлийн систем:
- Хэрэглэгч бүр нэр, и-мэйл, хаяг гэх мэт мэдээлэлтэй
- Бараа бүр нэр, үнэ, нөөц гэх мэт мэдээлэлтэй
- Захиалга бүр хэрэглэгч, бараа, огноо гэх мэт мэдээлэлтэй
Эдгээр мэдээллийг файлд хадгалах боломжтой боловч олон сая бичлэгийг хурдан хайх, өөрчлөх нь маш хэцүү болно. Өгөгдлийн сан тэр асуудлыг шийддэг.
MySQL-ийн үндсэн бүтэц
MySQL Server
└── Database (жишээ: "myshop")
├── Table: users
│ ├── id, name, email, created_at
├── Table: products
│ ├── id, name, price, stock
└── Table: orders
├── id, user_id, product_id, quantity
Database — Холбоотой хүснэгтүүдийн цуглуулга. Нэг MySQL server дээр олон database байж болно.
Table — Мэдээллийн хүснэгт. Мөр (row) ба багана (column)-аас бүрдэнэ.
Row — Нэг бичлэг. Жишээ: нэг хэрэглэгчийн мэдээлэл.
Column — Нэг шинж чанар. Жишээ: нэр, и-мэйл, утасны дугаар.
SQL гэж юу вэ?
SQL бол Structured Query Language — MySQL-тэй харилцах хэл юм. MySQL дээр мэдээлэл нэмэх, хайх, өөрчлөх, устгах бүгдийг SQL командаар хийнэ.
Хамгийн түгээмэл SQL командууд:
-- Мэдээлэл нэмэх
INSERT INTO users (name, email) VALUES ('Болд', 'bold@example.com');
-- Мэдээлэл хайх
SELECT * FROM users;
-- Нөхцөлтэйгөөр хайх
SELECT name, email FROM users WHERE id = 1;
-- Мэдээлэл өөрчлөх
UPDATE users SET email = 'bold2@example.com' WHERE id = 1;
-- Мэдээлэл устгах
DELETE FROM users WHERE id = 1;
-- тэмдгийн ард байх текст бол тайлбар — ажиллахгүй.
MySQL суулгасан эсэхийг шалгах
mysql --version
Хэрэв суусан бол:
mysql Ver 8.0.36
MySQL server ажиллаж байна уу гэдгийг шалгах:
mysql -u root -p
Нууц үгийг асуух бөгөөд зөв оруулбал MySQL shell нээгдэнэ:
mysql>
Shell-ийг гарахдаа:
exit
MySQL-ийг яагаад сурах хэрэгтэй вэ?
- Ихэнх web аппликейшн өгөгдлийн сан ашигладаг
- PHP, Python, Node.js, Java зэрэг хэлтэй MySQL хамтран ажилладаг
- SQL мэдлэг бол backend хөгжүүлэгчид зайлшгүй шаардагдах
- MySQL мэдсэн бол PostgreSQL, SQLite зэрэг бусад SQL database-ийг хурдан сурна
MySQL vs PostgreSQL
Хоёулаа SQL ашиглана. Гол ялгаа:
| | MySQL | PostgreSQL | |---|---|---| | Хурд | Унших үйлдэлд хурдан | Нарийн query-д илүү | | Хэрэглээ | Вэб апп, WordPress | Data analysis, backend | | Лиценз | Нээлттэй эх код | Бүрэн нээлттэй эх код |
Хоёулаа мэргэжлийн орчинд өргөн хэрэглэгддэг. SQL мэдсэн бол хоёуланг нь ашиглах боломжтой.
Дараагийн хичээлд:
MySQL суулгах, MySQL Workbench (GUI хэрэгсэл) тохируулах, анхны холболт хийх алхмуудыг дэлгэрэнгүй үзнэ.