English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá a usar restrições SQL.
As restrições são limitações de uma ou mais colunas de uma tabela para limitar o tipo de valores que podem ser armazenados na coluna. As restrições fornecem um mecanismo padrão para manter a precisão e a integridade dos dados dentro das tabelas do banco de dados.
Existem vários tipos de restrições no SQL, incluindo:
Agora, vamos discutir cada restrição em detalhes.
A restrição NOT NULL especifica que a coluna não aceita valores NULL.
Isso significa que, se a restrição NOT NULL for aplicada à coluna, você deve inserir uma nova linha na tabela sem adicionar um valor não NULL para essa coluna.
以下SQL语句创建一个名为da pessoaA tabela, que tem quatro colunas, três delasid,nameeda tabela, eNão aceita valores NULL.
CREATE TABLE persons ( id INT NOT NULL, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15) NOT NULL );
Atenção:NULL é diferente de zero, espaço em branco ou uma string de comprimento zero, por exemplo, ''. NULL representa que ainda não foi inserido.
A restrição PRIMARY KEY identifica a coluna ou conjunto de colunas que possui um valor único de identificação para cada linha da tabela. Nenhuma duas linhas da tabela podem ter o mesmo valor da chave primária. Da mesma forma, você não pode inserir NULL na coluna da chave primária.
以下SQL语句创建一个名为As seguintes instruções SQL criam uma tabela chamadapersonsidA coluna especificada como chave primária. Isso significa que o campo não permite NULL ou valores repetidos.
CREATE TABLE persons ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15) NOT NULL );
Dica:A chave primária geralmente é composta por uma coluna de uma tabela, mas pode ser composta por várias colunas, por exemplo, o endereço de e-mail ou o número de identificação atribuído é a chave primária lógica da tabela de funcionários.
A restrição UNIQUE limita uma ou mais colunas a conter valores únicos na tabela.
Embora a restrição UNIQUE e a restrição PRIMARY KEY forçem unicidade, a PRIMARY KEY deve ser usada quando você deseja forçar a unicidade de uma coluna ou combinação de colunas (em vez da chave primária).
以下SQL语句创建一个名为As seguintes instruções SQL criam uma tabela chamadapersonsda tabela, ephone
CREATE TABLE persons ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15a coluna especificada como unique. Isso significa que o campo não permite valores repetidos. );
Atenção:) NOT NULL UNIQUE
Restrição Padrão (DEFAULT)
o valor padrão da coluna é o valor especificado pela restrição DEFAULT.INSERTse uma valor específico não for atribuído explicitamente na cláusula, o motor de banco de dados inserirá algum valor na coluna.
As seguintes instruções SQL são para país/regiãocriar uma coluna com um valor padrão.
CREATE TABLE persons ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15) NOT NULL UNIQUE, country VARCHAR(30) NOT NULL DEFAULT 'Australia' );
Atenção:Se uma coluna de tabela for definida como NOT NULL, mas uma valor padrão for atribuído a ela, não é necessário atribuir explicitamente um valor para essa coluna na cláusula INSERT para inserir uma nova linha na tabela.
chave estrangeira (FK) é uma coluna ou combinação de colunas usada para estabelecer e fortalecer relações entre dados em duas tabelas.
isto mostrafuncionários (employees)edepartamento(departments)employeesda tabeladept_idum exemplo de gráfico de relação entre coluna edepartmentscom a coluna chave primária da tabela correspondente. Portanto,dept_idna colunade um funcionárioda chave estrangeira da tabeladepartamentotabela.
No MySQL, você pode criar uma chave estrangeira ao criar a tabela, definindo restrições. A seguir, a cláusulaemployeesda tabeladept_idcriar um chave estrangeira, que referenciadepartmentsda tabeladept_idcoluna
CREATE TABLE employees ( emp_id INT NOT NULL PRIMARY KEY, emp_name VARCHAR(55) NOT NULL, hire_date DATE NOT NULL, salary INT dept_id INT, FOREIGN KEY (dept_id) REFERENCES departments(dept_id) );
Restrição CHECK é usada para limitar os valores que podem ser colocados em uma coluna.
Por exemplo, pode-se criar uma restrição CHECK para limitar o intervalo de valores da coluna salários, permitindo apenas valores entre3a 100.00010Entre 0.000 e 100.000. Isso evita que salários sejam introduzidos fora do intervalo normal de salários.
CREATE TABLE employees ( emp_id INT NOT NULL PRIMARY KEY, emp_name VARCHAR(55) NOT NULL, hire_date DATE NOT NULL, salary INT NOT NULL CHECK (salary >= 3000 AND salary <= 10000), dept_id INT, FOREIGN KEY (dept_id) REFERENCES departments(dept_id) );
Atenção: O MySQL não suporta restrições de verificação SQL. No entanto, todos os motores de armazenamento do MySQL analisarão a cláusula CHECK, mas a ignorarão.