Resumo dos pontos de conhecimento básico do MySQL (1)

Este artigo são as anotações que registrei durante meu estudo. É conveniente para revisão repetida posteriormente. Pode haver erros. Por favor, entenda. É um bom hábito gostar do artigo antes de lê-lo.

Faça login no mysql localmente:
mysql -uroot -p123456
exit mysql
exit
1. Consulta de tabela única
1.
Verifique quais bancos de dados o mysql possui
mostra bancos de dados;  escolha usar o teste de uso do banco de dados; // Crie um banco de dados
usando um banco de dados chamado test : create database fujianjian;/
/Crie um banco de dados chamado fujianjian.
Exiba todas as tabelas no banco de dados: mostre tabelas;  
2.DQL
selecione dname do dept;
3.
selecione dname,deptno from dept;
4.
select * from dept;//Não recomendado, o desempenho será muito baixo
5.
select deptno,dname como deptname from dept;
6.
select deptno,dname deptname from dept;
7.
select deptno,dname 'dept name'from dept;
(enfatize que aspas simples são as mais padrão em bancos de dados)
8.
select ename,sal*12 from emp ;
selecione ename sal*12 como ano de emp;
---条件查询?
9.
selecione ename, empno de emp onde sal=800;
selecione ename, empno de emp onde sal!=800;
selecione ename, empno de emp onde sal<>800;(也是不等于)
10.
selecione ename,empno,sal de emp onde sal<2000;
selecione ename,empno,sal de emp onde sal<=2000;
selecione ename,empno,sal de emp onde sal>=2000;
11.
selecione empno,enaem,sal de emp onde sal >=2450 e sal<=3000;
selecione empno,enaem,sal de emp onde sal entre 2450 e 3000;
12.
selecione empno,ename,sal,comm de emp onde comm é nulo;
selecione empno,ename,sal,comm de emp onde comm não é nulo;
13.
selecione empno,ename,job,sal de emp onde job='lisi' e sal>2500;
14.
selecione empno,ename,ob de emp onde job='haha' ou job='niuniu';
15.
selecione empno,ename,ob de emp onde sal>2500 e (deptno=10 ou detno=20);
16.
selecione empno,ename,ob de emp onde job='haha' ou job='niuniu';
selecione empno,ename,ob de emp onde trabalho está ('haha','niuniu');
select empno,ename,ob from emp where job not in ('haha','niuniu');//括号里面只代表具体值,不代表区间
17.




select ename from emp where ename like '_A%'; (a segunda letra é A)
selecione ename from emp where ename like '__R%'; (a terceira letra é R)
selecione ename from emp where ename like ' %\_% ';(\escape, encontre aqueles que contêm sublinhados)
18.
select ename,sal from emp order by sal;(O padrão é ordem crescente)
select ename,sal from emp order by sal desc;(desc decrescente order)
select ename, sal de emp ordem por sal asc; (asc ordem crescente)
Consulte o nome do funcionário e salário em ordem crescente de salário. Se o salário for igual, ordene por nome em ordem crescente;
selecione ename,sal de emp ordem por sal asc, ename asc;
//sal está na frente, assumindo a posição inicial. Somente se a frente for a mesma, a ordenação subsequente será executada
select ename, sal from emp order by 2; //2 representa a segunda coluna. A segunda coluna é sal;
                        //Não é recomendado escrever assim em desenvolvimento porque não é robusto;
19.
select ename,sal from emp where sal entre 1250 e 3000 order by sal desc; (a ordem não pode ser alterada)
 20. Função de processamento de dados de linha única:
20.1.
select lower(ename) as ename from emp;//lower converte para minúsculas
select upper(ename) as ename from emp;//upper converte para maiúsculas
20.2
select substr(ename,1,1) as ename from emp;( start A posição começa em 1) //substr pega a substring (substr (string interceptada, subscrito inicial, comprimento interceptado))
20.3 
select length (ename) enamelength from emp; //length pega o comprimento  
select concat(empon, ename) from emp; //função concat executa emenda de string
20.4 
select * from emp where ename=trim(' KING'); //trim() remove espaços
20.5 
select 'abc' de emp; gera 14 abc //select Seguido por um valor literal , o valor da quantidade da estrutura da tabela será gerado automaticamente
       select round(123.567,0) como resultado de emp;(0 retém a parte inteira, 1 retém uma casa decimal. -1 retém os dígitos das dezenas e unidades Preencha com 0) / /round gera um número aleatório
20,6 
 select round(rand()*100,0) from emp; //Gera //rand() gera um número aleatório
20,7  de 0 a 1
Os resultados das operações matemáticas envolvendo valores nulos são todos nulos, e a adição não pode
selecionar ename, (sal+ifnull (comm, 0)) * 12 as yearsal from emp; //ifnull função de processamento de valor nulo ifnull (dados, é considerado como esse valor)
20,8 
caso...quando...então...quando...então...senão...fim;
quando o cargo do funcionário é de gerente, o salário é aumentado em 10%, quando... ;
selecione ename,job,sal de emp;
selecione ename,job, (case job quando 'gerente' então sal*1.1 quando 'vendedor' então sal*1.5 else sal end) como newsal de emp; 21. Função de agrupamento, múltiplas
linhas Função de processamento, insira várias linhas e, finalmente, produza uma linha.
21.1 
cinco contagens contagem soma soma média valor máximo valor mínimo valor mínimo 
selecione soma (salário) de emp; //A função de agregação pode ser usada somente após o agrupamento primeiro. Após a seleção, toda a tabela é padronizada em um grupo. Se não houver agrupar depois de onde, Relatório de erros
//contagem ignorará automaticamente nulo, e a função de agrupamento ignorará nulo. Todas essas cinco funções ignorarão nulo.
21.2
contagem A diferença entre um campo específico e contagem(*); contagem(*) calcula o número de linhas em toda a tabela; contagem Um campo ignorará automaticamente nulo;
21.3
A função de agrupamento não pode ser usada diretamente na cláusula where porque a ordem de execução é (from>where>group by >select>order by) porque não há agrupamento no momento do where 22. Consulta de grupo (muito importante; cinco estrelas
* ****) select ... from... where..group by...order by... A sequência de execução é explicada acima.
22.1
Encontre o salário de cada cargo e//Agrupe de acordo com o cargo, e, em seguida, somar o salário
selecione trabalho, soma (sal) do grupo de empregos por cargo; observe que apenas palavras-chave de agrupamento e funções de agrupamento podem ser adicionadas ao campo de consulta e outras não podem ser seguidas; selecione deptno, max (
sal) do grupo de empregos por deptno;
22.2
Descubra os números de cada departamento e diferentes cargos Salário máximo; //Técnica: Combine os dois campos em um campo para visualizar. (agrupamento conjunto de dois campos)
select job, deptno, max (sal) from emp group by deptno, job;
22.3 
Usar tendo que filtrar. Deve ser usado em conjunto com group by para
encontrar o maior salário de cada departamento. É obrigado a exibir o salário mais alto superior a 3.000?
select deptno, max(sal) from emp group by deptno tendo max(sal)>3000;
//Para dados que podem ser filtrados por onde, use where para filtrá-los primeiro. A eficiência será maior do que have. Se where não puder resolver o problema, use tendo. frase
select deptno, max (sal) from emp where sal>3000 group by deptno;
onde não tem jeito? Descubra o salário médio de cada departamento e solicite a exibição do salário superior a 2500;
selecione deptno, avg (sal) do grupo emp por deptno tendo avg (sal) > 2500;
Um resumo da consulta de tabela única:
select ... de. ..onde...agrupar por...ordenar por...
Ordem de execução 1.de 2.onde 3.agrupar por 4.ter 5.selecionar 6.ordenar por
para encontrar o salário médio de cada cargo e exigir a média a ser exibida Se o salário for maior que 1500, exceto
para cargos de gerente, é necessário selecionar o cargo em ordem decrescente do , avg (sal) como avgsal from emp onde cargo <> 'gerente' agrupar por cargo tendo avg(sal)>1500 pedido por avgsal desc ;
--------------------------------------- --------- ----------------------------------------- --------- ----------------------------------

Acho que você gosta

Origin blog.csdn.net/m0_55315930/article/details/121620332
Recomendado
Clasificación