Jump to content

SQL Básico


Scotti

Recommended Posts

SQL

SQL é uma linguagem padrão para controlar o acesso e manipulação de banco de dados. Neste tutorial, vou mostrar conceitos básicos dessa linguagem. Esses comando básicos podem ser utilizados praticamente em vários gerenciadores como MySQL, Postgres, MSSQL, Access e outros. Atente que alguns programas gerenciadores criam suas próprias extensões da linguagem, adicionando novos recursos, por isso é bom também ler a documentação do programa que for usar para bancos de dados.

 

SQL é uma sigla para Structured Query Language, ou Linguagem Estruturada de Requisições. Como SQL é uma linguagem padrão, é independente de sistema operacional, por isso um comando que você usa no Linux, é o mesmo no Mac e o mesmo no Windows. Com essa linguagem é possível executar operações de requisição (seleção) de dados, inserção de dados, excluir tabelas, bancos de dados e registros, atualizar registros de um banco de dados. SQL é uma linguagem insensível à casa (case insensitive), isso quer dizer que não importa se as letras estão maiúsculas ou minúsculas, existe apenas a convensão de se colocar os comandos SQL maiúsculos e todo o resto minúsculo, assim fica mais legível para humanos.

 

 

O que é banco de dados?

Banco de dados é um arquivo ou um conjunto de arquivos armazenados de alguma forma (HD, disquete, memória RAM, papel, fita, etc). Um banco de dados contém tabelas, que são estruturas que servem pra organizar os dados, com uma tabela você define nomes para as colunas em que os dados serão armazenados, assim você não fica perdido quando fizer uma consulta, além do quê os dados não podem ficar "soltos" no banco de dados, por isso as tabelas. Um registro é também chamado de linha, e contém tantas colunas quanto a tabela, mesmo que estejam em branco.

 

 

SQL Data Manipulation Language (DML)

Essa é a linguagem para executar requisições, inserir, atualizar e excluir registros. As definições DML mais importantes são:

 

  • SELECT;
  • UPDATE;
  • DELETE;
  • INSERT INTO.

SQL Data Definition Language (DDL)

Essa parte da SQL permite que tabelas sejam criadas, modificadas ou eliminadas, permite também definir índices (chaves) e especificar ligações entre as tabelas. As definições mais importantes da DDL são:

 

  • CREATE TABLE;
  • ALTER TABLE;
  • DROP TABLE;
  • CREATE INDEX;
  • DROP INDEX.

Tipos de dados

Os dados podem ser armazenados em diferentes tipos, o tipo define as operações que poder ser executadas com determinado dado. Os tipos no SQL são:

 

  • Inteiros: integer, int, smallint e tinyint;
  • Reais: float, double, real, numeric;
  • Caracteres: char;
  • Texto: varchar, text;
  • Data: date

Criando uma tabela

Para criar uma tabela usa-se CREATE TABLE com a sintaxe semelhante à que segue:

 

CREATE TABLE nome_da_tabela (

nome_do_campo tipo_do_campo parâmetros_adicionais

);

 

Note que o nome da tabela vem logo em seguida ao comando, depois dele abre-se parêntesis para definir os campos que vão compor a tabela, primeiro vem o nome do campo (da coluna), em seguida o tipo (alguns tipos contém parâmetros específicos na definição) e se forem necessários vêm parâmetros adicionais, que são usados para adicionar alguma especificidade à uma coluna apenas, por exemplo certa coluna deve ser obrigatoriamente preenchida. Se houverem mais de uma coluna a ser criada segue a mesma definição, mas a definição de cada uma deve estar separada da outra por vírgula, e na ultima não deve haver vírgula. Veja um exemplo:

 

CREATE TABLE alunos (

registro INT,

nome VARCHAR(130),

nascimento DATE,

serie TINYINT

);

 

Com estes comandos será criada uma tabela "alunos" (sem aspas) com os campos registro, nome, nascimento e serie. O tipo do campo registro é INT, ou um inteiro longo. O campo nome é do tipo VARCHAR, que guarda uma string com até 130 caracteres – esse limite está entre parêntesis -, o tipo VARCHAR pode conter de 1 até 255 caracteres. A coluna nascimento é do tipo DATE, que armazena uma data no formato AAAA-MM-DD HH:MM:SS. O campo série irá armazenar dados do tipo inteiro curto, o que significa que o limite de valores é menor que INT, já que não existe a 6237768ª série escolar!

 

Os parâmetros adicionais mais comuns são:

 

  • NOT NULL;
  • NULL;
  • AUTO_INCREMENT;
  • PRIMARY KEY,
  • UNIQUE.

NOT NULL define que o campo não pode ser vazio, e NULL define o inverso, NULL define que um campo pode ser vazio ou preenchido – ele é dispensável, jé que todo campo é NULL por padrão. AUTO_INCREMENT é aplicável a inteiros (INT, TINYINT, etc) e funciona adicionando 1 ao valor registrado no mesmo campo para o último registro, você ainda pode forçar essa contagem definindo um número alto e a contagem continuará dele em diante. PRIMARY_KEY é a definição mais simples para uma chave, ou facilitador de buscas, define taambém automáticamente o campo como UNIQUE. Uma coluna definida como UNIQUE não pode conter dois registros com o mesmo valor para este campo.

 

 

Excluindo uma tabela

O comando DROP TABELA elimina uma tabela:

 

DROP TABLE nome_da_tabela;

 

 

Modificando uma tabela

O comando ALTER TABLE é utilizado para alterar propriedades de uma tabela. Pode ser usado por exemplo pra alterar o tipo de uma coluna, adicionar uma nova ou excluir uma coluna, etc.

 

ALTER TABLE nome_da_tabela especificações_para_alteração;

 

As especificações para anteração devem ser listadas e separadas por vírgula, a natureza delas pode variar: excluir colunas, adicionar colunas, modificar uma coluna, adicionar/renomear um índice/chave, etc. Algumas das especificações mais comumente usadas são:

 

  • ADD COLUMN nome_da_nova_coluna
  • DROP COLUMN nome_da_coluna
  • MODIFY COLUMN nome_da_coluna definições_da_coluna
  • ADD INDEX/KEY nome_do_indice (lista_de_colunas)
  • DROP INDEX/KEY nome_do_indice
  • ADD PRIMARY KEY (lista_de_colunas)
  • DROP PRIMARY KEY

Veja alguns exemplos:

 

ALTER TABLE tabela MODIFY COLUMN coluna_6 INT NOT NULL;

 

Isso modificaria a coluna chamada coluna_6 para INT e NOT NULL.

 

ALTER TABLE tabela ADD INDEX indice(coluna_1, coluna_2);

 

O comando acima adiciona à tabela de nome tabela um índice de nome indice referente às colunas coluna_1 e coluna_2.

 

ALTER TABLE tabela DROP PRIMARY KEY, ADD PRIMARY KEY (coluna_1, coluna_3, coluna_4);

 

Este comando apara a atual chave primária da tabala chamada tabela e adiciona, em seguida, uma nova com as colunas coluna_1, coluna_3 e coluna_4.

 

ALTER TABLE tabela DROP COLUMN coluna_0;

 

Este último comando elimina a coluna coluna_0 da tabela chamada tabela.

 

 

Criando um Índice

Um índice é usado para se encontrar linhas (registros) com valores específicos rapidamente, sem um índice o gerenciador precisa sempre procurar desde a primeira até a ultima linha do banco de dados para encontrar determinados valores, em tabelas muito grandes (com muitos registros) isso pode demorar muito e causar até mesmo perdas significativas. Se uma tabela tiver índices o gerenciador pode encontrar registros rapidamente sem ter que necessáriamente ler todos os dados da tabela. Para criar um índice usa-se CREATE INDEX, e devem ser indicados para que tabela é o índice e quais colunas serão usadas para o índice. Embora PRIMARY KEY seja semelhante a um índice, CREATE INDEX não cria uma PRIMARY KEY.

 

CREATE INDEX nome_do_indice ON nome_da_tabela (lista_de_campos);

 

Os nomes dos campos devem ser separados por vírgula e não deve haver vírgula após o ultimo item.

 

 

Excluindo um Índice

Para eliminar um índice utiliza-se DROP INDEX, isso elimina completamente um índice.

 

DROP INDEX nome_do_indice ON nome_da_tabela;

 

Para obter mais informações visite os sites:

 

http://www.sql.org/ (inglês)

 

http://www.w3schools...sql/default.asp (inglês)

 

Abraços, até a próxima.

 

 

 

 

Créditos: Wanderson R. Silva

 

 

* Não sou desenvolvedor L2J, não respondo dúvidas via MP *

Link to comment
Share on other sites


Gostei, tá de parabéns

por que todo dia vem membro

na area de duvidas falar que nao

tá conseguindo colocar item no

server, nao sabe add as sql

e as vezes nem sabe o que é isso

 

Muito util esse topico.

pD5PSQp.png

" Você nunca sabe que resultados virão de suas ações, mas se você não fizer nada, não existirão resultados"

 

 

Link to comment
Share on other sites

  • Join now

    Be part of the largest and oldest communities about Lineage2 in Latin America.





×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.