Rumah >pangkalan data >tutorial mysql >pertanyaan mysql kunci asing

pertanyaan mysql kunci asing

PHPz
PHPzasal
2023-05-23 10:07:071951semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan, dan salah satu fungsi paling asasnya ialah menyokong kunci asing. Kunci asing ialah kaedah mencantumkan dua jadual dengan mentakrifkan lajur dalam satu jadual yang digunakan untuk merujuk kunci utama dalam jadual lain. Menggunakan kunci asing dalam MySQL boleh membantu kami membina model data yang lebih berkuasa dan fleksibel serta meningkatkan kecekapan semasa membuat pertanyaan.

Artikel ini akan memperkenalkan beberapa isu dan teknik tentang pertanyaan kunci asing dalam MySQL untuk membantu anda lebih memahami dan menggunakan kunci asing dalam MySQL.

1. Konsep asas kunci asing MySQL

  1. Apakah kunci asing?

Kunci asing merujuk kepada lajur dalam satu jadual yang merujuk kepada lajur kunci utama jadual lain. Proses rujukan ini mewujudkan hubungan antara kedua-dua jadual, yang dipanggil integriti rujukan.

  1. Apakah peranan kunci asing?

Melalui kunci asing, kami boleh mengaitkan data satu jadual dengan data jadual lain, dengan itu mencapai kepelbagaian data, perkongsian dan pengemaskinian. Melalui kunci asing, kami boleh melaksanakan operasi pertanyaan data dengan mudah antara jadual dan meningkatkan kecekapan.

  1. Jenis kunci asing?

Dalam MySQL, kunci asing boleh dibahagikan kepada dua jenis berikut:

(1) Kunci asing integriti: kunci asing dengan kekangan integriti, yang mentakrifkan hubungan rujukan, memastikan bahawa rujukan hanya dibenarkan jika jadual yang dirujuk wujud.

(2) Kunci asing biasa: Kunci asing tanpa kekangan integriti Ia hanya mengaitkan data satu jadual dengan data jadual lain.

2. Bagaimana untuk menanyakan kunci asing dalam MySQL

  1. Menyiasat kunci asing

Menyiasat kunci asing ialah operasi pertanyaan yang sangat asas dalam pangkalan data MySQL. Kunci asing boleh disoal dengan cara berikut:

SELECT * FROM 表名 WHERE 外键列名 = 外键值;

Khususnya, pernyataan ini mencari rekod dalam jadual yang sepadan dengan nilai yang diberikan dalam lajur kunci asing dan mengembalikan semua maklumat yang berkaitan dengan rekod.

  1. Sertai jadual berkaitan

Apabila kita perlu mencari data yang dikaitkan antara dua jadual, kita boleh menggunakan teknologi jadual berkaitan untuk menggabungkan kedua-dua jadual itu bersama-sama . Penggunaan khusus adalah seperti berikut:

SELECT * FROM 表1 JOIN 表2 ON 表1.外键列名 = 表2.主键列名 WHERE 外键列名 = 外键值;

Kata kunci JOIN dalam pernyataan ini mewakili pautan antara dua jadual, dan kata kunci ON digunakan untuk menentukan syarat sambungan antara jadual. Dengan menyambungkan jadual berkaitan, kami boleh mendapatkan hasil pertanyaan yang lebih terperinci dan berguna, dan kami juga boleh menanyakan data dengan lebih mudah antara berbilang jadual.

3. Operasi dan had kekunci asing MySQL

  1. Menambah kunci asing

Menambah kunci asing dalam MySQL sangat mudah. Hanya tentukan lajur kunci asing dengan kekangan lengkap dalam jadual, dan kemudian gunakan sintaks berikut untuk menentukan kunci asing:

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键列名) REFERENCES 参考表(主键列名);

Perlu diingat bahawa apabila menambah kunci asing, anda perlu memastikan bahawa yang dirujuk jadual sudah wujud, jika tidak ia boleh Menyebabkan ralat.

  1. Pemadaman kunci asing

Ia juga agak mudah untuk memadamkan kunci asing dalam MySQL. Anda boleh menggunakan sintaks berikut untuk memadamkan kunci asing:

ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

Apabila kunci asing dipadamkan, anda perlu memastikan bahawa jadual utama dan jadual rujukan diubah suai, jika tidak, ia boleh menyebabkan akibat yang tidak dijangka.

  1. Sekatan ke atas kunci asing

Dalam MySQL, terdapat beberapa sekatan ke atas kunci asing. Contohnya:

(1) Dua kekunci asing dengan nama yang sama tidak boleh ditakrifkan dalam jadual.

(2) Kekunci asing tidak boleh digunakan di bawah enjin MYISAM MySQL, tetapi hanya boleh digunakan di bawah enjin InnoDB.

(3) Apabila mengubah suai atau memadam lajur kunci utama jadual yang dirujuk, semua kunci asing berkaitan jadual perlu dipadamkan terlebih dahulu.

Secara amnya, dengan mempelajari tentang kunci asing dalam MySQL, kami boleh menggunakan fungsi kunci asing dengan lebih baik untuk mempelbagaikan, berkongsi dan mengemas kini data, dengan itu meningkatkan kecekapan operasi pertanyaan data. Perlu diingatkan bahawa apabila menggunakan kunci asing dan teknologi jadual yang berkaitan, anda perlu memberi perhatian kepada sekatan operasi untuk memastikan integriti dan kesahihan data.

Atas ialah kandungan terperinci pertanyaan mysql kunci asing. 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