English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ограничения - это правила, которые применяются к данным столбца таблицы. Эти правила используются для ограничения типов данных, которые могут быть введены в таблицу. Это обеспечивает точность и надежность данных в базе данных.
Ограничения могут быть на уровне столбца или таблицы. Столбцовые ограничения применяются только к одному столбцу, а таблицевые ограничения применяются ко всей таблице.
Вот наиболее часто используемые ограничения в SQLite.
NOT NULL Ограничения - обеспечивают, что столбец не может иметь значения NULL.
DEFAULT Ограничения - если не указано,则为 столбец предоставляет значение по умолчанию.
UNIQUE Ограничения - обеспечивают, что все значения в столбце различны.
PRIMARY Key - Уникальный идентификатор каждого ряда/записи в таблице базы данных.
CHECK Ограничения - это условия, которые обеспечивают, что все значения в столбце соответствуют определенным условиям.
По умолчанию, столбец может хранить значения NULL. Если вы не хотите, чтобы столбец имел значения NULL, вам нужно определить такое ограничение на этом столбце, чтобы указать, что теперь этот столбец не допускает NULL.
NULL равен отсутствию данных, он代表着未知的数据.
Например, следующая команда SQLite создает новую таблицу под названием COMPANY и добавляет пять столбцов, из которых три (ID, NAME и AGE) не допускают NULL.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Когда в предложении INSERT INTO не указан конкретное значение, ограничение DEFAULT предоставляет значение по умолчанию для столбца.
Например, следующая команда SQLite создает новую таблицу под названием COMPANY и добавляет пять столбцов. В данном случае, столбец SALARY по умолчанию установлен в 5000.00, поэтому, если в предложении INSERT INTO не указан значений для этого столбца, по умолчанию этот столбец будет установлен в 5000.00.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL DEFAULT 50000.00 );
Ограничение UNIQUE предотвращает наличие двух записей с одинаковыми значениями в определенном столбце. Например, в таблице COMPANY вы можете предотвратить наличие двух или более людей с одинаковым возрастом.
Например, следующая команда SQLite создает новую таблицу под названием COMPANY и добавляет пять столбцов. Здесь столбец AGE установлен как UNIQUE, поэтому у вас не может быть двух записей с одинаковым возрастом-
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL UNIQUE, ADDRESS CHAR(50), SALARY REAL DEFAULT 50000.00 );
Ограничение PRIMARY KEY уникально определяет каждую запись в базе данных таблицы. Может быть несколько уникальных столбцов, но в таблице только один PRIMARY KEY. Важно учитывать PRIMARY KEY при разработке базы данных таблицы. PRIMARY KEY — это уникальный ID.
Мы используем их для ссылки на строки таблицы. При создании отношений между таблицами PRIMARY KEY становится внешним ключом в другой таблице. В силу «долгосрочного кодового надзора» PRIMARY KEY в SQLite может быть NULL. В других базах данных это не так.
PRIMARY KEY — это поле в таблице, которое уникально определяет каждую строку/запись в базе данных таблицы. PRIMARY KEY должен содержать уникальные значения. Столбец PRIMARY KEY не может содержать NULL значения.
Одна таблица может иметь только один PRIMARY KEY, который может состоять из одного или нескольких полей. Когда несколько полей используются в качестве PRIMARY KEY, они называютсясоставной ключ.
Если таблица определяет PRIMARY KEY field(s) в другой таблице, то не может быть двух записей с одинаковыми значениями field(s).
Вы уже видели множество примеров, в которых мы创建了 таблицу COMPANY с ID в качестве PRIMARY KEY.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Ограничение CHECK позволяет проверять значения, вводимые в запись. Если результат вычисления условия равен false, запись нарушает ограничение и не вводится в таблицу.
Например, вот SQLite создает новую таблицу под названием COMPANY и добавляет пять столбцов. Здесь мы добавили столбец CHECK с SALARY, поэтому у вас не может быть SALARY 0.
CREATE TABLE COMPANY3( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL CHECK(SALARY > 0) );
SQLite поддерживает ограниченный подмножество ALTER TABLE. Команда ALTER TABLE в SQLite позволяет пользователю переименовать таблицу или добавить новые столбцы к существующей таблице. Переименование столбцов, удаление столбцов или добавление или удаление ограничений в таблице не поддерживается.