Como visualizar todos os bancos de dados:
Mostrar bancos de dados;
Como entrar em um determinado banco de dados:
use xxx;
Como entrar no banco de dados:
Criar banco de dados jx;
Como descartar um banco de dados:
Descarte o banco de dados jx;
Como visualizar todos os formulários:
Mostrar tabelas;
Como criar uma tabela de dados:
criar tabela professor(id int,nome
varchar(10),endereço varchar(100),pontuação float,hora data);
Como modificar a tabela (adicionar coluna):
alter table teacher add phone varchar(11);
Como modificar uma tabela (eliminar uma coluna):
alterar pontuação de queda de professor de mesa;
Como modificar uma tabela (modificar uma coluna):
alterar mesa professor modificar telefone int;
Como descartar uma tabela:
estudante de mesa suspensa;
Gerenciamento de restrição de tabela:
restrição não nula não nula
restrição única
restrição de chave primária chave primária
padrão de restrição padrão
Exemplo:
criar mesa estudante
(id int chave primária, nome varchar(10) não nulo, telefone varchar(11) padrão "18502348498",endereço
varchar(100) único)
Existem 4 operações para operações de tabela no banco de dados:
CRUD
Adicionar operação:
INSERT INTO empregados_cn
(nome_funcionário, endereço_funcionário, preço_funcionário) VALUES (" Li Lan","Changsha",14500),("Mãe de Li Lan","Zhuzhou",9000);
Excluir operação:
DELETE FROM empregados_cn WHERE nome_do_funcionário="诸葛亮";
DELETE FROM empregados_cn WHERE nome_do_funcionário="周杰" AND endereço_do_funcionário = "深圳";
Modificar operação:
UPDATE Employees_cn set Employees_address = "佛山" , Employees_price = 51000 WHERE Employees_name = "马超";
operação de consulta:
SELECT * de empregados_cn WHERE empregado_preço >= 20000;
SELECIONE 1+2*8+5/2 como resultado;
Desduplicação:
SELECT DISTINCT Employees_price FROM Employees_cn;
Paginação:
SELECIONE * A PARTIR DO LIMITE DA CIDADE 3,15;
Explicação: 3: começa a partir de 4, não inclui 3
15 : Conte 15 linhas para trás.
Use nomes de tabelas totalmente qualificados:
SELECIONE cidade.população FROM cidade;
Ordenar por:
SELECT*from Employees_us ORDER BY Employees_price;
Crescente: asc, você pode deixar em branco porque o padrão é crescente.
Ordem decrescente: desc
Classificar por várias sequências:
Quando a primeira sequência funciona, as colunas seguintes não funcionam e vice-versa.
SELECT * de Employees_us ORDER BY Employees_price,employees_name;
Onde usar:
SELECT * de empregados_cn onde empregados_preço ENTRE 10.000 e 20.000;
SELECT * de empregados_cn onde
Employees_price>=10000e Employees_price<=20000;
SELECT * de empregados_cn onde
Employees_price >= 10000 e Employees_price <= 20000
ORDER BY Employees_price;
SELECT * de empregados_cn onde
Employees_name é nulo;
Combine onde usar:
E:
Selecione * form Employees_cn onde Employees_name=”周杰” e Employees_address=”抚州”;
Ou:
Selecione * form Employees_cn onde Employees_name=”周杰” ou Employees_address=”抚州”;
Em:
Selecione * form Employees_cn em que Employees_id=18 ou Employees_id=21 ou Employees_id=23;
igual
Selecione * form Employees_cn where Employees_id in(18,21,23);
Não em:
Selecione * form Employees_cn where Employees_address não in(" Fuzhou","Zhuzhou","Shanghai");
Uso de Curtir
Quando like é usado sozinho, é equivalente a =.
Selecione * de Employees_us, onde Employees_name como “jerry”;
curinga:
% : Indica qualquer número de caracteres
Selecione * de Employees_us ondeEmployee_name como “%jerry%”;
_: representa qualquer caractere
Selecione * de Employees_cn ondeEmployee_name como “张_”;
personagem de fuga:
Selecione * de Employees_cn onde employee_name como “jerry/_%”escape”/”;
campo de emenda
SELECT concat(employee_name,"---",employee_address) as "结果" FROM `employees_cn`;
campo calculado
SELECT sid*score FROM `score`;
uso de funções
SELECT concat (employee_name,"---",employee_address) como "结果" FROM `employeees_cn`
SELECT sid * pontuação de pontuação;
selecione ESQUERDA (" Olá, você já comeu?",4)
selecione DIREITA (" Oi, você já comeu?",4)
selecione à esquerda (employee_name,2) de Employees_cn onde employee_id = 21
selecione COMPRIMENTO (" Olá")
selecione o comprimento (employee_name) de Employees_cn onde employee_id = 21
selecione SUBSTRING (" Olá, você já comeu???",2)
selecione SUBSTRING (" Oi, você já comeu???",2,4)
selecione SUBSTRING (employee_name,2) de Employees_cn onde employee_id = 21
função de processamento de data
obter data atual
SELECIONE AGORA ();
SELECT SYSDATE ();
SELECT CURRENT_TIMESTAMP ;
SELECT CURRENT_TIMESTAMP ();
SELECT CURRENT_DATE ;
SELECT CURRENT_TIME ;
Formatação de data:
selecione DATE_FORMAT ('2008-08-09 22:23:01','%y-%m-%d %h:%i:%s');
Cadeia até o momento:
selecione STR_TO_DATE ('08/09/2008','%m/%d/%y');
O tempo muda para segundos
selecione TIME_TO_SEC ('01:00:05');
dias até agora
SELECT MAKEDATE (2019,300);
SELECIONE O DIA DO ANO ("2019-10-23");
Funções numéricas:
arredondamento
selecione ROUND (48.3847)
selecione ROUND (48.3847,1)
selecione MOD(CEIL(ROUND(employee_price)), 10) de Employees_cn
Arredondado
selecione CEIL (48.2)
arredondar para baixo
selecione ANDAR (48,9)
Pegue o restante
SELECIONE MODO (18,3)
prescrição
SELECIONE QUADRADO (9)
índice
selecione POW (2,10)
valor absoluto
selecione ABS (-9)
valor médio
Selecione avg (pontuação) da pontuação
contar
Selecione a contagem (*) da pontuação
Selecione contagem (nome distinto) da pontuação
Melhor valor
Selecione o máximo (pontuação), nome da pontuação
Selecione min (pontuação), nome da pontuação
somar
Selecione a soma (pontuação) da pontuação
consulta de grupo
SELECT round(avg(score)),classe da pontuação GROUP BY class;
grupo de filtros
SELECT avg(score) as a,class from score GROUP BY class HAVING a < 80;
SELECIONE a pontuação da pontuação onde a pontuação < 80
onde atua na mesa, tendo atua no grupo
selecione a ordem da cláusula
de, em, juntar, onde, agrupar por, ter, selecionar, distinto, ordenar por, limitar
selecione round(avg(score),1) como a, class from score where score > 70 GROUP BY class HAVING a >= 85 ORDER BY a LIMIT 0,2;
subconsulta:
selecione * da pontuação onde pontuação = (selecione min(pontuação) da pontuação)
É igual à soma das duas frases seguintes
selecione min(pontuação) da pontuação;
selecione * da pontuação onde pontuação = 60;
consulta de conexão
Adequado para operações em várias mesas
Junção externa: incluindo junção esquerda, junção direita
SELECIONE a.*, b.* de student_info a esquerda junte-se a student_score b em a.student_id = b.student_id
SELECIONE a.*, b.* de student_info a junte-se à direita student_score b em a.student_id = b.student_id
Conexão de produto cartesiano: incluindo conexão interna, conexão natural, conexão cruzada, autoconexão (princípio: produto cartesiano)
selecione a.*, b.* de student_info a junção interna student_score b
selecione a.*, b.* de student_info a junção interna student_score b em a.student_id = b.student_id
SELECT A.*, B.* de student_info A cross join student_score B
SELECT A.*, B.* from student_info A cross join student_score B on A.student_id = B.student_id
SELECT A.*, B.* from student_info A junção natural student_score B
selecione B.* da pontuação como A junte a pontuação como B em A.score < B.score e A.name = "王兰"
consulta composta
selecione vend_id, prod_id, prod_price de produtos onde prod_price < 5 union selecione vend_id, prod_id, prod_price de produtos onde vend_id em (1001,1002)
selecione vend_id, prod_id, prod_price de produtos onde prod_price < 5 union all selecione vend_id, prod_id, prod_price de produtos onde vend_id em (1001,1002)
selecione vend_id, prod_id, prod_price de produtos onde prod_price < 5 union all selecione vend_id, prod_id, prod_price de produtos onde vend_id in (1001,1002) ordene por prod_price
O resultado da união é desduplicado, mas o resultado da união não é desduplicado
visualizar
Como criar uma exibição criar exibição abc como selecionar * de Employees_cn onde employee_id ENTRE 14 e 20
As operações de exibição são iguais às operações de tabela
índice
Função: melhorar a velocidade de recuperação
Como criar um índice criar índice aaa em Employees_cn(employee_name, Employees_price)
como usar o índice
romances
- conceito
- Características Consistência atômica Isolamento Persistência
iniciar TRANSAÇÃO;
INSERIR na pontuação (nome, classe, pontuação, sexo, telefone) VALORES (" inteligência", "software 1", '43', "feminino", '1213');
SAVEPOINT p;
INSERIR na pontuação (classe, pontuação, sexo, telefone) VALORES (" Zhang Xiaoxia", "Software 1", "23", "Feminino", '12133');
ROLLBACK para SAVEPOINT p;
comprometer-se;
constante
variável
Variáveis de usuário @ são seguidas por variáveis
definir @nome = " Li Lan";
selecione * de Employees_cn em que Employees_name = @name;
selecione @xxx := (@xxx := 8) + 2;
variável local
agindo em procedimentos armazenados
DECLARE abc int DEFAULT 0;
variável do sistema
Selecione CURRENT_TIME
Selecione CURRENT_USER
Se declaração de controle
Declaração de controle de caso
instrução de controle de loop
função personalizada
procedimento armazenado
acionar