SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80 a SQL foi padronizada pela ANSI e pela ISO, deixando-a compatível com qualquer banco de dados relacional. A SQL é dividade em subconjuntos, cada um com características específicas referente as operações que deverão realizar. DDL - Linguagem de Definição de Dados DML - Linguagem de Manipulação de Dados DCL - Linguagem de Controle de Dados DTL - Linguagem de Transação de Dados Tipos de Dados Tipos de dados são uma forma de classificar as informações que serão armazenados no banco de dados. Entender os tipos de dados que podem ser armazenados no banco e a que situações se adéquam é importante para projetar um banco de dados o mais eficiente possível. Tipos Numéricos: INT número inteiro; FLOAT número de ponto flutuante de precisão simples (32 bits); DOUBLE número de ponto flutuante de precisão dupla (64 bits); Tipos String: CHAR uma cadeia de caracteres de tamanho fixo; VARCHAR uma string de tamanho variável; BINARY uma string binária de tamanho fixo; BLOB um objeto binário; TEXT uma string não-binária; Tipos Data e Hora: DATE o valor referente a uma data no formato 'YYYY-MM-DD'. TIME um valor horário no formato 'hh:mm:ss'; TIMESTAMP um valor referente a data e hora no formato 'YYYY-MM-DD hh:mm:ss'; YEAR armazena um ano no formato 'YYYY' ou 'YY';
DDL - Linguagem de Definição de Dados Permite ao usuário a definição da estrutura e organização dos dados armazenados, e das relações existentes entre eles. Comandos básicos da DDL são: CREATE Cria um objeto (Tabela, Index, View, etc..) dentro da base de dados. ALTER Altera um objeto (Tabela, Index, View, etc..) dentro da base de dados. DROP Apaga um objeto (Tabela, Index, View, etc..) dentro da base de dados. O comando CREATE TABLE é usado para criar uma tabela. A sua forma geral é: CREATE TABLE <nome_tabela> (<descrição das colunas>) <descrição da coluna> : <nome da coluna> <tipo> <valor padrão> id nome ddd telefone datanascimento CREATE TABLE ( ); id INT(5) AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(50) NOT NULL, ddd INT(2) '00', telefone VARCHAR(9) NOT NULL, datanascimento DATE, email VARCHAR(50) email Para excluir uma tabela existente devemos usar o comando DROP TABLE. A sua forma geral é: DROTE TABLE ; Para alterar ou adicionar um campo na tabela, utilizamos o comando ALTER TABLE ALTER TABLE ADD COLUMN cidade VARCHAR(45) NULL, CHANGE COLUMN email email VARCHAR(80) NOT NULL ;
DML - Linguagem de Manipulação de Dados Permite a um usuário, ou a um programa de aplicação, a execução de operações de inclusão, remoção, seleção ou atualização de dados previamente armazenados na base de dados. INSERT Insere um novo registro na tabela. DELETE Exclui um registro na tabela. UPDATE Atualiza um registro na tabela. Mostra um ou mais registros da tabela. INSERT O comando insert é utilizado para inserir um novo registro na tabela: INSERT INTO <nome da tabela> (<campos>) VALUES (<valores>),(<valores>); INSERT INTO (nome, ddd, telefone, datanascimento, email) VALUES ('Maria', 45, '8888-55555', ' ', 'maria@gmail.com'); DELETE O comando delete é utilizado para excluir um registro de uma tabela; DELETE <nome da tabela> <condição> DELETE id = 1 UPDATE O comando update é utilizado para alterar informações de registros na tabela: UPDATE <nome da tabela> SET <campos alterados> <condição> UPDATE SET ddd = 41, telefone = '9999-5549' id = 1 O comando select é utilizado para retornar informações de uma ou mais tabelas. < campos> <nome da tabela> id, nome, telefone datanascimento = '1980-01-01'
Cláusulas As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta. Utilizada para especificar a tabela que se vai selecionar os registros. Utilizada para especificar as condições que devem reunir os registros que serão selecionados. GROUP BY Utilizada para separar os registros selecionados em grupos específicos. ORDER BY Utilizada para ordenar os registros selecionados com uma ordem especifica. DISTINCT Utilizada para selecionar dados sem repetição. Operadores Lógicos AND E lógico. OR OU lógico. NOT Negação lógica. Operadores relacionais Operador Descrição < Menor > Maior <= Menor ou igual >= Maior ou igual = Igual <> Diferente BETWEEN Utilizado para especificar valores dentro de um intervalo fechado. LIKE Utilizado na comparação de uma informação, podendo ser somente uma parte da informação (%). IN Utilizado para verificar se o valor procurado está dentro de um a lista. Funções de Agregação São usadas na para devolver um único valor que se aplica a um grupo de registros. AVG Utilizada para calcular a média dos valores de um campo determinado. COUNT Utilizada para devolver o número de registros da seleção. SUM Utilizada para devolver a soma de todos os valores de um campo determinado. MAX Utilizada para devolver o valor mais alto de um campo especificado. MIN Utilizada para devolver o valor mais baixo de um campo especificado.
ddd, COUNT(1) AS total GROUP BY ddd datanasimento < '1998-01-01' AND ddd = 45 datanasimento BETWEEN '1998-01-01' AND '2000-01-01' ORDER BY datanascimento DESC id IN (1,2,3,5,7) nome LIKE 'Maria %'