MySql restrições comuns

# constrangimentos comuns

/ *


Significado: uma restrição para limitar os dados na tabela, a fim de garantir a precisão e a fiabilidade dos dados na tabela


Classificação: Seis restrição
NOT NULL: não vazio, o valor garantido para o campo não pode ficar em branco
, tais como nome, escola, etc.
DEFAULT: padrão, para garantir que o campo tem um valor padrão
como sexo
chave primária: chave primária, para garantir a valor do campo é único, e não nula
, como número de estudante, número de empregado, etc.
único: a única utilizada para garantir que o valor deste campo é único, e pode estar vazio
, como o número do assento
de seleção: restrições de verificação [mysql] não suporta
tais como idade sexo
chave estrangeira: chaves estrangeiras, para limitar a relação entre as duas tabelas para garantir que o valor deste campo deve ser derivado do valor da tabela primária associada a uma coluna
na tabela para adicionar restrição de chave estrangeira para uma coluna na referência tabela primária valores
como o número de estudantes que se especializam na tabela, número equipe de mesa departamento, número de funcionário tipos de tabela

Adicione uma restrição quando:
1. Criar uma tabela
2. Modificar as tabelas

Adicionar categorias restrição:
restrições de nível de coluna:
seis grandes sintaxe restrição é suportado, mas a restrição de chave estrangeira não tem efeito

restrições no nível de tabela:

além de não-vazia, o padrão, outro apoiam a


chave primária ea única grande contraste:

Garantia singularidade é permitido para esvaziar uma tabela pode ser o número de se permitir que a combinação de
chave primária √ × no máximo 1 √, mas não é recomendado
única √ √ pode ter vários √, mas não é recomendado
a chave estrangeira:
1, exige-se da mesa relação externa chave
2, tipo de associação, e a tabela de página da coluna de chave externo da coluna do tipo mesa de acordo com a reivindicação idêntica ou compatível, o nome não
3, as colunas da tabela primário associados deve ser uma chave (normalmente uma chave de primário ou único)
4, quando da inserção de dados, primeiro inserido na tabela de mestre, e, em seguida, inserir uma tabela do
dados é removida, em primeiro lugar removida a partir da tabela, e, em seguida, eliminar a tabela principal


* /

CREATE TABLE nome da tabela (
campo de tipo de campo de nome de constrangimentos ao nível da coluna,
campo de tipo de campo nome,
constrangimentos ao nível da mesa

)
A CRIAR Estudantes banco de dados;
# um, adicionando restrições ao criar tabelas

# restrições de nível de coluna 1 add
/ *
Sintaxe:

Diretamente no campo após o nome e tipo de restrição tipo pode ser adicionado.

Apenas suporte: Por padrão, não nulo, chave primária, exclusivo

 

* /

O USO Estudantes .;
O stuinfo GOTA TABELA;
o stuinfo CREATE TABLE (
ID INT uma chave primária, # chave primária
stuName VARCHAR (20) não NULL ORIGINAL , # nonempty
CHAR género (1) CHECK (género = ' M' OU género = 'F'), # cheque
assento INT único, # único
padrão INT 18 anos de idade, restrição # default
majorId INT REFERÊNCIAS major (id) # chave estrangeira

);


CREATE TABLE principal (
int id PRIMÁRIA CHAVE,
majorName VARCHAR (20)
);

Veja todos os índices # stuinfo, incluindo chave primária, chave estrangeira, única
SHOW INDEX FROM stuinfo;


# 2. Adicionando restrições no nível de tabela
/ *

Sintaxe: na parte inferior dos campos
[restrição restrição restrição nome] tipo (nomes de campo)
* /

DROP TABLE IF EXISTS stuinfo;
CRIAR stuinfo TABLE (
INT id,
stuname VARCHAR (20),
CHAR gênero (1),
INT assento,
INT idade,
INT majorid,

CONSTRAINT pk PRIMARY KEY (id), #主键
CONSTRAINT uq UNIQUE (sede), #唯一键
CONSTRAINT ck CHECK (gender = '男' ou sexo = '女'), #检查
CONSTRAINT fk_stuinfo_major FOREIGN KEY (majorid) Referências major (id) #外键

);

 

 

SHOW INDEX FROM stuinfo;

 

# Texto genérico: ★

CREATE TABLE SE NÃO EXISTE stuinfo (
id INT PRIMARY KEY,
stuname VARCHAR (20),
CHAR sexo (1),
idade INT PADRÃO 18,
assento INT UNIQUE,
INT majorid,
CONSTRAINT fk_stuinfo_major FOREIGN KEY (majorid) Referências major (id)

);

 

# Em segundo lugar, a restrição adicionado ao modificar as tabelas

/ *
1, restrições de nível de coluna add
alter table modificar coluna da tabela campo do nome do nome do campo digite a nova restrição;

2, as restrições no nível de tabela adicionar
mesa de alter {adicionar restrição restrição restrição name] tipo (nome do campo)] [referências de chave estrangeira;


* /
A DROP TABLE do caso exista stuinfo;
o stuinfo CREATE TABLE (
ID do INT,
stuname VARCHAR (20 é),
. CHAR Sexo (1),
assento do INT,
Idade do INT,
majorid o INT
)
DESC stuinfo;
.. # 1 restrições add-nulos
ALTER TABLE stuinfo MODIFICAR o stuname coluna VARCHAR (20 é) o NOT NULL;
. # 2 foi adicionado restrição padrão
do ALTER TABLE stuinfo a modificar a coluna Idade do INT o padrão 18 é;
.. # 3 adicionar uma chave primária
# ① restrições de nível de coluna
do ALTER TABLE stuinfo a modificar a coluna ID do INT uma chave primária;
# ② restrições no nível de tabela
ALTER TABLE stuinfo CHAVE PRIMÁRIA ADD (id );

# 4. Adicionando um único

# ① constrangimentos ao nível da coluna
a ALTER TABLE stuinfo a modificar o COLUNA a INT ORIGINAL ASSENTO;
# ② constrangimentos ao nível da mesa
ALTER TABLE stuinfo ADD ORIGINAL (assento) ;


# 5添加外键.
ALTER TABLE stuinfo CONSTRAINT ADD fk_stuinfo_major FOREIGN KEY (majorid) Referências major (id);

# Em terceiro lugar, eliminar a restrição ao modificar as tabelas

constrangimento # 1 Excluir não-vazia
ALTER TABLE stuinfo MODIFY COLUNA stuname VARCHAR ( 20) NULL;

# 2 Remova a restrição padrão
ALTER TABLE stuinfo MODIFICAR INT idade COLUNA;

# 3 Exclua a chave primária
ALTER TABLE stuinfo GOTA PRIMARY KEY;

# 4 excluir a única
ALTER TABLE stuinfo assento DROP INDEX;

Nº 5 chaves estrangeiras de exclusão
ALTER TABLE stuinfo GOTA FOREIGN KEY fk_stuinfo_major;

SHOW INDEX FROM stuinfo;

 

Acho que você gosta

Origin www.cnblogs.com/cb1186512739/p/12655337.html
Recomendado
Clasificación