Rezumat: în acest tutorial, veți afla cum să utilizați constrângerea cheii primare MySQL pentru a crea cheia primară pentru un tabel.
Introducere în cheia primară MySQL
O cheie principală este o coloană sau un set de coloane care identifică în mod unic fiecare rând din tabel. Cheia principală respectă aceste reguli:
- O cheie principală trebuie să conțină valori unice. Dacă cheia principală constă din mai multe coloane, combinația de valori din aceste coloane trebuie să fie unică.
- O coloană a cheii primare nu poate avea valori
NULL
. Orice încercare de a insera sau actualizaNULL
la coloanele cheii principale va duce la o eroare. Rețineți că MySQL adaugă implicit o constrângereNOT NULL
la coloanele cheii primare. - Un tabel poate avea una și o singură cheie primară.
Deoarece MySQL funcționează mai repede cu numere întregi, tipul de date al coloanei cheii primare ar trebui să fie întregul, de ex., INT,
BIGINT
. Și ar trebui să vă asigurați că intervalele de valori ale tipului întreg pentru cheia primară sunt suficiente pentru stocarea tuturor rândurilor posibile pe care le poate avea tabela.
O coloană de cheie primară are adesea AUTO_INCREMENT
atribut care generează automat un număr întreg secvențial ori de câte ori introduceți un rând nou în tabel.
Când definiți o cheie primară pentru o masă, MySQL creează automat un index numit PRIMARY
.
Exemple de cheie primară MySQL
Constrângerea PRIMARY KEY
vă permite să definiți o cheie primară a unui tabel când creați sau modificați tabelul.
1) Definiți o constrângere PRIMARY KEY în CREATE TABLE
De obicei, definiți cheia primară pentru un tabel în CREATE TABLE
declarație.
Dacă cheia principală are o coloană, puteți utiliza constrângerea PRIMARY KEY
ca constrângere de coloană:
Code language: SQL (Structured Query Language) (sql)
Când cheia principală are mai multe coloane, trebuie să utilizați e PRIMARY KEY
constrângere ca o constrângere de tabel.
În această sintaxă, separați coloanele din column_list
prin virgule ( ,).
Constrângerea tabelei PRIMARY KEY
poate fi utilizată atunci când cheia primară are o coloană:
Următorul exemplu creează un tabel numit users
a cărui cheie principală este coloana user_id
:
Această declarație creează roles
tabel care are constrângerea PRIMARY KEY
ca constrângere a tabelului:
În cazul în care cheia principală constă din mai multe coloane, trebuie să le specificați la sfârșit a declarației CREATE TABLE
. Puneți o listă separată prin virgule a coloanelor cheii primare în paranteze, urmate de cuvintele cheie PRIMARY KEY
.
Următorul exemplu creează user_roles
tabel a cărui cheie principală constă din două coloane: user_id
și role_id
. Acesta definește constrângerea PRIMARY KEY
ca constrângere a tabelului:
Rețineți că instrucțiunea a creat și două constrângeri de cheie străină.
2) Definiți PRIMARIA Constrângeri cheie folosind ALTER TABLE
Dacă un tabel, din anumite motive, nu are o cheie primară, puteți utiliza instrucțiunea ALTER TABLE
pentru a adăuga o cheie primară la tabelul după cum urmează:
Code language: SQL (Structured Query Language) (sql)
Următorul exemplu adaugă coloana id
la cheia principală.
Mai întâi, creați tabelul pkdemos
fără o cheie principală.
Code language: SQL (Structured Query Language) (sql)
În al doilea rând, adăugați un element principal cheie pentru tabelul pkdemos
folosind instrucțiunea ALTER TABLE
:
Code language: SQL (Structured Query Language) (sql)
Dacă adăugați o cheie principală la un tabel care are deja date. Datele din coloană (coloane), care vor fi incluse în cheia primară, trebuie să fie unice și nu NULL.
CHEIE PRIMARĂ vs. CHEIE UNICĂ vs. CHEIE
KEY
este sinonimul pentru INDEX
. Utilizați KEY
atunci când doriți să creați un index pentru o coloană sau un set de coloane care nu face parte dintr-o cheie primară sau o cheie unică.
Un index UNIQUE
asigură faptul că valorile dintr-o coloană trebuie să fie unice. Spre deosebire de indexul PRIMARY
, MySQL permite valorile NULL
din indexul UNIQUE
. În plus, un tabel poate avea mai mulți indici UNIQUE
.
Să presupunem că email
și username
de utilizatori din tabelul users
trebuie să fie unic.Pentru a aplica aceste reguli, puteți defini UNIQUE
indexuri pentru email
și username
coloane ca următoarea declarație:
Adăugați un index UNIQUE
pentru coloana username
:
Code language: SQL (Structured Query Language) (sql)
Adăugați un index UNIQUE
pentru coloana email
:
Code language: SQL (Structured Query Language) (sql)
În acest tutorial, ați învățat cum să creați o cheie primară pentru un nou tabel sau cum să adăugați o cheie principală la un tabel existent.
- A fost de ajutor acest tutorial?
- Da Nu