SQL - Operações básicas (T-SQL)
Você conhece SQL - Structured Query Language ?
SQL é uma linguagem padrão para controlar o acesso e manipulação de banco de dados.
Você sabe o que é um banco de dados ?
Um Banco de dados são coleções de informações que se relacionam de forma lógica e representam informações de um domínio específico .São de vital importância para empresas, e há duas décadas se tornaram a principal peça dos sistemas de informação.
São operados pelos Sistemas Gerenciadores de Bancos de Dados (SGBD), que surgiram na década de 70. Antes deles, as aplicações usavam sistemas de arquivos do sistema operacional para armazenar suas informações. Na década de 80 a tecnologia de SGBD relacional passou a dominar o mercado, e atualmente utiliza-se praticamente apenas ele.
Existem diversos bancos de dados relacionais e dentre eles temos: SQL Server, Oracle, PostGreeSQL, FireBird, MySQL, etc.
Se pretende trabalhar com banco de dados relacionais, é recomendável conhecer pelo menos os conceitos básicos. Abaixo apresento um breve resumo sobre SQL.
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:
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:
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:
Nomenclatura básica:
Instruções SQL básicas
Neste artigo eu compilei uma relação de instruções básicas SQL, voltadas para o SQL Server, que pode ser útil no seu dia a dia.
Para os exemplos mostrados neste artigo eu estou usando o SQL Server 2008 Express Edition e o SQL Server Management Studio Express Edition.
Todas as instruções SQL serão executadas no SQL Server Management Studio. (SSMS)
Abaixo vemos a janela do SSMS onde selecionamos o banco de dados Macoratti e abrimos uma nova janela para consulta clicando em New Query;
A seguir basta digitar a instrução SQL na janela criada e clicar em Execute para obter o resultado:
Vejamos agora algumas instruções SQL básicas mas que podem ser muito úteis no dia a dia do desenvolvedor que usa banco de dados relacionais:
1 - Listar todos os bancos de dados disponíveis na instância do SQL Server
select name from master..sysdatabases ou sp_databases | |
2 - Criar uma tabela no banco de dados SQL Server (Macoratti)
|
3 - Listar as tabelas de um banco de dados SQL Server
sp_tables | Lista todas as tabelas do banco de dados |
select name as TABLE_NAME, user_name(uid) as TABLE_OWNER from sysobjects where type='U' | Lista somente as tabelas do Usuário |
4 - Listar as colunas de uma tabela
exec sp_help Produtos ( exec sp_help <table-name>) - Lista todas as colunas da tabela Produtos do Banco de dados Macoratti | |
select name from syscolumns where id=object_id('Produtos') - Lista somente as colunas do usuário da tabela Produtos
|
4 - Listar todos os usuários conectados
sp_who | A forma mais simples |
sp_who 'active' | Lista todos os usuários ativos |
sp_who 'login-name' |
lista detalhes sobre um usuário particular |
select spid, status, loginame, hostname, blocked, db_name(dbid), cmd from master..sysprocesses | O mesmo resultado
consultando a tabela master..sysprocesses |
5 - Listar as tabelas que possuem uma determinada coluna
SELECT
COLUMN_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%NomeColuna%' |
Lista todas as tabelas que possuem a coluna definida em NomeColuna |
Lista todas as tabelas que contenham Nome na coluna |
6 - Determinar o nome do banco de dados onde você esta conectado
select db_name(dbid) from master..sysprocesses where spid=@@SPID |
sp_who @@SPID -retorna a mesma informação com mais detalhes |
7 - Criar uma tabela temporária
Criar uma tabela temporária é praticamente o mesmo que criar uma tabela normal. A principal exceção é o nome da tabela. Um caractere ('#') de hash usado como o primeiro caractere no nome da tabela indica que ela é uma tabela temporária.
Existem dois tipos de tabelas temporárias: locais e globais.
create
table #Contatos ( Codigo smallint, Nome varchar(20) ) |
Cria tabela temporária Local |
create
table ##ContatosGlobal ( Codigo smallint, Nome varchar(20) ) |
Cria tabela temporária Global |
Vimos assim algumas das muitas instruções SQL que podem ser úteis no dia a dia da vida de um programador.
"Amados, agora somos filhos de Deus, e ainda não é manifesto o que havemos de ser. Mas sabemos que, quando ele se manifestar, seremos semelhantes a ele; porque assim como é, o veremos." 1 João 3:2
Referências: