Database
 sql >> база данни >  >> RDS >> Database

SQL, уникални и първични ключове

С таблица, създадена с тази команда:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL
);

Можем да вмъкнем елемент повече от веднъж.

И по-специално, можем да имаме колони, които повтарят една и съща стойност.

Можем да принудим колона да има само уникални стойности с помощта на UNIQUE ключово ограничение:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL UNIQUE
);

Сега, ако се опитате да добавите „Flavio“ два пъти:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');

Ще получите грешка:

ERROR:  duplicate key value violates unique constraint "people_name_key"
DETAIL:  Key (name)=(Flavio) already exists.

Първичен ключ е уникален ключ, който има друго свойство:това е основният начин, по който идентифицираме ред в таблицата.

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

Първичният ключ може да бъде например имейл в списък с потребители.

Първичният ключ може да бъде уникален id които автоматично присвояваме на всеки запис.

Каквато и да е тази стойност, знаем, че можем да я използваме за препратка към ред в таблицата.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да пусна колона в SQL?

  2. Трябва ли новите индексни колони да бъдат в ключа или да бъдат включени?

  3. Намаляване на фрагментацията на индекса

  4. Създаване на база данни в облачни сайтове

  5. Въведение в Hadoop и големите данни