Organize as operações básicas do banco de dados MySQL

Funções MySQL, tipos de dados

1. Link para o banco de dados

O link para o banco de dados geralmente requer um nome de usuário e senha MySQL. Se o servidor estiver sendo executado em uma máquina diferente do servidor de login, você também precisará especificar o nome do host.

shell> mysql -h host -u usuário -p
Digite a senha: ********

2. Exibir a estrutura da tabela

DESCRIBE t_name;

3. Configure o alias de consulta

SELECT nome nome, idade FROM t_name;

4. Resumo dos tipos de dados

smallint inteiro de 16 bits

Interger inteiro de 32 bits

Decimal (p, s) p refere-se ao valor do tamanho de todos os números e s refere-se ao número de dígitos após a vírgula decimal.

número real flutuante de 32 bits

número real duplo de 64 bits

char (n) uma string de n comprimento, n não é maior que 254

varchar (n) Uma string de comprimento n, n não é maior que 4000

Graphic (n) é o mesmo que char, mas a unidade é dois caracteres de bytes duplos e n não excede 127. Esta forma é para oferecer suporte a fontes de dois caracteres, como o chinês.

vargrarhic (n) Uma sequência de caracteres duplos de comprimento variável e valor máximo n, n não pode exceder 2.000.

A data contém o ano, mês e data.

o tempo contém horas, minutos e segundos.

timestamp contém ano, mês, dia, hora, minuto, segundo e milésimo de segundo.

5. Consulta de grupo

SELECT * FROM t_name GROUP BY assunto; GROUP BY refere-se a consultas de agrupamento de acordo com uma determinada coluna.

Mencione ter, ter e GROUP BY devem ser usados ​​juntos, por que usar ter em vez de onde é porque só ter pode determinar a coluna de dados calculada pela função, como soma ('dinheiro'). Aqui, você não pode escrever onde dinheiro> xxxx ; Você só pode usar tendo> xxx;

6. Operador

(....) Use parênteses para especificar a ordem das operações SELECT (12 + 3) * 3;

Precedência de operador, a mesma linha tem a mesma precedência

|| , ou, xor

&&,e

não

ENTRE, CASO, QUANDO, ENTÃO, OUTRO

=, <=,> =, <=>, <,>, <>,! =, é, como, regexp, em

|

E

<, >>

-, +

*, /, div,%, mod

^

!

binário, agrupar

7. Funções de string

ASCII (str) O valor de retorno é o caractere mais à esquerda da string str. Se for uma string vazia, o valor de retorno é 0. Se str for nulo, o valor de retorno é nulo.

BIN (n) retorna a representação de string binária de n.

LCASE ("string") / UCASE ("string") #Converter para minúsculas / maiúsculas, que tem o mesmo efeito que LOWER (str) / UPPER (str)

length ("Return string length")

8. Funções matemáticas

ABS (x) retorna o valor absoluto de x

ACOS (x) retorna o arco cosseno de x

ASIN (x) retorna o arco seno de x

ATAN (x) retorna o arco tangente de x, ou seja, a tangente é o valor de x

ATAN (Y, X), ATAN2 (Y, X) retorna o arco-tangente de duas variáveis ​​x e y.

CEILING (X) CEIL (X) retorna o menor valor inteiro não menor que x.

COS (X) retorna o cosseno de x

COT (X) retorna a cotangente de x.

CRC32 (expr) Calcula o valor de verificação do código de redundância cíclica e retorna um valor de símbolo de 32 bits

Vá para o Baidu para ver o que você precisa, porque são muitos.

9. Função de data

A função de data ainda é frequentemente necessária

O intervalo de valores de retorno na descrição da função a seguir solicitará a data completa. Se uma data tiver um valor "zero" ou uma data incompleta, como '2001-11-00', a função que extrai parte do valor da data pode retornar 0. Por exemplo, DAYOFMONTH ('2001-11-00') retornará 0.

ADDDATE (data, INTERVAL tipo expr) ADDDATE (expr, dias)

DAYOFWEEK (data)
  retorna a data data data é o dia da semana (1 = domingo, 2 = segunda-feira, ... 7 = sábado, padrão ODBC)

WEEKDAY (data)
 retorna a data data é o dia da semana (0 = segunda-feira, 1 = terça-feira, ... 6 = domingo).

DAYOFMONTH (data)
 retorna o dia do mês em que a data é (no intervalo de 1 a 31)

DAYOFYEAR (data)
 retorna o dia do ano em que a data é (no intervalo de 1 a 366)

MONTH (data)
 retorna o valor do mês na data

DAYNAME (data) data de
 retorno é o dia da semana (retornado pelo nome em inglês)

MONTHNAME (data)
 retorna o mês da data (retornado pelo nome em inglês)

QUARTER (data)
 retorna em qual trimestre do ano a data é

WEEK (data, primeiro)
 retorna as primeiras semanas do ano para a data (o valor padrão da primeira é 0, o primeiro valor de 1 significa que segunda-feira é o início da semana e 0 começa no domingo)

YEAR (data)
 retorna o ano da data (intervalo de 1000 a 9999)

HOUR (hora)
 retorna as horas de tempo (o intervalo é de 0 a 23)

MINUTE (hora)
 retorna o número de minutos de tempo (o intervalo é de 0 a 59)

SECOND (hora)
 retorna o número de segundos de tempo (o intervalo é de 0 a 59)

PERIOD_ADD (P, N)
 adiciona N meses ao período P e retorna (formato P AAMM ou AAAAMM)

PERIOD_DIFF (P1, P2)
 retorna o número de meses entre os períodos P1 e P2 (formato P1 e P2 AAMM ou AAAAMM)

DATE_ADD (data, tipo de expr de INTERVAL)
DATE_SUB (data, tipo de expr de INTERVAL)
ADDDATE (data, tipo de expr de INTERVAL)
SUBDATE (data, tipo de expr de INTERVAL)

Adicione e subtraia a data e hora, data: a hora a ser calculada, o tipo de valor exper indica como a expressão expr deve ser interpretada

CURDATE ()
CURRENT_DATE ()
 retorna o valor da data atual no formato ' AAAA -MM-DD' ou AAAAMMDD (de acordo com o contexto do valor de retorno, é uma string ou um número)

CURTIME ()
CURRENT_TIME ()
 retorna o valor da hora atual no formato de ' HH : MM: SS' ou HHMMSS (de acordo com o contexto do valor de retorno, é uma string ou um número)

UNIX_TIMESTAMP ()
UNIX_TIMESTAMP (data)
 retorna um carimbo de data / hora Unix (o número de segundos desde '1970-01-01 00:00:00' GMT, data padrão para a hora atual)

SEC_TO_TIME (segundos)
 retorna o valor TIME convertido de segundos no formato de 'HH: MM: SS' ou HHMMSS (de acordo com o contexto do valor de retorno, é uma string ou um número)

TIME_TO_SEC (tempo)
 retorna o número de segundos no valor de tempo

10. função de transmissão

Cast (o tipo de nome de campo como conversão), onde o tipo pode ser: CHAR [(N)]
tipo de caractere  DATE tipo de
data DATETIME tipo de data e hora
DECIMAL tipo flutuante
ASSINADO int
TIME tipo de hora


2. Enciclopédia de gramática básica de banco de dados

1. Crie um novo usuário:

    > CRIAR nome de usuário IDENTIFICADO POR 'ssapdrow';

  2. Altere a senha:

    > DEFINIR SENHA PARA nome = SENHA ('fdddfd');

  3. Gerenciamento de autoridade

    > SHOW GRANTS FOR name; // Exibir as permissões do usuário de nome

    > GRANT SELECT ON db_name. * TO name; // Dê todas as permissões ao banco de dados de nome de usuário db_name

    > REVOKE SELECT ON db_name. * TO name; // Operação reversa de GRANT, remove permissões;

1. Operação do banco de dados: 

  1. Visualize o banco de dados:

    > MOSTRAR BASES DE DADOS;

  2. Crie um banco de dados:

    > CREATE DATABASE db_name; // db_name é o nome do banco de dados

  3. Use o banco de dados:

    > USE db_name;

  4. Exclua o banco de dados:

    > DROP DATABASE db_name;

Dois, crie uma mesa:

  1. Crie uma tabela:

    > CRIAR TABELA nome_tabela (

    > id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, // valor de id, não assinado, não vazio, unicidade de incremento, pode ser usado como chave primária.

    > nome VARCHAR (60) NOT NULL

    > score TINYINT UNSIGNED NOT NULL DEFAULT 0, // Define o valor da coluna padrão

    > CHAVE PRIMÁRIA (id)

    >) ENGINE = InnoDB // Definir o mecanismo de armazenamento da tabela, geralmente InnoDB e MyISAM são comumente usados; InnoDB é confiável e suporta transações; MyISAM é eficiente e não suporta recuperação de texto completo

    > DEFAULT charset = utf8; // Definir a codificação padrão para evitar caracteres truncados chineses no banco de dados

    Se você pode criar uma tabela de dados condicionalmente, você também pode usar> CREATE TABLE IF NOT EXISTS tb_name (........

  2. Copie a tabela:

Copiar estrutura da tabela

> CRIAR TABELA t_2 LIKE t_1

Copie o conteúdo da tabela (a estrutura da tabela deve ser exatamente a mesma)
 
> INSERT INTO t_2 SELECT * FROM t_1

Sugestão (copie a coluna especificada)

> INSERT INTO t_2 (nome) SELECIONE o nome DE t_1

Copie toda a tabela

    > CRIAR TABELA nome_tb2 SELECT * FROM nome_tb;

    Ou cópia parcial:

    > CREATE TABLE nome_tab2 SELECT id, nome FROM nome_tb;

  3. Crie uma tabela temporária:

    > CRIAR TABELA TEMPORÁRIA nome_tb (aqui é o mesmo que criar uma tabela normal);

  4. Visualize as tabelas disponíveis no banco de dados:

    > MOSTRAR TABELAS;

  5. Visualize a estrutura da tabela:

    > DESCREVER nome_tb;

    Você também pode usar:

    > MOSTRAR COLUNAS em nome_tb; // também funciona

  6. Exclua a tabela:

    > DROP [TEMPORARY] TABLE [IF EXISTS] tb_name [, tb_name2 .......];

    Exemplos:

    > DROP TABLE IF EXISTS tb_name;

  7. Renomeie a tabela:

    > RENAME TABLE name_old TO name_new;

    Você também pode usar:

    > ALTER TABLE name_old RENAME name_new;

Três, modifique a tabela:

  1. Altere a estrutura da tabela:

    > ALTER TABLE tb_name ADD [CHANGE, RENAME, DROP] ... o que alterar ...

    Exemplos:

    > ALTER TABLE nome_tb ADD COLUMN endereço varchar (80) NOT NULL;

    > ALTER TABLE nome_tb endereço DROP;

    > ALTER TABLE tb_name CHANGE score score SMALLINT (4) NOT NULL;

Quatro, insira os dados:

  1. Insira os dados:

    > INSERT INTO tb_name (id, nome, pontuação) VALORES (NULL, 'Zhang três', 140), (NULL, 'Zhang quatro', 178), (NULL, 'Zhang cinco', 134);

    Insira vários pedaços de dados aqui, adicione uma vírgula diretamente depois deles e escreva os dados inseridos diretamente; o ID da chave primária é uma coluna incrementada automaticamente, então você não precisa escrevê-lo

  2. Insira os dados recuperados:

    > INSERT INTO tb_name (nome, pontuação) SELECT nome, pontuação FROM tb_name2;

5. Atualizar dados:

  1. Especifique os dados de atualização:

    > UPDATE tb_name SET score = 189 WHERE id = 2;

    > ATUALIZAR nome da tabela SET columnName = NewValue [condição WHERE]

6. Exclua os dados:

  1. Exclua os dados:

    > DELETE FROM tb_name WHERE id = 3;

7. Controle de condição:

  1. Declaração WHERE:

    > SELECT * FROM nome_tb WHERE id = 3;

  2. TENDO declaração:

    > SELECT * FROM nome_tab GROUP BY pontuação TENDO contagem (*)> 2

  3. Caracteres de controle de condição relevantes: 

    = 、> 、 <、 <> 、 IN (1,2,3 ......) 、 ENTRE a E b 、 NÃO

    E 、 OU

    No uso de Linke (),% significa corresponder a qualquer, _ corresponder a um caractere (podem ser caracteres chineses)

    IS NULL detecção de valor nulo

 Oito, expressões regulares do MySQL:

  1. Mysql suporta expressões regulares REGEXP:

    > SELECT * FROM nome_tb WHERE nome REGEXP '^ [AD]' // Encontre o nome começando com AD

  2. Caracteres especiais precisam ser escapados.

 Nove, algumas funções do MySQL:

  1. String link-CONCAT ()

    > SELECIONE CONCAT (nome, '=>', pontuação) DE nome_tb

  2. Funções matemáticas:

    AVG 、 SUM 、 MAX 、 MIN 、 COUNT ;

  3. Função de processamento de texto:

    TRIM 、 LOCALIZAR 、 SUPERIOR 、 INFERIOR 、 SUBSTRING

  4. Operador:

    + 、 - 、 * 、 \

  5. Função de tempo:

    DATA () 、 HORA () 、 DIA () 、 ANO () 、 AGORA () .....

 10. Consulta de grupo:

   1. A consulta de agrupamento pode ser agrupada de acordo com a coluna especificada:

    > SELECT COUNT (*) FROM tb_name GROUP BY pontuação HAVING COUNT (*)> 1;

  2. Ter Uso Condicional;

  3. ORDENAR POR classificação:

    ORDER BY DESC | ASC => Classificar dados em ordem decrescente e crescente

11. Regras UNION - duas instruções podem ser executadas (linhas duplicadas podem ser removidas)

 12. Pesquisa de texto completo - CORRESPONDÊNCIA e CONTRA

  1 、 SELECT MATCH (note_text) AGAINST ('PICASO') FROM tb_name;

  2. O motor InnoDB não suporta pesquisa de texto completo, o MyISAM pode;

 13. Ver

  1. Crie uma vista

    > CREATE VIEW name AS SELECT * FROM tb_name WHERE ~~ ORDER BY ~~;

  2. A função especial da vista:

      a, simplifique a conexão entre as tabelas (escreva a conexão em select);

      b. Reformatar e enviar os dados recuperados (funções como TRIM, CONCAT, etc.);

      c. Filtre dados indesejados (selecione a parte)

      d. Use a visualização para calcular os valores dos campos, como resumir esses valores.

 Quatorze, o uso de procedimentos armazenados:

  Pessoalmente, um procedimento armazenado é uma função personalizada com parâmetros variáveis ​​locais, parâmetros podem ser passados ​​e valores podem ser retornados, mas esta sintaxe é enfadonha o suficiente ~~~

  1. Crie um procedimento armazenado:

    > CRIAR PROCEDIMENTO pro (

    > IN num INT, OUT total INT)

    > BEGIN

    > SELECT SUM (pontuação) INTO total FROM tb_name WHERE id = num;

    > END;

   *** Aqui IN (passa um valor para o procedimento armazenado), OUT (passa um valor do procedimento armazenado), INOUT (passa para dentro e para fora do procedimento armazenado), INTO (salva variáveis)

  2. Chame o procedimento armazenado:

    > CALL pro (13, @ total) // Existem duas variáveis ​​no procedimento armazenado, uma é IN e a outra é OUT. O OUT aqui também precisa ser escrito. Se você não escrevê-lo, receberá um erro

    > SELECT @total // Você pode ver o resultado aqui;

  3. Outras operações do procedimento armazenado:

    > MOSTRAR STATUS DO PROCEDIMENTO; // Exibir o procedimento armazenado atual

    > DROP PROCEDURE pro; // Excluir o procedimento armazenado especificado

15. Use cursores:

  Eu não entendo muito bem, por favor, me dê alguns conselhos de meus amigos ~~~

   1. A operação do cursor

    > CRIAR PROCEDIMENTO pro ()

    > BEGIN 

    > DECLARAR CURSOR DE UM OU DE NOME DE

    > SELECT order_num FROM pedidos;

    > END;

    

    > OPEN ordername; // Abra o cursor


    > CLOSE ordername; // Fecha o cursor

A instância
autoescrita cria PROCEDURE t_cur ()
BEGIN
        declara notf int DEFAULT 0; - A condição de loop é 1 para interromper o loop
    declara um int; - A variável de cursor é usada para receber a
    declaração de idade n VARCHAR (45) em t_test ; - As variáveis ​​do cursor são usadas para receber o nome em t_test
    declarar o cursor atual para selecionar o nome, idade de t_test; - Declarar o valor atribuído pelo cursor para t_test
        DECLARAR CONTINUAR MANIPULADOR PARA NÃO ENCONTRADO CONJUNTO notf = 1; - Reatribuir valor se os próximos dados não podem ser percorridos Is 1
    open cur; - abra o cursor
        FETCH cur INTO n, a; - escreva a primeira linha de dados na variável, o cursor aponta para a primeira linha do registro
    WHILE notf! = 1 DO - juiz
        inserir em t_ceshi (nome, idade) VALORES (n, a); - inserir dados ciclicamente
        FETCH cur INTO n, a; -
    fim desconhecido WHILE;
    fechar cur; - fechar cursor para liberar espaço
END;

16. Gatilho:

  O gatilho refere-se a disparar a operação especificada no gatilho quando uma operação especificada é executada;

  1. As instruções que suportam gatilhos são DELETE, INSERT, UPDATE e outras não são suportadas

  2. Crie um gatilho:

    > CREATE TRIGGER trig AFTER INSERT ON ORDERS PARA CADA LINHA SELECT NEW.orser_name;

    > Instrução INSERT, instrução de gatilho, retorna um valor

  3. Exclua o gatilho

    > DROP TRIGGER trig;

Dezessete, comparação gramatical:

  1, ALTER TABLE (modificar a tabela)

    ALTER TABLE nome_tabela

    (ADICIONE tipo de dados da coluna [NULL | NOT NULL] [CONSTRAINTS]

       CHANGE coluna tipo de dados COLUMNS [NULL | NÃO NULO] [RESTRIÇÕES]

       Coluna DROP ,

       。。。。

    )

  2. COMMIT (assuntos de processamento)

    > COMPROMETE;

   3. CREATE INDEX (crie um índice em uma ou mais colunas)

    CREATE INDEX index_name ON tb_name (coluna [ASC | DESC], .......);

   4. CRIAR PROCEDIMENTO (criar um procedimento armazenado)

    CRIAR PROCEDIMENTO pro ([parâmetros])

    COMEÇAR

    ........

    FIM

   5. CRIAR TABELA (criar tabela)

    CRIAR TABELA nome_tb (

    nome_da_coluna tipo de dados [NULL | NÃO NULO] [condtraints],

    nome_da_coluna tipo de dados [NULL | NÃO NULO] [condtraints],

    .......

    PRIMARY KEY (column_name)

    ) ENGINE = [InnoDB | MyiSAM] CHARSET PADRÃO = utf8 AUTO_INCREMENT = 1;

   6, CRIAR USUÁRIO (criar usuário)

    CRIAR USUÁRIO user_name [@hostname] [IDENTIFICADO POR [PASSWORD] 'pass_word'];

   7, CRIAR VISUALIZAÇÃO (criar uma visualização em uma ou mais tabelas)

    CRIAR [OU SUBSTITUIR] VER view_name AS SELECT 。。。。。。

   8. DELETE (exclua uma ou mais linhas da tabela)

    EXCLUIR DE nome_tabela [ONDE ......]

   9. DROP (excluir permanentemente bancos de dados e objetos, como visualizações, índices, etc.)

    DROP DATEBASE | INDEX | PROCEDIMENTO | TABELA | TRIGGER | USUÁRIO | VER nome

   10. INSERT (adicionar linhas à tabela)

    INSERT INTO nome_tab [(colunas, ......)] VALORES (valor1, ............);

    Insira usando o valor SELECT:

    INSERT INTO tb_name [(colunas, ......)]

    SELECT colunas, ....... FROM tb_name [WHERE ......];

   11. ROLLBACK (revogar um bloco de transação)

    ROLLBACK [TO savapointname];

   12. SAVEPOINT (definir ponto reservado para ROLLBACK)

    SAVEPOINT sp1;

   13, SELECIONE (recuperar dados, exibir informações)

    SELECIONE nome_da_coluna, ..... DE nome_tab [ONDE] [UNIÃO] [RROUP BY] [TENDO] [ORDER BY]

   14, START TRANSACTION (o início de um novo bloco de processamento de transação)

    INICIAR TRANSAÇÃO

   15, UPDATE (atualizar uma ou mais linhas em uma tabela)

    ATUALIZAR nome_tab SET coluna = valor, ...... [onde]


Acho que você gosta

Origin blog.csdn.net/old_wzhou/article/details/78262261
Recomendado
Clasificación