Pengenalan MySQL kunci utama
Kunci utama adalah kolom atau set kolom yang secara unik mengidentifikasi setiap baris dalam tabel. Berikut ini adalah aturan yang harus Anda ikuti ketika Anda menentukan kunci utama untuk tabel:
- Kunci utama harus mengandung nilai-nilai yang unik. Jika kunci utama terdiri dari beberapa kolom, kombinasi nilai-nilai di kolom ini harus unik.
- Kolom kunci primer tidak dapat berisi
NULL
nilai. Ini berarti bahwa Anda harus menyatakan kolom kunci utama denganNOT NULL
atribut. Jika Anda tidak, MySQL akan memaksa kolom kunci utama sebagaiNOT NULL
implisit. - Sebuah tabel hanya memiliki satu primary key.
INT
atau BIGINT
. Anda dapat memilih tipe integer yang lebih kecil seperti TINYINT
, SMALLINT
, dll, namun Anda harus memastikan bahwa rentang nilai dari tipe integer untuk kunci utama adalah cukup untuk menyimpan semua baris mungkin bahwa meja mungkin.johanandyagasiblogspotcom Kolom kunci primer sering memiliki
AUTO_INCREMENT
atribut yang menghasilkan unik urutan untuk kunci otomatis. The kunci utama dari baris berikutnya lebih besar dari yang sebelumnya.MySQL menciptakan indeks bernama
PRIMARY
dengan PRIMARY
jenis untuk kunci utama dalam sebuah tabel.Mendefinisikan MySQL PRIMARY KEY Kendala
MySQL memungkinkan Anda untuk membuat kunci utama dengan mendefinisikan batasan kunci utama ketika Anda membuat atau memodifikasi tabel.
Mendefinisikan MySQL kendala PRIMARY KEY menggunakan pernyataan CREATE TABLE
MySQL memungkinkan Anda untuk membuat kunci utama ketika Anda membuat tabel dengan menggunakan CREATE TABLE pernyataan. Untuk membuat
PRIMARY KEY
kendala untuk meja, Anda menentukan PRIMARY KEY
dalam definisi kolom kunci utama dunia.Contoh berikut membuat
users
tabel yang kunci utama adalah user_id
kolom:CREATE TABLE users ( user_id INT AUTO_INCREMENT PRIMARY KEY , username VARCHAR ( 40 ) , password VARCHAR ( 255 ) , email VARCHAR ( 255 ) ) ;
Anda juga dapat menentukan PRIMARY KEY pada akhir CREATE TABLE pernyataan sebagai berikut:
CREATE TABLE roles ( role_id INT AUTO_INCREMENT , role_name VARCHAR ( 50 ) , PRIMARY KEY ( role_id ) ) ;
johanandyagasiblogspotcom Dalam hal kunci utama terdiri dari beberapa kolom, Anda harus menentukan mereka pada akhir CREATE TABLE pernyataan. Anda meletakkan daftar koma-dipisahkan dari kolom kunci utama dalam kurung mengikuti PRIMARY KEY kata kunci.
CREATE TABLE userroles ( user_id INT NOT NULL , role_id INT NOT NULL , PRIMARY KEY ( user_id , role_id ) , FOREIGN KEY ( user_id ) REFERENCES users ( user_id ) , FOREIGN KEY ( role_id ) REFERENCES roles ( role_id ) ) ;
Selain menciptakan kunci utama yang terdiri dari user_id dan role_id kolom, pernyataan itu juga menciptakan dua kunci asing kendala.
Mendefinisikan MySQL kendala PRIMARY KEY menggunakan ALTER TABLE pernyataan
johanandyagasiblogspotcom Jika meja, untuk beberapa alasan, tidak memiliki kunci utama, Anda dapat menggunakan ALTER TABLE pernyataan untuk menambahkan kolom yang memiliki karakteristik semua yang diperlukan kunci utama untuk kunci utama sebagai pernyataan berikut:
ALTER TABLE table_name ADD PRIMARY KEY ( primary_key_column ) ;
Contoh berikut menambahkan kolom id untuk kunci primer.
Pertama, membuat t1 tabel tanpa mendefinisikan kunci primer.
CREATE TABLE t1 ( id int , title varchar ( 255 ) NOT NULL ) ;
Kedua, tambahkan id kolom primary key dari t1 meja.
ALTER TABLE t1 ADD PRIMARY KEY ( id ) ;
PRIMARY KEY vs KEY UNIK vs KEY
johanandyagasiblogspotcom Sebuah KEY adalah sinonim untuk INDEX . Anda menggunakan KEY ketika Anda ingin membuat indeks untuk kolom atau satu set kolom yang bukan merupakan bagian dari kunci kunci atau unik primer.
Sebuah UNIQUE Indeks menciptakan kendala untuk kolom yang nilainya harus unik. Berbeda dengan PRIMARY indeks, MySQL memungkinkan NULL nilai dalam UNIQUE indeks. Tabel bisa juga memiliki beberapa UNIQUE indeks.
johanandyagasiblogspotcom Sebagai contoh, email dan username pengguna di users tabel harus unik. Anda dapat menentukan UNIQUE indeks untuk email dan nama kolom sebagai pernyataan berikut:
Tambahkan UNIQUE indeks untuk username kolom.
ALTER TABLE users ADD UNIQUE INDEX username_unique ( username ASC ) ;
Tambahkan UNIQUE indeks untuk email kolom.
ALTER TABLE users ADD UNIQUE INDEX email_unique ( email ASC ) ;
Dalam tutorial ini johanandyagasiblogspotcom, Anda telah belajar bagaimana untuk membuat kunci utama untuk tabel baru atau menambahkan kunci utama untuk tabel yang ada.
0 Komentar untuk " (6) MySQL Primary Key "