Berikut adalah sintaks kueri SQL umum untuk menggabungkan tiga tabel atau lebih. Permintaan SQL ini harus bekerja di semua database relasional utama seperti MySQL, Oracle, Microsoft SQLServer, Sybase, dan PostgreSQL Show
Ringkasan. dalam tutorial ini, Anda akan mempelajari cara menggunakan MySQL 1 tindakan referensial untuk kunci asing untuk menghapus data dari beberapa tabel terkait Dalam tutorial sebelumnya, Anda belajar cara menghapus data dari beberapa tabel terkait menggunakan satu pernyataan 2. Namun, MySQL menyediakan cara yang lebih efektif yang disebut 1 tindakan referensial untuk kunci asing yang memungkinkan Anda menghapus data dari tabel anak secara otomatis saat Anda menghapus data dari tabel induk MySQL CREATE TABLE buildings ( building_no INT PRIMARY KEY AUTO_INCREMENT, building_name VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL );Code language: SQL (Structured Query Language) (sql)_1 contohMari kita lihat contoh penggunaan MySQL 1 Misalkan kita memiliki dua tabel. 6 dan 7. Dalam model database ini, setiap gedung memiliki satu atau banyak ruangan. Namun, setiap kamar hanya dimiliki oleh satu bangunan. Sebuah ruangan tidak akan ada tanpa bangunan Hubungan antara tabel 6 dan 7 adalah satu-ke-banyak (1. N) seperti yang diilustrasikan dalam diagram database berikut Saat Anda menghapus baris dari tabel 6, Anda juga ingin menghapus semua baris di tabel 7 yang merujuk ke baris di tabel 6. Misalnya, ketika Anda menghapus baris dengan bangunan no. 2 dalam tabel 6 sebagai kueri berikut
Anda juga ingin baris di tabel _7 yang mengacu pada bangunan nomor 2 juga akan dihapus Berikut adalah langkah-langkah yang menunjukkan cara kerja 1 tindakan referensial Langkah 1. Buat tabel 6
Langkah 2. Buat tabel _7
Perhatikan bahwa klausa 1 di akhir definisi batasan kunci asing Langkah 3. Sisipkan baris ke dalam tabel 6
Langkah 4. Data kueri dari tabel 6
Kami memiliki dua baris di tabel 6. Langkah 5. Sisipkan baris ke dalam tabel _7
Langkah 6. Data kueri dari tabel _7
Kami memiliki tiga kamar milik gedung no 1 dan dua kamar milik gedung no 2. Langkah 7. Hapus gedung dengan no gedung. 2
Langkah 8. Kueri data dari tabel _7
Seperti yang Anda lihat, semua baris yang merujuk ke 5 2 otomatis dihapus. Perhatikan bahwa 1 hanya berfungsi dengan tabel dengan mesin penyimpanan yang mendukung kunci asing e. g. , InnoDB Beberapa jenis tabel tidak mendukung kunci asing seperti MyISAM sehingga Anda harus memilih mesin penyimpanan yang sesuai untuk tabel yang Anda rencanakan untuk menggunakan MySQL 1 tindakan referensial Kiat untuk menemukan tabel yang terpengaruh oleh tindakan MySQL CREATE TABLE buildings ( building_no INT PRIMARY KEY AUTO_INCREMENT, building_name VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL );Code language: SQL (Structured Query Language) (sql)1Terkadang, mengetahui tabel mana yang terpengaruh oleh 1 tindakan referensial saat Anda menghapus data dari tabel merupakan hal yang berguna. Anda dapat meminta data ini dari _0 di 1 database sebagai berikut
Misalnya, untuk menemukan tabel yang terkait dengan tabel ________0______6 dengan aturan penghapusan 3 dalam database 4, Anda menggunakan kueri berikut 0 Dalam tutorial ini, Anda telah mempelajari cara menggunakan MySQL 1 tindakan referensial untuk kunci asing untuk menghapus data secara otomatis dari tabel anak saat Anda menghapus data dari tabel induk. Bagaimana cara membuat kunci asing di phpMyAdmin?Tentukan kunci asing di phpMyAdmin
. The first dropdown in each row lets you choose which TABLE->COLUMN the indexed column references. Pada dropdown kedua pilih kolom yang diinginkan dari tabel referensi Anda dan klik Save. Itu harus melakukannya.
Di mana kunci asing di phpMyAdmin?Untuk melihat FK tabel, pertama-tama pilih tabel dari penjelajah objek, lalu buka tab Struktur, lalu pilih Tampilan relasi. Harap dicatat bahwa dalam versi yang berbeda mungkin berada di lokasi yang berbeda. Pada layar tampilan Relasi, Anda akan melihat semua kunci asing ditentukan untuk tabel ini (sebagai tabel asing)
Bagaimana cara menggunakan kunci asing di MySQL?Setelah membuat tabel, jika kita ingin menambahkan kunci asing ke tabel yang sudah ada, kita perlu mengeksekusi pernyataan ALTER TABLE seperti di bawah ini. . ALTER TABLE Hubungi ADD INDEX par_ind ( Person_Id ); ALTER TABEL Hubungi ADD CONSTRAINT fk_person REFERENSI KUNCI ASING ( Person_Id ) Orang ( ID ) PADA DELETE CASCADE PADA UPDATE RESTRICT; Bagaimana cara menambahkan kunci asing ke tabel yang ada di MySQL?Berikut sintaks untuk membuat kunci asing di MySQL. ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (nama_kunci_asing,. ) REFERENSI parent_table(nama_kolom,. ); |