Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Tambahkan Kunci Asing

Foreign Key membantu membangun hubungan database dan menjaga integritas referensial. Mereka membantu menghubungkan satu atau lebih kolom dalam satu tabel ke tabel lain. Berikut cara menambahkan kunci asing di MySQL.

Cara Menambahkan Kunci Asing di MySQL

Berikut adalah langkah-langkah untuk menambahkan kunci asing di MySQL. Anda dapat menambahkan batasan kunci asing menggunakan pernyataan CREATE TABLE atau ALTER TABLE di SQL.

Berikut sintaks untuk membuat kunci asing di MySQL.

Menggunakan ALTER TABLE

ALTER TABLE table_name 
ADD CONSTRAINT constraint_name 
FOREIGN KEY (foreign_key_name,...) 
REFERENCES parent_table(column_name,...);

Dalam kueri di atas, nama_tabel adalah tabel tempat Anda ingin menambahkan kunci asing. nama_kendala adalah nama dari batasan kunci asing. nama_kunci_asing, … adalah daftar kolom kunci asing.

tabel_orangtua adalah tabel yang menjadi referensi foreign_key Anda, diikuti dengan daftar nama kolom dalam tabel tersebut

Bonus Baca :MySQL Alter Table Column

Menggunakan CREATE TABLE

CREATE TABLE table_name(
    column_name column_description,
    CONSTRAINT constraint_name
    FOREIGN KEY (foreign_key_name,...) 
        REFERENCES parent_table(column_name,...)
)

Dalam kueri di atas, nama_tabel adalah tabel tempat Anda ingin menambahkan kunci asing. nama_kendala adalah nama dari batasan kunci asing. nama_kunci_asing, … adalah daftar kolom kunci asing.

tabel_orangtua adalah tabel yang menjadi referensi foreign_key Anda, diikuti dengan daftar nama kolom dalam tabel tersebut.

Harap diperhatikan , di ALTER TABLE Anda perlu menggunakan ADD CONSTRAINT sedangkan di CREATE TABLE Anda hanya perlu menggunakan kata kunci CONSTRAINT.

Bonus Baca :MySQL DROP FOREIGN KEY Constraint

Contoh MySQL ADD FOREIGN KEY

Katakanlah Anda memiliki tabel berikut.

Mari kita buat 2 tabel (kategori dan pesanan ) dan tambahkan batasan kunci asing ke pesanan , merujuk pada id kolom di kategori tabel.

mysql> create table categories(id int auto_increment primary key,name varchar(255));

mysql> create table orders(id int auto_increment primary key,category_id int,
 CONSTRAINT fk_cat 
 FOREIGN KEY (category_id) 
 REFERENCES categories(id));

mysql> describe orders;
+-------------+---------+------+-----+---------+----------------+
| Field       | Type    | Null | Key | Default | Extra          |
+-------------+---------+------+-----+---------+----------------+
| id          | int(11) | NO   | PRI | NULL    | auto_increment |
| category_id | int(11) | YES  | MUL | NULL    |                |
+-------------+---------+------+-----+---------+----------------+

Bonus Baca :MySQL DROP UNIQUE CONSTRAINT

Mari kita lihat contoh yang sama menggunakan pernyataan ALTER TABLE.

mysql> create table orders(id int auto_increment primary key,category_id int);

mysql> create table categories(id int auto_increment primary key,name varchar(255));

mysql> ALTER TABLE orders
     ADD CONSTRAINT fk_cat
     FOREIGN KEY (category_id)
     REFERENCES categories(id);

mysql> describe orders;
+-------------+---------+------+-----+---------+----------------+
| Field       | Type    | Null | Key | Default | Extra          |
+-------------+---------+------+-----+---------+----------------+
| id          | int(11) | NO   | PRI | NULL    | auto_increment |
| category_id | int(11) | YES  | MUL | NULL    |                |
+-------------+---------+------+-----+---------+----------------+

Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks SQL SELECT – Didaftarkan oleh DBMS

  2. Apakah mungkin untuk mengeksekusi string di MySQL?

  3. Koneksi jarak jauh MySQL gagal dengan metode otentikasi yang tidak diketahui

  4. 7 Cara Menemukan Baris Duplikat saat Mengabaikan Kunci Utama di MySQL

  5. Jumlah total kunci melebihi ukuran meja kunci