Obrigado, Convidado!
Bem-vindo ao FMGARCIA - SAMP!
HuemersonFMG | ||||
CleidiSilva21 | ||||
barbfix | ||||
Tranks_NorT | ||||
RenatoFMG | ||||
William | ||||
Vinícius_ Kawasaki | ||||
scorpio | ||||
alfredw10 |
MySQL - Conceitos e comandos
MySQL - Conceitos e comandos
MySQL - Conceitos e comandos
O que é SQL e para que ele serve - [SQL - Structured Query Language]
Site: https://dev.mysql.com/downloads/mysql/ => Windows (x86, 32 bits), instalador MSI padrão.
Veja neste curso de MySQL como funciona um banco de dados e como utilizar os recursos do MySQL.
Neste curso, você irá aprender a criar banco de dados, trabalhar com tabelas, compreender a linguagem SQL, relacionamento entre tabelas, modelagem de dados utilizando o MySQL Workbench.
SQL:
A sigla SQL significa “Structured Query Language”, ou “Linguagem de Consulta Estruturada”, em português. Resumidamente, é uma linguagem de programação para lidar com banco de dados relacional (baseado em tabelas). Foi criado para que vários desenvolvedores pudessem acessar e modificar dados de uma empresa simultaneamente, de maneira descomplicada e unificada.
A programação SQL pode ser usada para analisar ou executar tarefas em tabelas, principalmente através dos seguintes comandos: inserir (‘insert’), pesquisar (‘search’), atualizar (‘update’) e excluir (‘delete’). Porém, isso não significa que o SQL não possa fazer coisas mais avançadas, como escrever queries (comandos de consulta) com múltiplas informações.
Um banco de dados é uma coleção de dados relacionados. Com dados, queremos dizer fatos conhecidos que podem ser registrados e possuem significado implícito. De forma direta e simples, podemos dizer que um banco de dados é uma coleção de dados.25 de mai. de 2020
O SQL (Structured Query Language ou linguagem de consulta estruturada, em português) é a linguagem universal de manipulação de dados relacionais. Por isso, todas os sistemas de gerenciamento de banco de dados relacionais (SGBDRs) utilizam essa linguagem, mesmo que em diferentes padrões
SQL ou Structure Query Language, é uma linguagem computacional destinada a aplicações de banco de dados, mas, SQL não é o banco de dados em si. Ela foi padronizada pela ANSI (American National Standards Institute - Instituto Nacional de Padronização Americano) para a operação em bancos de dados relacionais.
É uma linguagem fundamental para qualquer profissional de análise, ciência ou engenharia de dados, sendo ainda mais usada do que Python e R. Contudo, devido a sua simplicidade, não é necessário ser um programador para aprendê-la, e em cada vez mais áreas têm sido exigido o conhecimento em SQL como complementar em tarefas cotidianas.
Alguns Comandos do MySQL:
O comando para criar um banco de dados é este:
- Código:
CREATE DATABASE nome-do-banco;
Para ver todos os bancos de dados existentes no servidor:
- Código:
SHOW DATABASES;
Para criar um novo Banco de Dados:
- Código:
CREATE DATABASE testes;
Como criar uma tabela no MySQL
Primeiro abra o banco de dados
- Código:
USE testes;
Agora, vamos criar uma tabela dentro dele, com o nome clientes:
- Código:
CREATE TABLE clientes ( idCliente int NOT NULL auto_increment, nomeEmpresa varchar(255) not null, nomeDiretor varchar(255) default NULL, numEmpregados mediumint default NULL, PRIMARY KEY (idCliente)) ;
Exibir todas as tabelas presentes no banco de dados selecionado:
- Código:
SHOW tables;
Para obter informações sobre uma tabela, você pode usar o comando DESCRIBE ou DESC:
- Código:
DESCRIBE clientes;
Inserir mais dados em uma tabela
- Código:
INSERT INTO `clientes` (`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES ("Malesuada Inc.","Johnny Pedd",4847);
INSERT INTO `clientes` (`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES ("Aliquam Inc.","Al Capino",4135);
INSERT INTO `clientes` (`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES ("Union Carbide","Robert Ne Diro",3755);
INSERT INTO `clientes` (`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES ("Magna Carta Ltda.","Wenzel Dashington",3071);
INSERT INTO `clientes` (`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES ("Nunc Corp.","",3859);
INSERT INTO `clientes` (`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES ("In Company","Macaulay Bulkin",4440);
Ver os registros na tabela com o comando SELECT
SELECT * FROM clientes;
Se quiser ver apenas o conteúdo dos campos id_cliente e nome_empresa, use-o assim:
- Código:
SELECT id_cliente, nome_empresa FROM clientes;
Para remover um registro de uma tabela
- Código:
DELETE FROM nome-da-tabela WHERE nome-da-coluna=texto;
Como remover uma tabela ou um banco de dados
Seja cuidadoso(a). O comando DROP apaga permanentemente uma tabela ou um banco de dados.
- Código:
DROP TABLE nome-da-tabela;
Como remover um banco de dados
- Código:
DROP DATABASE nome-do-banco;
Limpar uma tabela
- Código:
TRUNCATE TABLE nome-da-tabela;
Alterar um registro no MySQL
- Código:
UPDATE clientes SET numEmpregados=1999 WHERE idCliente = 1;
Alterar uma tabela no MySQL
- Código:
alter table alunos add primary key (id);
Tipos de dados:
Tipo Inteiro
MySQL suporta todos os tipos de dados numéricos SQL padrão.
A tabela a seguir mostra o armazenamento e faixa para cada tipo integer necessário.
Data e Hora
Ele indica a data e hora para o tipo de valor temporal do DATETIME, DATE, TIMESTAMP, TIME, e YEAR.
Strings
Refere-se a um tipo de cadeia CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM e SET.
CHAR semelhante e tipo VARCHAR, mas salvar e recuperar maneiras diferentes. Seu comprimento máximo e se espaços à direita são mantidas, também é diferente. processo de recuperação de armazenamento ou sem conversão caso.
tipo binário e VARBINARY é semelhante ao CHAR e VARCHAR, exceto que eles contêm cadeias binárias em vez de strings não-binários. Ou seja, eles contêm cadeias de bytes em vez de cadeias de caracteres. Isto significa que eles não têm qualquer conjunto de caracteres, e a triagem e comparação são baseados nos valores numéricos dos bytes.
BLOB é um objeto binario grande que pode conter uma quantidade variável de dados. Existem quatro tipos BLOB: TINYBLOB, BLOB, MEDIUMBLOB e LONGBLOB. Eles diferem apenas acomodar o valor máximo comprimento.
Existem quatro tipos de texto: TINYTEXT, texto, MEDIUMTEXT e LONGTEXT. Estes correspondem aos quatro tipos de tipo GOTA, tem o mesmo comprimento máximo e os requisitos de armazenamento.
Tabelas:
Um banco de dados é composto de uma ou mais tabelas, sendo uma forma comum de armazenagem de dados na empresa. O correto é que, através de um processo de modelagem de dados bem feito, todos os dados necessários ao negócio fiquem organizados nestas tabelas. A criação de cada tabela de um banco de dados, deverá ser feita com coerência e verificando o “assunto” que cada tabela irá armazenar. Cada tabela deve armazenar dados relacionados com apenas um assunto ou conceito do negócio.
O que são tabelas de bancos de dados: tabelas de banco de dados organizam e agrupam os seus dados por características ou princípios em comum. O banco de dados pode conter quantas tabelas forem necessárias para organizar os seus dados (limitado somente pela quantidade de espaço de armazenamento no seu disco rígido). Por padrão, um novo arquivo contém uma tabela com o mesmo nome do arquivo. Essa tabela pode ser renomeada ou excluída mais tarde. As tabelas que você adiciona a um arquivo são exibidas automaticamente no gráfico de relacionamentos. Sendo então um conjunto de dados dispostos em número infinito de colunas e número ilimitado de linhas (ou tuplas). As colunas são tipicamente consideradas os campos da tabela, e caracterizam os tipos de dados que deverão constar na tabela (numéricos, alfa-numéricos, datas, coordenadas, etc). O número de linhas pode ser interpretado como o número de combinações de valores dos campos da tabela, e pode conter linhas idênticas, dependendo do objectivo. A forma de referenciar inequivocamente uma única linha é através da utilização de uma chave primária.
Um carácter é o elemento mais básico de dado que pode ser observado e manipulado. Atrás dele estão os elementos de dados invisíveis chamados de bits e bytes que refere-se a elementos físicos de armazenamento usado pelo hardware do computador. Um carácter é um símbolo único, como uma letra, dígito, ou outro caráctere especial (por exemplo, $, #, e?).
Um campo contém um item de dado, ou seja, um carácter ou grupo de caracteres que estão relacionados. Por exemplo, um agrupamento de carácteres de texto relacionados, tais como "Edson" torna-se um nome no campo de nome. O campo de nome deverá conter todas as letras do nome e sobrenome. O campo CEP iria conter todos os dígitos do código postal de uma pessoa, e assim por diante. Em resumo, um campo pode conter um atributo (por exemplo, o salário do empregado) ou o nome de uma entidade (por exemplo, pessoa, lugar ou evento).
Um registro é composto por um grupo de campos relacionados. Outra forma de dizer, um registro contém uma coleção de atributos (campos) relacionados a uma entidade como uma pessoa ou produto. O registro deve conter portanto o conjunto de todos os campos da tabela, como o nome, sobrenome, endereço, cidade, estado, cep, telefone e CPF de um único indivíduo.
Cada registro requer um identificador único ou o que é chamado de chave. A chave deve ser completamente única para um registro específico, assim como cada indivíduo tem um número único de CPF. De fato, números de CPF são muitas vezes utilizados como chaves em grandes Banco de Dados por se tratar de um número único, ao contrário do RG que pode possuir um mesmo número em outro estado.
Stored Procedures e Triggers
Uma stored procedure (procedimento armazenado) é um conjunto de instruções desenvolvidas em linguagem T-SQL (Transact-Sql) que, quando armazenadas ou salvas, ficam dentro do servidor de forma pré-compilada. Esse procedimento armazenado no banco de dados (Servidor) pode ser chamado a qualquer momento, tanto pelo sistema gerenciador de banco de dados (SGBD) quanto por aplicações específicas, O uso de stored procedures é uma importante contribuição relacionada ao uso de um banco de dados, proporcionando um melhor desempenho nas aplicações.
Parâmetros
IN: Parâmetros de entrada.
Out: Parâmetros de saída.
INOUT: Parâmetros de entrada e saída.
Parâmetros de Entrada
Podemos passar um ou vários valores para um procedimento armazenado usando parâmetros de entrada, de forma similar à que passamos valores para funções em programação. Para executar um Stored Procedure você pode utilizar o comando [EXECUTE]. Para nomear a Stored Procedure não é recomendável utilizar sp_ como prefixo, pois o SQL Server usa esse prefixo para Stored Procedure do banco de dados
Podemos executar a procedure passando os parâmetros de duas formas:
• Por posição – passando os valores na ordem em que os parâmetros foram declarados
• Por nome – indicando o nome do parâmetro que irá receber cada valor; neste caso, a ordem não importa.
Parâmetros de saída
O uso de parâmetros de saída em stored procedure possibilita que o engine do servidor de banco de dados utilize menos recursos de hardware para retornar e exibir os resultados de uma instrução SQL, possibilitando um aumento de performance em seu envio, processamento e saída.
Os parâmetros de saída permitem que o Stored Procedure passe um valor de dados ou uma variável de cursor de volta para o comando. As funções definidas pelo usuário não podem especificar parâmetros de saída. Toda Stored Procedure retorna um código de retorno de inteiro ao comando. Se o procedimento armazenado não definir um valor explicitamente para o código de retorno, este será [0].
Parâmetros de INOUT – Entrada e Saida
Um INOUT é inicializado pelo chamador, pode ser modificado pelo procedimento e qualquer alteração feita pelo procedimento fica visível para o chamador quando o procedimento retorna. Ou seja, passamos um valor inicial para a procedure e recebemos de volta uma atualização.
Trigger
Um Trigger é um procedimento armazenado no banco de dados que é chamado automaticamente sempre que ocorre um evento especial no banco de dados. Por exemplo, um acionador pode ser chamado quando uma linha é inserida em uma tabela especificada ou quando determinadas colunas da tabela estão sendo atualizadas.
Triggers DDL (Data Definition Language): Essa classe de Triggers é acionada em eventos que alteram a estrutura (como criar, modificar ou soltar uma tabela) ou em determinados eventos relacionados ao servidor, como alterações de segurança ou atualização de eventos estatísticos.
Triggers DML (Data Modification Language): Esta é a classe de Triggers mais usada. Nesse caso, o evento de disparo é uma declaração de modificação de dados; poderia ser uma instrução de inserção, atualização ou exclusão em uma tabela ou em uma exibição.
• FOR ou AFTER [INSERT, UPDATE, DELETE]: Esses tipos de Triggers são executados após o término da instrução de disparo (inserção, atualização ou exclusão).
• INSTEAD OF [INSERT, UPDATE, DELETE]: Ao contrário do tipo FOR (AFTER), os Triggers INSTEAD OF são executados em vez da instrução de disparo. Em outras palavras, esse tipo de trigger substitui a instrução de disparo. Isso é muito útil nos casos em que você precisa ter integridade referencial entre bancos de dados.
Exemplo para MySQL
- Código:
delimiter //
CREATE TRIGGER nome_Trigger
AFTER INSERT ON usuario_voto
FOR EACH ROW
BEGIN
Aqui você coloca a estrutura do trigger.
END //
delimiter ;
Comandos SQL
ABORT -- interrompe a transação corrente
ALTER AGGREGATE -- altera a definição de uma função de agregação
ALTER CONVERSION -- altera a definição de uma conversão de codificação
ALTER DATABASE -- altera um banco de dados
ALTER DOMAIN -- altera a definição de um domínio
ALTER FUNCTION -- altera a definição de uma função
ALTER GROUP -- altera o nome do papel ou ser membro do papel
ALTER INDEX -- altera a definição de um índice
ALTER LANGUAGE -- altera a definição de uma linguagem procedural
ALTER OPERATOR -- altera a definição de um operador
ALTER OPERATOR CLASS -- altera a definição de uma classe de operadores
ALTER ROLE -- altera um papel do banco de dados
ALTER SCHEMA -- altera a definição de um esquema
ALTER SEQUENCE -- altera a definição de um gerador de seqüência
ALTER TABLE -- altera a definição de uma tabela
ALTER TABLESPACE -- altera a definição de um espaço de tabelas
ALTER TRIGGER -- altera a definição de um gatilho
ALTER TYPE -- altera a definição de um tipo
ALTER USER -- altera um papel do banco de dados
ANALYZE -- coleta estatísticas sobre o banco de dados
BEGIN -- inicia um bloco de transação
CHECKPOINT -- força um ponto de verificação no registro de transações
CLOSE -- fecha o cursor
CLUSTER -- agrupa a tabela de acordo com um índice
COMMENT -- define ou muda o comentário sobre um objeto
COMMIT -- efetiva a transação corrente
COMMIT PREPARED -- efetiva uma transação previamente preparada para uma efetivação de duas fases
COPY -- copia dados entre um arquivo e uma tabela
CREATE AGGREGATE -- cria uma função de agregação
CREATE CAST -- cria uma conversão de tipo de dado
CREATE CONSTRAINT TRIGGER -- cria um gatilho de restrição
CREATE CONVERSION -- cria uma conversão de codificação
CREATE DATABASE -- cria um banco de dados
CREATE DOMAIN -- cria um domínio
CREATE FUNCTION -- cria uma função
CREATE GROUP -- cria um papel do banco de dados
CREATE INDEX -- cria um índice
CREATE LANGUAGE -- cria uma linguagem procedural
CREATE OPERATOR -- cria um operador
CREATE OPERATOR CLASS -- cria uma classe de operadores
CREATE ROLE -- cria um papel do banco de dados
CREATE RULE -- cria uma regra de reescrita
CREATE SCHEMA -- cria um esquema
CREATE SEQUENCE -- cria um gerador de seqüência
CREATE TABLE -- cria uma tabela
CREATE TABLE AS -- cria uma tabela a partir dos resultados de um comando
CREATE TABLESPACE -- cria um espaço de tabelas
CREATE TRIGGER -- cria um gatilho
CREATE TYPE -- cria um tipo de dado
CREATE USER -- cria um papel do banco de dados
CREATE VIEW -- cria uma visão
DEALLOCATE -- remove um comando preparado
DECLARE -- define um cursor
DELETE -- exclui linhas de uma tabela
DROP AGGREGATE -- remove uma função de agregação
DROP CAST -- remove uma conversão de tipo de dado
DROP CONVERSION -- remove uma conversão de codificação
DROP DATABASE -- remove um banco de dados
DROP DOMAIN -- remove um domínio
DROP FUNCTION -- remove uma função
DROP GROUP -- remove um papel do banco de dados
DROP INDEX -- remove um índice
DROP LANGUAGE -- remove uma linguagem procedural
DROP OPERATOR -- remove um operador
DROP OPERATOR CLASS -- remove uma classe de operadores
DROP OWNED -- remove os objetos de banco de dados pertencentes ao papel de banco de dados
DROP ROLE -- remove um papel do banco de dados
DROP RULE -- remove uma regra de reescrita
DROP SCHEMA -- remove um esquema
DROP SEQUENCE -- remove uma seqüência
DROP TABLE -- remove uma tabela
DROP TABLESPACE -- remove um espaço de tabelas
DROP TRIGGER -- remove um gatilho
DROP TYPE -- remove um tipo de dado
DROP USER -- remove um papel do banco de dados
DROP VIEW -- remove uma visão
END -- efetiva a transação corrente
EXECUTE -- executa um comando preparado
EXPLAIN -- mostra o plano de execução de um comando
FETCH -- retorna linhas de uma consulta usando um cursor
GRANT -- define privilégios de acesso
INSERT -- cria novas linhas na tabela
LISTEN -- ouve uma notificação
LOAD -- carrega ou recarrega um arquivo de biblioteca compartilhada
LOCK -- bloqueia uma tabela
MOVE -- posiciona o cursor
NOTIFY -- gerar uma notificação
PREPARE -- prepara um comando para execução
PREPARE TRANSACTION -- prepara a transação corrente para uma efetivação de duas fases
REASSIGN OWNED -- muda o dono dos objetos de banco de dados pertencentes a um papel de banco de dados
REINDEX -- reconstrói índices
RELEASE SAVEPOINT -- destrói um ponto de salvamento definido anteriormente
RESET -- redefine o valor de um parâmetro em tempo de execução com seu valor padrão
REVOKE -- revoga privilégios de acesso
ROLLBACK -- interrompe a transação corrente
ROLLBACK PREPARED -- cancela uma transação previamente preparada para uma efetivação de duas fases
ROLLBACK TO SAVEPOINT -- desfaz até o ponto de salvamento
SAVEPOINT -- define um novo ponto de salvamento na transação corrente
SELECT -- retorna linhas de uma tabela ou de uma visão
SELECT INTO -- cria uma tabela a partir dos resultados de uma consulta
SET -- muda um parâmetro de tempo de execução
SET CONSTRAINTS -- define os modos de verificação da restrição na transação corrente
SET ROLE -- define o identificador do usuário corrente da sessão corrente
SET SESSION AUTHORIZATION -- define o identificador do usuário da sessão e o identificador do usuário corrente, da sessão corrente.
SET TRANSACTION -- define as características da transação corrente
SHOW -- mostra o valor de um parâmetro de tempo de execução
START TRANSACTION -- inicia um bloco de transação
TRUNCATE -- esvazia uma tabela ou conjunto de tabelas
UNLISTEN -- pára de ouvir uma notificação
UPDATE -- atualiza linhas de uma tabela
VACUUM -- limpa e opcionalmente analisa um banco de dados
VALUES -- computa um conjunto de linhas
HuemersonFMG- Fundador - ADM
- PublicaçõesPublicaçõesMembro VipMembro VipCriador de TópicosCriador de TópicosParticipação em tópicosParticipação em tópicosCriador de EventosCriador de EventosPopular no fórum - AmigosPopular no fórum - AmigosAvaliação de MSGAvaliação de MSGMelhores avaliações de AmigosMelhores avaliações de AmigosRei dos Grupos no FórumRei dos Grupos no FórumMelhor RPGRecebe este ao criar sua Ficha RPG no Perfil
- Mensagens : 506
Pontos : 26576
Reputação : 0
Data de inscrição : 11/06/2018
Idade : 51
Localização : Brasil
FMGRPG
FMG:
(200/100)
» Comandos Rcon (Para ADMs)
» Lista De Comandos Gerais Do Servidor
» Como criar comandos com o ZCMD & strcmp.
Qui 14 Mar 2024, 09:36 por HuemersonFMG
» Esqueceu o número do seu telefone?
Ter 05 Dez 2023, 12:51 por HuemersonFMG
» Scripts SQL - Oracle
Ter 05 Dez 2023, 11:56 por HuemersonFMG
» Dicas para Excel
Sex 27 Out 2023, 11:22 por HuemersonFMG
» Acentos e Caracteres Especiais em HTML
Sex 20 Out 2023, 13:17 por HuemersonFMG
» Dez motivos para consumir mais café...
Dom 27 Ago 2023, 05:09 por alfredw10
» Combinações de teclas do Windows
Dom 06 Ago 2023, 13:29 por HuemersonFMG
» PL/SQL - Extensão da linguagem SQL - Oracle
Qua 10 maio 2023, 10:16 por HuemersonFMG
» Node.js é uma tecnologia assíncrona
Ter 09 maio 2023, 11:21 por HuemersonFMG
» Pontos Cardeais
Seg 24 Abr 2023, 20:02 por HuemersonFMG
» 1º DE MAIO – DIA MUNDIAL DO TRABALHO
Seg 24 Abr 2023, 15:34 por HuemersonFMG
» ChatGPT - robô virtual (chatbot) que responde a perguntas variadas
Seg 20 Fev 2023, 11:23 por HuemersonFMG
» Simples Página de Login em HTML - Visual Studio Code
Seg 06 Fev 2023, 13:40 por HuemersonFMG
» HTML - Dicas interessantes
Qui 19 Jan 2023, 17:02 por HuemersonFMG
» https://phaser.io/ - para criar jogos HTML5
Ter 17 Jan 2023, 13:06 por HuemersonFMG