-
Banco de Dados Relacional
● Tabela bidimensional
● Uma linha em uma tabela é chamada de registro e uma coluna em uma tabela é chamada de campo (atributo)
● O valor de uma célula que cruza uma linha e coluna é chamado de valor de atributo ou valor de campo.
● Banco de dados relacional ORACLE DB2 Mysql SQL SERVER -
Comandos comumente usados (podem ser executados na linha de comando ou você pode criar uma nova execução de consulta no Navicat)
Ver o número da versão
select version()
Mostrar todos os bancos de dados
show databases;
Defina o banco de dados atual
use 数据库名
Ver todas as tabelas do banco de dados
show tables
Ver a estrutura da tabela
desc 表名
- Mecanismo de armazenamento
Algumas regras para operações de armazenamento, gerenciamento e consulta de banco de dados.
Três tipos de mecanismos de dados
1) mecanismo de armazenamento innoDB
● mecanismo de armazenamento padrão
● suporte a chaves estrangeiras
● suporte a transações
2) MYISAM
● suporte a recuperação de texto completo
● não suporte a chaves estrangeiras
3) MEMERY
● mecanismo de memória, criar tabelas na memória
● acesso rápido
-
Conjunto de caracteres
● O formato de codificação dos dados armazenados no banco de dados
● O chinês geralmente usa utf8
● O agrupamento utf8_general_ci ci significa que as letras maiúsculas e minúsculas não são sensíveis
● O MySQL não é sensível às letras em inglês -
script sql
● .sql como um arquivo com extensão
● conveniente para implantação de banco de dados -
Gerenciamento de
banco de dados Criação de banco de dados
CREATE DATABASE 数据库名 CHARACTER SET utf8 COLLATE utf8_general_ci
CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET UTF8 COLLATE utf8_general_ci ;
Exclusão de banco de dados
DROP DATABASE 数据库名
-
Diagrama ER
● ENTITY RELATIONSHIP Diagrama de relacionamento entre entidades, um modelo de dados gerado durante a fase de design lógico do banco de dados.
● Contém três elementos:- A entidade entidade realmente corresponde à tabela no banco de dados
- Os atributos correspondem, na verdade, aos campos da tabela
- Relação entre tabelas e tabelas
● Um para um
● Um para muitos
● Muitos para muitos
-
Tipo de dados
1) Tipo numérico
● BIT bit
● TINYINT pequeno inteiro, -128 ~ 127 sem sinal sem sinal 0 ~ 255
● BOOLEAN é representado por TINYINT (1), 0 representa falso e o valor diferente de zero representa verdadeiro
● SAMLLINT -32768 ~ 32767
● INT mais ou menos mais de 2,1 bilhões
● BIGINT muitos, muitos
● FLOAT
● DOUBLE
● DECIMAL
2) Tipo de string
● CHAR (n) string de comprimento fixo de n
● VARCHAR (n) string de comprimento variável, n é o comprimento máximo, real O comprimento armazenado é o comprimento real da string.
● TEXTO texto grande, como o conteúdo do capítulo de um romance.
● Enumeração ENUM
3) Tipo de data
● DATA
● DATAHORA
● HORA
● ANO
● TIMESTAMP A memória do carimbo de data / hora registra a hora da última atualização. O valor padrão do campo precisa ser definido como CURRENT_TIMESTAMP e o registro de data e hora é verificado. -
Tipo de restrição
● Ao inserir registros na tabela, certas regras são seguidas, chamadas de restrições, para garantir a integridade e consistência dos dados.
Restrição de chave primária
● PRIMARY KEY
● Uma ou mais colunas na tabela, defina a restrição de chave primária, o que significa que o valor da coluna é único na tabela.
● O valor da chave primária não pode ser NULL e deve ser exclusivo.
● Sintaxe:
字段名 PRIMARY KEY AUTO_INREMENT
● AUTO_INREMENT indica que a chave primária aumenta a
restrição de exclusividade
● UNIQUE
● indica que o valor do campo é único na tabela, mas o valor é NULL
● vários campos na tabela podem definir restrições exclusivas
● Sintaxe:
字段名 UNIQUE
Restrição não nula
● NÃO NULO
● O valor do campo não pode ser nulo
● Sintaxe:
字段名 NOT NULL
Valor padrão
● DEFUALT
● Se nenhum valor for atribuído ao campo ao inserir um registro na tabela, o valor padrão é usado.
● Sintaxe:
字段名 DEFAULT 值
Restrição de chave estrangeira
● FOREIGN KEY
● Um campo em uma tabela é um valor obtido de um campo em outra tabela para formar uma restrição de chave estrangeira
● Os tipos de dados dos campos relacionados nas duas tabelas devem ser consistentes.
● Estratégia para restrições de chave estrangeira:
● restringir, noaction Para registros que formaram restrições de chave estrangeira, os registros associados na tabela referenciada não podem ser excluídos.
● definir nulo Para registros que formaram uma restrição de chave estrangeira, após o registro na tabela referenciada ser excluído, o valor do campo correspondente do registro associado na tabela principal é definido como nulo
● cascata Para registros que formaram uma restrição de chave estrangeira, se você excluir ou Atualizar os registros na tabela referenciada, os registros associados à tabela principal também serão excluídos ou atualizados.
Restrição CHECK
● mysql não oferece suporte a esta restrição, geralmente é implementada por meio de enumeração ou gatilho.
- Criação de tabela
● Sintaxe
CREATE TABLE 表名(
字段名 数据类型 约束,
字段名 数据类型 约束
)
- Exclusão de tabela
DROP TABLE 表名
-
Mesa de mudança
● ALTER -
SQL declaração
● SQL structed Query Language
● DDL dados de definição de linguagem de definição de linguagem de dados CRIAR ALTER GOTA apresenta
para as operações sobre a estrutura dos componentes de banco de dados ou banco de dados : a reversão de transações não é permitido. ● DML DATA MANIPULATION LANGUAGE dados operação linguagem tabela adições, exclusões e alterações de registro INSERT DELETE UPDATE Características: rollback de transação é possível ● DQL DATA QUERY LANGUAGE linguagem de consulta de dados SELECT ● DCL DATA CONTROL LANGUAGE linguagem de controle de dados GRANT autoridade de recuperação REVOKE autorizada ● TPL TRANSACTION PROCESS LANGUAGE COMMIT ROOLBACK -
DML
INSERT insere registros na tabela
● Sintaxe
INSERT INTO 表名(字段列表) VALUES(值列表)
● Entre eles:
● 1. A lista de campos e a lista de valores são separadas por vírgulas
● 2. Os valores na lista de valores, string e constantes de data devem ser colocados entre aspas simples.
● 3. O tipo de valor deve corresponder ao tipo de dados do campo.
● 4. INTO pode ser omitido.
● 5. Se a lista de campos for um campo inserido em toda a tabela, pode ser omitido, mas o número e a ordem da lista de valores devem ser consistentes com a tabela definida A ordem dos campos é a mesma.
● 6. O campo também pode escrever alguns deles, o que corresponde ao número dos seguintes valores.
● 7. A palavra-chave VALUES também pode usar VALUE, mas os valores geralmente são usados
● Insira vários registros em lotes
● INSERT INTO nome da tabela (nome do campo) VALUES (lista de valores 1), (lista de valores 2),…, (lista de valores n)
ATUALIZAÇÃO
● Faça alterações nos registros da tabela
● Sintaxe
UPDATE 表名 SET 字段名1=值1, 字段名2=值2 WHERE子句
● A cláusula where é usada para limitar os registros modificados. Se nenhuma cláusula where for adicionada, todos os registros na tabela serão modificados por padrão.
DELETE
● Usado para excluir registros da tabela
● Sintaxe
DELETE FROM 表 WHERE子句
Truncamento de tabela
● TRUNCATE TABLE nome da tabela
● Truncamento de tabela, apaga todos os registros na tabela.
A diferença entre TRUNCATE e DELETE
● Ambos podem excluir registros da tabela. Excluir pode excluir todos os registros da tabela ou excluir alguns registros de acordo com a condição where, e truncar só pode limpar todos os registros da tabela.
● excluir pertence a DML, transações podem ser revertidas, truncar pertence a DDL e transações não podem ser revertidas.
- A cláusula where é
usada para restringir condicionalmente o
operador relacional
● = igual a
●! = <> Diferente de
●>> =
● << =
● Observação: além da comparação de valor, o operador relacional também pode comparar datas, contratado> '1982-1 -1 '
Julgamento de valor nulo
● IS NULL
● IS NOT NULL
julgamento de intervalo
● BETWEEN ... AND ... significa que o valor está em um intervalo contínuo
● WHERE sal BETWEEN 3000 AND 5000 significa filtrar os registros com salário entre 3000 e 5000, e incluir Dois limites de 3.000 e 5.000.
● NOT BETWEEN ... AND ... indica que o valor não está em um
conjunto de intervalo contínuo (discreto)
● IN indica que o valor está no conjunto
● WHERE deptno IN (10,20,40)
● NOT IN indica que o valor não está na
lógica definida Operador
● Concatenar várias condições de filtro na cláusula where
● && AND e
● || OR ou
●! NOT NOT
Fonte: Neusoft Java Training