Operações de banco de dados e tabelas
- 1. Operação de banco de dados
-
- 1. Crie banco de dados
- 2. Conjunto de caracteres e regras de verificação
-
- (1) Visualize o conjunto de caracteres padrão do sistema e as regras de verificação
- (2) Verifique os conjuntos de caracteres suportados pelo banco de dados
- (3) Verifique as regras de verificação do conjunto de caracteres suportadas pelo banco de dados
- (4) O impacto das regras de verificação na base de dados
- 3. Manipule o banco de dados
- 4. Exclusão de banco de dados
- 5. Backup e recuperação
- 6. Verifique o status da conexão
- 2. Operações de tabela
1. Operação de banco de dados
1. Crie banco de dados
gramática:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
ilustrar:
- Letras maiúsculas representam palavras-chave. MySQL não diferencia maiúsculas de minúsculas, portanto letras minúsculas também podem ser usadas.
- [] é opcional
- CHARACTER SET: Especifica o conjunto de caracteres usado pelo banco de dados
- COLLATE: especifica as regras de verificação para o conjunto de caracteres do banco de dados
Suponha que agora precisamos criar um banco de dados chamado d1. Primeiro, vamos verificar o banco de dados e verificar o banco de dados:show databases;
Vamos começar a criar o banco de dados d1:create database d1;
Como acima, o banco de dados d1 é criado.
Nota: Quando criamos o banco de dados sem especificar o conjunto de caracteres e as regras de verificação, o sistema usa o conjunto de caracteres padrão: utf8 e as regras de verificação são: utf8_ general_ ci .
-
Crie um banco de dados d2 usando o conjunto de caracteres utf8 :
create database d2 charset=utf8;
-
Crie um banco de dados d3 usando o conjunto de caracteres utf8 com regras de agrupamento:
create database d3 charset=utf8 collate utf8_general_ci;
Crie-o da seguinte maneira:
Também dissemos antes que criar um banco de dados é na verdade criar um diretório no Linux , portanto não repetiremos a introdução aqui.
2. Conjunto de caracteres e regras de verificação
Quando criamos o banco de dados, existem dois conjuntos de codificação:
- Conjunto de codificação do banco de dados - - - O conjunto de codificação usado pelo banco de dados para armazenar dados no futuro;
- Conjunto de verificação de banco de dados - - - suporta o banco de dados e é a codificação usada para comparação de campos.É essencialmente um formato de codificação usado para ler dados no banco de dados;
Portanto, não importa qual operação o banco de dados execute nos dados, ele deve garantir que a operação e a codificação sejam consistentes.
O conjunto de caracteres controla principalmente qual idioma é usado. Por exemplo, utf8 pode usar chinês.
(1) Visualize o conjunto de caracteres padrão do sistema e as regras de verificação
show variables like 'character_set_database'; # 默认字符集
show variables like 'collation_database'; # 检验规则
do seguinte modo:
(2) Verifique os conjuntos de caracteres suportados pelo banco de dados
show charset;
(3) Verifique as regras de verificação do conjunto de caracteres suportadas pelo banco de dados
show collation;
(4) O impacto das regras de verificação na base de dados
- não diferencia maiúsculas de minúsculas
Crie um banco de dados e use utf8_ general_ci para regras de verificação (sem distinção entre maiúsculas e minúsculas, ou seja, sem correspondência estrita durante a verificação, sem distinção entre letras maiúsculas e minúsculas)
create database test1 collate utf8_general_ci;
Então precisamos usar este banco de dados:use test1
Em seguida, criamos uma tabela para este banco de dados e inserimos alguns dados. Não apresentaremos a sintaxe de criar uma tabela e inseri-la agora, mas iremos apresentá-la mais tarde; como segue:
A seguir, verificamos os resultados de inserção desta tabela. Observe que o método de verificação desta tabela não diferencia maiúsculas de minúsculas para correspondência; portanto, primeiro verificamos a situação de toda a tabela:select * from for_test;
Em seguida, filtramos o caractere a :select * from for_test where name='a';
Podemos ver que o banco de dados não distingue entre maiúsculas e minúsculas ao combinar o caractere a e ele é exibido para nós independentemente de maiúsculas ou minúsculas.
- maiúsculas e minúsculas
Crie um banco de dados e use utf8_bin para regras de verificação (diferencia maiúsculas de minúsculas, correspondência estrita é usada durante a verificação, diferencia maiúsculas de minúsculas)
Nós o criamos como acima, conforme mostrado abaixo:
A seguir, examinamos os dados desta tabela:
Em seguida, filtramos o caractere a:
Conforme mostrado na figura acima, como a regra de verificação do banco de dados é utf8_bin , a correspondência estrita é realizada diferenciando maiúsculas de minúsculas, portanto, o caractere filtrado a é o caractere a .
3. Manipule o banco de dados
(1) Ver banco de dados
show databases;
(2) Exibir o extrato criado
show create database 数据库名;
Por exemplo:
ilustrar:
- O MySQL recomenda usar palavras-chave em maiúsculas, mas isso não é obrigatório;
- O backtick `` no nome do banco de dados serve para evitar que o nome do banco de dados usado seja uma palavra-chave.
- / * !40100 default… * / Isto não é um comentário, significa que a versão atual do mysql é superior à versão 4.01, então execute esta frase;
(3) Modifique o banco de dados
gramática:
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
Nota: A modificação do banco de dados refere-se principalmente à modificação do conjunto de caracteres e das regras de verificação do banco de dados.
Suponha que o conjunto de caracteres do banco de dados test1 que criamos acima seja alterado para gbk :alter database test1 charset=gbk;
Conforme mostrado acima, o conjunto de caracteres do banco de dados test1 foi modificado para gbk .
4. Exclusão de banco de dados
gramática:
DROP DATABASE [IF EXISTS] db_ name;
Por exemplo, excluímos o banco de dados test2 que construímos anteriormente :drop database test2;
do seguinte modo:
Conforme mostrado acima, o banco de dados test2 foi excluído.
Resultado após exclusão:
- O banco de dados correspondente não pode ser visto dentro do banco de dados
- A pasta de banco de dados correspondente é excluída, excluída em cascata e todas as tabelas de dados dentro dela são excluídas.
5. Backup e recuperação
(1) Banco de dados de backup
Antes de fazer backup do banco de dados, precisamos sair do mysql .
gramática:
mysqldump -P3306 -u root -p密码 -B 数据库名 > 数据库备份存储的文件路径
Não precisamos inserir a parte da senha na linha de comando. Quando executamos este comando, a linha de comando nos solicitará que a insiramos.
Por exemplo, fazemos backup da biblioteca test1 em um arquivo:mysqldump -P3306 -uroot -p -B test1 > /home/lmy/test1.sql
Neste momento, você pode abrir e dar uma olhada no conteúdo do arquivo test1.sql. Na verdade, todas as nossas instruções para criar um banco de dados, construir tabelas e importar dados são carregadas neste arquivo.
Em seguida, entramos no mysql e excluímos este banco de dados:
Conforme mostrado acima, a biblioteca test1 foi excluída por nós e então a restauramos.
(2) Restaurar
gramática:
source 数据库备份的文件路径;
Entramos no comando no mysqlsource /home/lmy/test1.sql;
: para restaurar a biblioteca test1 no mysql :
(3) Expandir
O que deve ser feito se o backup não for de todo o banco de dados, mas de uma das tabelas? Veja como:
mysqldump -uroot -p 数据库名 表名1 表名2 > 备份文件路径
Se você fizer backup de vários bancos de dados ao mesmo tempo, faça o seguinte:
mysqldump -uroot -p -B 数据库名1 数据库名2 ... > 数据库存放路径
Se você fizer backup de um banco de dados sem o parâmetro -B , ao restaurar o banco de dados, será necessário primeiro criar um banco de dados vazio, depois usar o banco de dados e, em seguida, usar a origem para restaurar.
6. Verifique o status da conexão
Verificar o status da conexão pode nos dizer quais usuários estão atualmente conectados ao nosso MySQL . Se descobrirmos que um usuário não está logado normalmente, é muito provável que nosso banco de dados tenha sido invadido. No futuro, quando você descobrir que seu banco de dados está lento, poderá usar este comando para verificar o status da conexão do banco de dados.
gramática:
show processlist;
Por exemplo:
2. Operações de tabela
1. Crie uma mesa
gramática:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
Você precisa especificar o banco de dados antes de criar a tabela, ou seja, usar: use 数据库;
para criar a tabela do banco de dados.
Observe que não apresentaremos os tipos de dados do banco de dados por enquanto, mas os apresentaremos mais tarde.
ilustrar:
- campo representa o nome da coluna
- tipo de dados representa o tipo de coluna
- conjunto de caracteres conjunto de caracteres, se nenhum conjunto de caracteres for especificado, o conjunto de caracteres do banco de dados prevalecerá.
- agrupar regras de verificação. Se nenhuma regra de verificação for especificada, as regras de verificação do banco de dados prevalecerão.
Por exemplo, criamos uma tabela de usuários , que armazena o id do usuário , nome de usuário , senha e aniversário :
create table users(
-> id int,
-> name varchar(20) comment '用户名',
-> password char(20) comment '密码',
-> birther date comment '生日'
-> ) character set utf8 engine MyISAM;
Nota: Diferentes mecanismos de armazenamento usam arquivos diferentes para criar tabelas. O mecanismo de armazenamento de tabelas de usuários é MyISAM . Existem três arquivos diferentes no diretório do banco de dados. Podemos inserir o diretório para visualizar: cd /var/lib/mysql/d1
, respectivamente:
Entre eles, representam respectivamente:
- users.frm: estrutura da tabela
- usuários.MYD: dados da tabela
- users.MYI: índice da tabela
E db.opt é o conjunto de caracteres e regras de verificação correspondentes ao banco de dados.
2. Ver tabela
Criamos uma tabela de usuários acima, neste momento podemos verificar quais tabelas o banco de dados possui:show tables;
3. Veja a estrutura da tabela
gramática:desc 表明;
Por exemplo, veja a estrutura da tabela de usuários :
O texto acima é uma introdução à estrutura da tabela. Apresentaremos a função de cada coluna em detalhes posteriormente.
4. Modificar tabela
No desenvolvimento real do projeto, a estrutura de uma determinada tabela é frequentemente modificada, como nome do campo, tamanho do campo, tipo de campo, tipo de conjunto de caracteres da tabela, mecanismo de armazenamento de tabela, etc. Ainda temos necessidades, adicionar campos, excluir campos, etc.; então precisamos modificar a tabela.
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...); # 添加
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...); # 修改
ALTER TABLE tablename DROP (column); # 删除
Por exemplo:
Primeiro adicione dois registros à tabela de usuários :
mysql> insert into users values(1, 'a', 'b', '2000-01-01'),
-> (2, 'c', 'd', '2000-01-02');
- Adicione um campo à tabela de usuários para salvar o caminho da imagem:
alter table users add assets varchar(100) comment '图片路径' after birther;
Após inserir o novo campo, visualizamos os dados da tabela original, o que não tem impacto nos dados da tabela original:
- Modifique o nome e altere seu comprimento para 60:
alter table users modify name varchar(60);
- Exclua a coluna de senha:
alter table users drop password;
Analisamos os dados da tabela e descobrimos que faltavam os dados na coluna de senha :
Portanto, você deve ter cuidado ao excluir campos, pois os campos excluídos e os dados das colunas correspondentes serão perdidos.
- Modifique o nome da tabela funcionário:
alter table users rename to employee;
, onde to pode ser omitido
- Modifique a coluna de nome para xingming:,
alter table employee change name xingming varchar(60);
o novo campo precisa ser totalmente definido
5. Excluir tabela
gramática:DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
Por exemplo:
Confira novamente: