[MySQL] Operações de banco de dados e tabelas

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;

Insira a descrição da imagem aqui

Vamos começar a criar o banco de dados d1:create database d1;

Insira a descrição da imagem aqui

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:

Insira a descrição da imagem aqui

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:

  1. Conjunto de codificação do banco de dados - - - O conjunto de codificação usado pelo banco de dados para armazenar dados no futuro;
  2. 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:

Insira a descrição da imagem aqui

(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:

Insira a descrição da imagem aqui

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;

Insira a descrição da imagem aqui

Em seguida, filtramos o caractere a :select * from for_test where name='a';

Insira a descrição da imagem aqui

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:

Insira a descrição da imagem aqui

A seguir, examinamos os dados desta tabela:

Insira a descrição da imagem aqui

Em seguida, filtramos o caractere a:

Insira a descrição da imagem aqui

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;

Insira a descrição da imagem aqui

(2) Exibir o extrato criado

		show create database 数据库名;

Por exemplo:

Insira a descrição da imagem aqui

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;

Insira a descrição da imagem aqui

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:

Insira a descrição da imagem aqui

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

Insira a descrição da imagem aqui

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:

Insira a descrição da imagem aqui

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 :

Insira a descrição da imagem aqui

(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:

Insira a descrição da imagem aqui

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:

Insira a descrição da imagem aqui

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;

Insira a descrição da imagem aqui

3. Veja a estrutura da tabela

gramática:desc 表明;

Por exemplo, veja a estrutura da tabela de usuários :

Insira a descrição da imagem aqui

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');

Insira a descrição da imagem aqui

  • Adicione um campo à tabela de usuários para salvar o caminho da imagem:alter table users add assets varchar(100) comment '图片路径' after birther;

Insira a descrição da imagem aqui

Após inserir o novo campo, visualizamos os dados da tabela original, o que não tem impacto nos dados da tabela original:

Insira a descrição da imagem aqui

  • Modifique o nome e altere seu comprimento para 60: alter table users modify name varchar(60);

Insira a descrição da imagem aqui

  • Exclua a coluna de senha: alter table users drop password;

Insira a descrição da imagem aqui

Analisamos os dados da tabela e descobrimos que faltavam os dados na coluna de senha :

Insira a descrição da imagem aqui

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

Insira a descrição da imagem aqui

  • Modifique a coluna de nome para xingming:, alter table employee change name xingming varchar(60); o novo campo precisa ser totalmente definido

Insira a descrição da imagem aqui

5. Excluir tabela

gramática:DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

Por exemplo:

Insira a descrição da imagem aqui

Confira novamente:

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/YoungMLet/article/details/134977958
Recomendado
Clasificación