Rumah  >  Artikel  >  pangkalan data  >  SOALAN TEMUDUGA MYSQL BIASA

SOALAN TEMUDUGA MYSQL BIASA

Linda Hamilton
Linda Hamiltonasal
2024-10-18 14:07:30924semak imbas

COMMON MYSQL INTERVIEW QUESTIONS

A. Soalan MySQL Peringkat Permulaan:

  1. Apakah MySQL?

    • MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka (RDBMS) yang menggunakan Bahasa Pertanyaan Berstruktur (SQL) untuk mengakses, mengurus dan memanipulasi data yang disimpan dalam pangkalan data.
  2. Apakah ciri utama MySQL?

    • Sumber terbuka, sokongan merentas platform, prestasi tinggi, sokongan untuk pertanyaan kompleks, ciri keselamatan, pematuhan ACID, kebolehskalaan, replikasi dan pengelompokan.
  3. Apakah pangkalan data hubungan?

    • Pangkalan data hubungan ialah sejenis pangkalan data yang menyimpan data dalam jadual yang terdiri daripada baris dan lajur. Setiap jadual mempunyai kunci unik dan perhubungan antara jadual diwujudkan menggunakan kekunci asing.
  4. Apakah itu SQL?

    • SQL (Bahasa Pertanyaan Berstruktur) ialah bahasa pengaturcaraan standard yang digunakan untuk mengurus dan memanipulasi pangkalan data hubungan, termasuk tugas seperti menanya, memasukkan, mengemas kini dan memadam data.
  5. Apakah jenis data yang berbeza dalam MySQL?

    • MySQL menyokong pelbagai jenis data, termasuk:
      • Numerik: INT, FLOAT, GANDA, PERPULUHAN
      • String: VARCHAR, TEKS, CHAR
      • Tarikh dan Masa: TARIKH, MASA TARIKH, STAMP MASA, MASA
      • Perduaan: BLOB, BINARI
  6. Apakah kunci utama?

    • Kunci utama ialah pengecam unik untuk rekod jadual. Ia memastikan tiada nilai pendua disimpan dalam lajur kunci utama dan setiap jadual hanya boleh mempunyai satu kunci utama.
  7. Apakah kunci asing?

    • Kunci asing ialah medan (atau koleksi medan) dalam jadual yang mengenal pasti secara unik baris jadual lain, mewujudkan pautan antara dua jadual dan menguatkuasakan integriti rujukan.
  8. Apakah perbezaan antara CHAR dan VARCHAR?

    • CHAR ialah rentetan panjang tetap, manakala VARCHAR ialah rentetan panjang berubah-ubah. CHAR digunakan apabila panjang rentetan boleh diramal, manakala VARCHAR lebih cekap ruang untuk panjang yang berbeza-beza.
  9. Apakah AUTO_INCREMENT dalam MySQL?

    • AUTO_INCREMENT ialah ciri dalam MySQL yang menjana pengecam unik secara automatik untuk rekod baharu dalam jadual, selalunya digunakan untuk lajur kunci utama.
  10. Apakah klausa JOIN dalam SQL?

    • JOIN digunakan untuk menggabungkan baris daripada dua atau lebih jadual berdasarkan lajur yang berkaitan. Jenis termasuk SERTAI DALAM, SERTAI KIRI, SERTAI KANAN dan SERTAI PENUH.
  11. Apakah itu INNER JOIN?

    • INNER JOIN hanya mengembalikan baris yang mempunyai nilai yang sepadan dalam kedua-dua jadual yang sedang dicantumkan.
  12. Apakah LEFT JOIN?

    • LEFT JOIN mengembalikan semua baris dari jadual kiri dan baris yang sepadan dari jadual kanan. Jika tiada padanan ditemui, nilai NULL dikembalikan untuk lajur daripada jadual kanan.
  13. Apakah itu UNION dalam SQL?

    • UNION menggabungkan set hasil dua atau lebih pertanyaan SELECT, mengalih keluar baris pendua antara pertanyaan. Lajur dalam semua pernyataan SELECT mesti mempunyai nombor dan jenis data yang sama.
  14. Apakah perbezaan antara UNION dan UNION ALL?

    • UNION mengalih keluar baris pendua, manakala UNION ALL menyertakan semua pendua daripada set hasil gabungan.
  15. Apakah klausa GROUP BY?

    • GROUP BY mengumpulkan baris dengan nilai yang sama ke dalam baris ringkasan, selalunya digunakan dengan fungsi agregat seperti SUM(), AVG(), COUNT(), MIN() dan MAX().

B. Soalan MySQL Peringkat Pertengahan:

  1. Apakah indeks dalam MySQL?

    • Indeks ialah struktur data yang meningkatkan kelajuan operasi pengambilan data pada jadual. Ia digunakan untuk mencari data dengan cepat tanpa mengimbas keseluruhan jadual.
  2. Apakah jenis indeks yang berbeza dalam MySQL?

    • Jenis indeks biasa dalam MySQL termasuk:
      • Indeks Utama: Dicipta secara automatik untuk kunci utama.
      • Indeks Unik: Memastikan semua nilai dalam lajur diindeks adalah unik.
      • Indeks Teks Penuh: Digunakan untuk carian teks.
      • Indeks Komposit: Indeks pada berbilang lajur.
  3. Apakah penormalan?

    • 規範化是組織資料庫表以減少冗餘並提高資料完整性的過程。它涉及將大表劃分為較小的相關表。
  4. 什麼是非規範化?

    • 非規範化是組合表以減少聯接數量並提高查詢效能的過程,通常用於讀取密集型應用程式。
  5. HAVING 子句是什麼?

    • HAVING 用於在應用聚合後過濾記錄,通常與 GROUP BY 一起使用。它與 WHERE 類似,但 WHERE 在聚合之前應用。
  6. 什麼是預存程序?

    • 預存程序是一組可以作為單一單元執行的 SQL 語句。它儲存在資料庫中,可以透過特定的名稱來調用,常用於封裝複雜的邏輯。
  7. MySQL 中的觸發器是什麼?

    • 觸發器是一組 SQL 語句,當表上發生指定事件(INSERT、UPDATE、DELETE)時會自動執行。
  8. MySQL 中的視圖是什麼?

    • 視圖是基於 SELECT 查詢結果的虛擬表。它不是物理存儲數據,而是提供了一種簡化複雜查詢的方法。
  9. MySQL 中的事務是什麼?

    • 交易是作為單一工作單元執行的 SQL 語句序列。它遵循 ACID 屬性(原子性、一致性、隔離性、持久性)。
  10. 什麼是 ACID 屬性?

    • 原子性:事務中的所有操作都已完成或沒有。
    • 一致性:交易將資料庫從一種有效狀態轉變為另一種有效狀態。
    • 隔離:交易之間互不干擾。
    • 持久性:一旦提交事務,更改就是永久性的。

C. 進階 MySQL 問題:

  1. MySQL 中的複製是什麼?

    • 複製是將資料從一台 MySQL 伺服器(主伺服器)複製到一台或多台伺服器(從伺服器)以實現冗餘和負載平衡的過程。
  2. MySQL 中有哪些不同類型的複製?

    • 主從複製:資料寫入主機並複製到從機。
    • 主複製:兩台伺服器都可以充當主伺服器並相互複製資料。
    • 群組複製:高可用MySQL叢集的多主複製。
  3. 什麼是 InnoDB 儲存引擎?

    • InnoDB 是 MySQL 中的預設儲存引擎,提供對 ACID 相容事務、外鍵和崩潰復原的支援。
  4. 刪除、截斷和刪除有什麼不同?

    • DELETE:依照條件從表格中刪除行。可以回滾。
    • TRUNCATE:從表中刪除所有行,但保留其結構。無法回滾。
    • DROP:刪除整個表,包括其結構。無法回滾。
  5. 如何最佳化 MySQL 中的慢速查詢?

    • 技術包括使用正確的索引、分析查詢執行計劃(EXPLAIN)、重寫查詢以提高效率、使用 JOIN 而不是子查詢、避免 SELECT * 以及確保硬體資源充足。

Atas ialah kandungan terperinci SOALAN TEMUDUGA MYSQL BIASA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn