[Notas do MYSQL] Modificar Tabela

Tabela de exemplo: tabela de informações do funcionário: id(varchar(10)), name(varchar(100)), age(int)

Modifique o tipo de dados da coluna:

alter table 表名 modify 列名 数据类型;

Exemplo: o número de caracteres modificados no nome da coluna não excede 100

alter table tb modify name varchar(100);

Nota: As colunas que armazenam dados cujo início não é 0 e consistem apenas em caracteres numéricos podem ser modificadas de acordo com o tipo int, varchar->int.

Mas se houver dados na coluna, em princípio, o tipo de dados da coluna não deve ser modificado.

Adicionar colunas:

alter table 表名 add 列名 数据类型;

Exemplo: Adicione uma coluna nascimento do tipo datetime que pode inserir a data de nascimento do funcionário

alter table tb add birth datetime;

Adicione a coluna à frente:

As colunas criadas usando alter table add são adicionadas ao final da tabela. Se você adicionar primeiro ao comando, a nova coluna será adicionada à frente.

Exemplo: Adicione a coluna do tipo datetime birth na frente de tb

alter table tb add birth datetime first;

Adicione colunas em qualquer lugar:

Use depois para adicionar a coluna à posição especificada.

alter table tb add birth datetime after id;

Modifique a ordem das colunas:

A posição da coluna também pode ser modificada usando Modify

Exemplo: Alterar o último parto para a posição frontal

alter table tb modify borth datetome first;

 Modifique o nome da coluna e modifique o tipo de dados da coluna:

alter table 表名 change 修改前的列名 修改后的列名 修改后的数据类型;

Exemplo: Modifique o nascimento da tabela tb para tipo data, e modifique o nome da coluna para aniversário, e exiba a estrutura da coluna após a modificação.

alter table tb change birth birthday date;
desc tb;

Remover colunas:

alter table 表名 drop 列名;

Exemplo: excluir a coluna aniversário da tabela tb

alter table tb drop birthday;

Não apenas colunas, o comando drop também é usado ao realizar operações em bancos de dados e tabelas.

Quando uma coluna é excluída, os dados armazenados na coluna também são excluídos. Esta operação não afeta outras colunas.

Defina a chave primária:

Exclusivo: Após a criação do banco de dados, é necessário encontrar uma maneira de determinar apenas um registro elegível de uma grande quantidade de dados. Por exemplo, permita que cada funcionário tenha um ID exclusivo. Esse estado único que determina apenas um é chamado de único.

Chave primária: Um identificador usado para identificar um registro entre vários registros.

Para poder determinar estritamente um registro, a chave primária precisa ter (1) nenhum valor duplicado (2) nenhum valor nulo (null) é permitido

Defina a chave primária ao criar a tabela:

create table 表名(列名 数据类型 primary key ...)

 Exemplo: Crie a tabela tb1, a coluna como chave primária é do tipo int, e a coluna b é do tipo varchar (10)

create table tb1(a int primary key,b varchar(10));

 Valores duplicados e valores nulos não são permitidos nas colunas da chave primária

Chave exclusiva: você pode definir uma chave exclusiva que "não permite duplicatas, mas pode ser nula"

create table tb(a int unique,b varchar(10));

Faça colunas com numeração sequencial automática:

Para listas ou números de série de listas, etc., sempre temos que inserir números como dados de coluna, o que não é apenas problemático, mas também propenso a erros.

Portanto, seria muito mais conveniente inserir automaticamente números de série consecutivos, como 1, 2, 3 e 4.

Definição de colunas com numeração sequencial automática:

Ao definir colunas, faça as seguintes configurações:

(1) O tipo de dado é int: (tinyint ou smallint), por ser um número contínuo, o tipo de dado é naturalmente um inteiro.

(2) Mais auto_increment: usado para declarar a numeração contínua.

(3) Defina a chave primária para tornar a coluna única: a coluna com a função de numeração de série automática é única e não é repetida ou vazia. Essa coluna é frequentemente usada como chave primária.

create table tb (a int auto_increment primary key, b varchar(10));

Insira registros usando numeração sequencial automática:

Como as colunas com numeração de série automática inserirão números automaticamente, use desde que você insira dados em outras colunas.

Ou pegue a entrada 0 ou null

insert into tb (b) values('a'),values('b'),values('c');

Defina valores iniciais para números consecutivos:

Colunas com numeração de série automática também podem ser definidas para qualquer valor.

insert into tb values(100,'aa');

O valor 100 será inserido na coluna a e, em seguida, serão atribuídos números consecutivos a partir de 101, ou seja, os valores serão atribuídos a partir do valor máximo inserido + 1.

Valores duplicados não podem ser inseridos porque a propriedade de chave primária está definida.

Inicialização de números consecutivos:

Se você excluir todos os registros da tabela e, em seguida, reinserir os registros, os números não serão atribuídos a partir de 1, mas do valor do valor máximo existente + 1.

Se você deseja excluir todos os registros e deixar o número começar em 1 para ser inserido continuamente (inicialização)

alter table 表名 auto_increment=1;

Quando houver dados na tabela, se o número do conjunto for maior que o valor existente, você também poderá redefinir o valor inicial do número através da instrução acima.

Defina valores padrão para colunas:

create table 表名(列名 数据类型 default 默认值...);

 Exemplo: adicione a capacidade de inserir automaticamente 'sem nome inserido' se nenhum valor for inserido na coluna de nome

alter table tb modify name varchar(10) default '未输入姓名';

Crie um índice:

Crie um índice chamado my_id no id da coluna da tabela tb:

create index my_id on tb(id);

 Mostrar índice:

show index from 表名;

Índice de queda:

drop index 索引名 on 表名;

 

 

 

 

 

 

Acho que você gosta

Origin blog.csdn.net/m0_52043808/article/details/124179211
Recomendado
Clasificación