Kunci asing di phpmyadmin w3schools

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

Ringkasan. dalam tutorial ini, Anda akan mempelajari cara menggunakan 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 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

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)
2. Namun, MySQL menyediakan cara yang lebih efektif yang disebut

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 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 contoh

Mari kita lihat contoh penggunaan 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

Misalkan kita memiliki dua tabel.

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)
6 dan

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)
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

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)
6 dan

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)
7 adalah satu-ke-banyak (1. N) seperti yang diilustrasikan dalam diagram database berikut

Kunci asing di phpmyadmin w3schools
Kunci asing di phpmyadmin w3schools

Saat Anda menghapus baris dari tabel

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)
6, Anda juga ingin menghapus semua baris di tabel

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)
7  yang merujuk ke baris di tabel

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)
6. Misalnya, ketika Anda menghapus baris dengan bangunan no. 2 dalam tabel

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)
6  sebagai kueri berikut

DELETE FROM buildings WHERE building_no = 2;

Code language: SQL (Structured Query Language) (sql)

Anda juga ingin baris di tabel

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)
_7 yang mengacu pada bangunan nomor 2 juga akan dihapus

Berikut adalah langkah-langkah yang menunjukkan cara kerja

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  tindakan referensial

Langkah 1. Buat tabel

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)
6

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)

Langkah 2. Buat tabel

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)
_7

CREATE TABLE rooms ( room_no INT PRIMARY KEY AUTO_INCREMENT, room_name VARCHAR(255) NOT NULL, building_no INT NOT NULL, FOREIGN KEY (building_no) REFERENCES buildings (building_no) ON DELETE CASCADE );

Code language: SQL (Structured Query Language) (sql)

Perhatikan bahwa klausa

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  di akhir definisi batasan kunci asing

Langkah 3. Sisipkan baris ke dalam tabel

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)
6

INSERT INTO buildings(building_name,address) VALUES('ACME Headquaters','3950 North 1st Street CA 95134'), ('ACME Sales','5000 North 1st Street CA 95134');

Code language: SQL (Structured Query Language) (sql)

Langkah 4. Data kueri dari tabel

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)
6

SELECT * FROM buildings;

Code language: SQL (Structured Query Language) (sql)
Kunci asing di phpmyadmin w3schools
Kunci asing di phpmyadmin w3schools

Kami memiliki dua baris di tabel

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)
6.

Langkah 5. Sisipkan baris ke dalam tabel

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)
_7

INSERT INTO rooms(room_name,building_no) VALUES('Amazon',1), ('War Room',1), ('Office of CEO',1), ('Marketing',2), ('Showroom',2);

Code language: SQL (Structured Query Language) (sql)

Langkah 6. Data kueri dari tabel

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)
_7

SELECT * FROM rooms;

Code language: SQL (Structured Query Language) (sql)
Kunci asing di phpmyadmin w3schools
Kunci asing di phpmyadmin w3schools

Kami memiliki tiga kamar milik gedung no 1 dan dua kamar milik gedung no 2.

Langkah 7. Hapus gedung dengan no gedung. 2

DELETE FROM buildings WHERE building_no = 2;

Code language: SQL (Structured Query Language) (sql)

Langkah 8. Kueri data dari tabel

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)
_7

SELECT * FROM rooms;

Code language: SQL (Structured Query Language) (sql)
Kunci asing di phpmyadmin w3schools
Kunci asing di phpmyadmin w3schools

Seperti yang Anda lihat, semua baris yang merujuk ke 

INSERT INTO buildings(building_name,address) VALUES('ACME Headquaters','3950 North 1st Street CA 95134'), ('ACME Sales','5000 North 1st Street CA 95134');

Code language: SQL (Structured Query Language) (sql)
5 2 otomatis dihapus.

Perhatikan bahwa

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  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

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  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)1

Terkadang, mengetahui tabel mana yang terpengaruh oleh

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  tindakan referensial saat Anda menghapus data dari tabel merupakan hal yang berguna. Anda dapat meminta data ini dari

SELECT * FROM buildings;

Code language: SQL (Structured Query Language) (sql)
_0 di

SELECT * FROM buildings;

Code language: SQL (Structured Query Language) (sql)
1  database sebagai berikut

USE information_schema; SELECT table_name FROM referential_constraints WHERE constraint_schema = 'database_name' AND referenced_table_name = 'parent_table' AND delete_rule = 'CASCADE'

Code language: SQL (Structured Query Language) (sql)

Misalnya, untuk menemukan tabel yang terkait dengan tabel ________0______6 dengan aturan penghapusan

SELECT * FROM buildings;

Code language: SQL (Structured Query Language) (sql)
3  dalam database

SELECT * FROM buildings;

Code language: SQL (Structured Query Language) (sql)
4, Anda menggunakan kueri berikut

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)
0
Kunci asing di phpmyadmin w3schools
Kunci asing di phpmyadmin w3schools

Dalam tutorial ini, Anda telah mempelajari cara menggunakan 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  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,. );