Cheia primară MySQL

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 actualiza NULL la coloanele cheii principale va duce la o eroare. Rețineți că MySQL adaugă implicit o constrângere NOT 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

Leave a Reply

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *