MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A...
Transcript of MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A...
![Page 1: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/1.jpg)
Fábio Borges de OliveiraFábio Borges de Oliveira
MySQLMySQL
![Page 2: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/2.jpg)
Incremento automáticoIncremento automáticoCREATE TABLE alunos
( registro MEDIUMINT NOT NULL AUTO_INCREMENT, nome CHAR(30) NOT NULL, PRIMARY KEY (registro) );
INSERT INTO alunos (nome) VALUES ("Fábio"),("Ana"),("Michele"), ("Thais"),("Débora"),("Rachel")
![Page 3: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/3.jpg)
ADMADMShell> mysql -u root mysql
UPDATE user SETPassword=PASSWORD('nova_senha') WHERE user='root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON databases.*TO fulano@'192.58.197.0/255.255.255.0';
SHOW FULL PROCESSLIST;
![Page 4: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/4.jpg)
Incluindo usuáriosIncluindo usuáriosUSE mysqlINSERT INTO user VALUES('localhost','fulano',
PASSWORD('senha'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON db.* TO fulano@'server.domain' IDENTIFIED BY 'senha';
![Page 5: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/5.jpg)
Apagando usuáriosApagando usuáriosDROP USER nome_usuário
DELETE FROM mysql.user WHERE user=' nome_usuário' and host='hostname';
FLUSH PRIVILEGES;
![Page 6: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/6.jpg)
Outras permissõesOutras permissõesGRANT ...
WITH MAX_QUERIES_PER_HOUR N1 MAX_UPDATES_PER_HOUR N2 MAX_CONNECTIONS_PER_HOUR N3;
![Page 7: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/7.jpg)
StringsStrings\0 Um caractere ASCII 0 (NUL). \' Um caractere de aspas simples (').\" Um caractere de aspas duplas ("). \b Um caractere de backspace. \n Um caractere de nova linha. \r Um caractere de retorno de carro. \t Um caractere de tabulação. \z ASCII(26) (Control-Z). \\ O caractere de barra invertida. \% Um caractere "%" . \_ Um caractere '_'.
![Page 8: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/8.jpg)
Comentários Comentários select 1+1; # comentário até o fim da linha
select 1+1; -- comentário até o fim da linha
select 1 /* Este é um comentário de linha */ + 1;
select 1+ /* Este é um comentário de múltiplas linhas */ 1;
![Page 9: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/9.jpg)
Tipo de campos Tipo de campos TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Um inteiro muito pequeno. A faixa deste inteiro com sinal é de -128 até 127. A faixa sem sinal é de 0 até 255.
BITBOOLBOOLEAN
Estes são sinônimos para TINYINT(1).
![Page 10: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/10.jpg)
Interios Interios SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Um inteiro pequeno. A faixa do inteiro com sinal é de -32768 até 32767. A faixa sem sinal é de 0 a 65535.
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]Um inteiro de tamanho médio. A faixa com sinal é de -
8388608 a 8388607. A faixa sem sinal é de 0 to 16777215.
INT[(M)] [UNSIGNED] [ZEROFILL]Um inteiro de tamanho normal. A faixa com sinal é de -
2147483648 a 2147483647. A faixa sem sinal é de 0 a 4294967295.
INTEGER[(M)] [UNSIGNED] [ZEROFILL]Este é um sinônimo para INT.
![Page 11: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/11.jpg)
Inteiro grande Inteiro grande BIGINT[(M)] [UNSIGNED] [ZEROFILL]
A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal é de 0 a 18446744073709551615. Todas as operações aritméticas são feitas usando valores BIGINT ou DOUBLE com sinal, não devemos utilizar inteiros sem sinal maiores que 9223372036854775807 (63 bits). Quando usar operadores (+, -, *, etc.) onde ambos os operadores são inteiros. Você pode armazenar valores inteiro exatos em um campo BIGINT armazenando-os como string, como ocorre nestes casos não haverá nenhuma representação intermediaria dupla.
![Page 12: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/12.jpg)
Flutuantes Flutuantes FLOAT(precisão) [UNSIGNED] [ZEROFILL]
Um número de ponto flutuante. Não pode ser sem sinal. precisão pode ser <=24 para um número de ponto flutuante de precisão simples e entre 25 e 53 para um número de ponto flutuante de dupla-precisão. Estes tipos são como os tipos FLOAT e DOUBLEdescritos logo abaixo. FLOAT(X) tem o mesma faixa que os tipos correspondentes FLOAT e DOUBLE, mas o tamanho do display e número de casas decimais é indefinido. FLOAT(precisão) sempre tem 2 casas decimais.
![Page 13: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/13.jpg)
Dupla precisãoDupla precisãoDOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
Um número de ponto flutuante de tamanho normal (dupla-precisão). Valores permitidos estão entre -1.7976931348623157E+308 e -2.2250738585072014E-308, 0 e entre 2.2250738585072014E-308 e 1.7976931348623157E+308. Se UNSIGNED for especificado, valores negativos não são permitidos. O M é a largura do display e o Dé número de casa decimais. DOUBLE sem argumento ou FLOAT(X) onde 25 <= X <= 53 são números de ponto flutuante de dupla-precisão.
![Page 14: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/14.jpg)
Exemplos Exemplos salário DECIMAL(5,2)
Tipo bytes de atéTINYINT 1 -128 127 SMALLINT 2 -32768 32767 MEDIUMINT 3 -8388608 8388607 INT 4 -2147483648 2147483647 BIGINT 8 -9223372036854775808
9223372036854775807
![Page 15: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/15.jpg)
Datas e horas Datas e horas Tipo de Coluna Valor ''Zero''DATETIME '0000-00-00 00:00:00'DATE '0000-00-00'TIMESTAMP 00000000000000TIME '00:00:00'YEAR 0000
Valores de ano na faixa 00-69 são convertidos para 2000-2069. Valores de anos na faixa 70-99 são convertidos para 1970-1999.TIMESTAMP 'YYYY-MM-DD HH:MM:SS'
![Page 16: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/16.jpg)
Formatos Formatos Tipo da Coluna Formato do Display
TIMESTAMP(14) YYYYMMDDHHMMSSTIMESTAMP(12) YYMMDDHHMMSSTIMESTAMP(10) YYMMDDHHMMTIMESTAMP(8) YYYYMMDDTIMESTAMP(6) YYMMDDTIMESTAMP(4) YYMMTIMESTAMP(2) YY
![Page 17: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/17.jpg)
Texto Texto Tipo tamanho-máximo bytesTINYTEXT ou TINYBLOB 2^8-1 255 TEXT ou BLOB 2^16-1 (64K-1) 65535 MEDIUMTEXT ou MEDIUMBLOB 2^24-1
(16M-1) 16777215 LONGBLOB 2^32-1 (4G-1) 4294967295
![Page 18: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/18.jpg)
Incluindo fotosIncluindo fotos
UPDATE tabela SET blob_coluna=LOAD_FILE("/tmp/foto")
WHERE id=1;
![Page 19: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/19.jpg)
Enumerados Enumerados ENUM("um", "dois", "três")
Valor IndiceNULL NULL"" 0 "um" 1 "dois" 2 "três" 3
máximo de 65535 elementos
![Page 20: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/20.jpg)
ConjuntosConjuntosSET("a","b","c","d")
SET membro valor-decimal valor-binárioa 1 0001b 2 0010c 4 0100d 8 1000
WHERE col_set = 'val1,val2';WHERE FIND_IN_SET('valor',col_set)>0;
![Page 21: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/21.jpg)
Seleções Seleções SELECT 1 BETWEEN 2 AND 3; SELECT 'b' BETWEEN 'a' AND 'c'; SELECT 2 BETWEEN 2 AND '3';SELECT 2 IN (0,3,5,'Fábio'); SELECT 'Fábio' IN (0,3,5,'Fábio'); SELECT CASE var WHEN 1 THEN "um" WHEN
2 THEN "dois" ELSE "mais" END; SELECT CASE WHEN var1>var2 THEN
"verdadeiro" ELSE "falso" END;
![Page 22: MySQL - lncc.brborges/php/11 - MySQL.pdf · Inteiro grande . BIGINT[(M)] [UNSIGNED] [ZEROFILL] A faixa com sinal é de -9223372036854775808 a 9223372036854775807. A faixa sem sinal](https://reader034.fdocuments.in/reader034/viewer/2022042416/5f3100f7d670647ec51f580d/html5/thumbnails/22.jpg)
Funções de textoFunções de textoSELECT IF(STRCMP('teste','teste1'),'não','sim');SELECT IFNULL(1/0,10);SELECT NULLIF(1,1); #NULLSELECT NULLIF(1,2); #1SELECT ISNULL(1/0);SELECT CONCAT('My', 'S', 'QL'); SELECT LEFT('Fábio Borges', 5); SELECT LCASE('MYSQL');SELECT LTRIM(' Fábio');SELECT LENGTH('texto');