My SQL
My SQL
É por meio dela que criamos tabelas, colunas, índices, atribuímos permissões a
usuários, bem como realizamos consultas a dados. Enfim, é utilizando a SQL que
“conversamos” com o banco de dados.
Organização da SQL
linguagem SQL é organizada em subconjuntos com propósitos bem
definidos:
➢DQL
➢DML
➢DDL
➢DCL
DDL - Linguagem de Definição de Dados
INSERT
UPDATE
DELETE
DQL - Linguagem de Consulta de Dados
Define o comando utilizado para que possamos consultar (SELECT) os
dados armazenados no banco;
DCL - Linguagem de Controle de Dados
Define os comandos utilizados para controlar o acesso aos dados do
banco, adicionando (GRANT) e removendo (REVOKE) permissões de
acesso;
DTL - Linguagem de Transação de Dados
Define os comandos utilizados para gerenciar as transações executadas
no banco de dados, como iniciar (BEGIN) uma transação, confirmá-la
(COMMIT) ou desfazê-la (ROLLBACK).
Subdivisões da linguagem SQL
MySQL
é um sistema de gerenciamento de banco de dados (SGBD), que utiliza
a linguagem SQL(Structured Query Language ou Linguagem de Consulta
Estruturada) como interface.
MySQL
atualmente é um dos maiores SGBD’s do mundo, com mais de 11
milhões de instalações e vem sendo usado inclusive em projetos de
grande porte em grandes empresas.
Características
• Portabilidade (suporta praticamente qualquer plataforma atual);
• Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de
interface para diversas linguagens de programação, como Delphi,
Java, C/C++, C#, Visual Basic, Python, Perl, PHP,ASP e Ruby
• Excelente desempenho e estabilidade;
• Pouco exigente quanto a recursos de hardware;
• Facilidade de uso;
• É um Software Livre com base na GPL (entretanto, se o programa que
acessar o Mysql não for GPL, uma licença comercial deverá ser
adquirida);
Características
• Contempla a utilização de vários Storage Engines como MyISAM,
InnoDB, Falcon, BDB, Archive, Federated, CSV, Solid…
• Suporta controle transacional;
• Suporta Triggers;
• Suporta Cursors (Non-Scrollable e Non-Updatable);
• Suporta Stored Procedures e Functions;
• Replicação facilmente configurável;
• Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela
MySQL Inc.
Comandos Básicos
Criar um banco de dados
Ex.:
SHOW DATABASES;
Antes realizar qualquer operação, é necessário
selecionar o banco de dados que vai ser usado:
USE testes;
Criar uma tabela dentro de um banco:
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)
);
Sistema exibir todas as tabelas presentes no
banco de dados selecionado:
SHOW tables;
Obter informações sobre uma tabela:
DESCRIBE clientes;
DESC clientes;
Para “popular” (inserir dados em) uma tabela:
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);
*O campo idCliente foi criado com o parâmetro auto incremento (seu preenchimento é automático).
Ver os registros na tabela
refinando a pesquisa:
Ex.:
* O comando TRUNCATE remove a tabela primeiro e, depois, a recria com a mesma estrutura — só que sem os
dados. Se houver um contador AUTO_INCREMENT, na tabela em questão, ele é zerado e recolocado.
Alterar um registro:
https://www.devmedia.com.br/guia/guia-completo-de-sql/38314
https://www.computersciencemaster.com.br/exercicios-consultas-sql/
https://www.devmedia.com.br/sql-select-guia-para-iniciantes/29530
https://blog.betrybe.com/desenvolvimento-web/comandos-sql/