MySQL / MySQL гэж юу вэ?

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 командууд:

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 суулгасан эсэхийг шалгах

bash
mysql --version

Хэрэв суусан бол:

код
mysql  Ver 8.0.36

MySQL server ажиллаж байна уу гэдгийг шалгах:

bash
mysql -u root -p

Нууц үгийг асуух бөгөөд зөв оруулбал MySQL shell нээгдэнэ:

код
mysql>

Shell-ийг гарахдаа:

sql
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 хэрэгсэл) тохируулах, анхны холболт хийх алхмуудыг дэлгэрэнгүй үзнэ.