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)

use Macoratti
if not exists (select * from sysobjects where name='' and xtype='U')
    create table Carros (
        Nome varchar(64) not null
    )
go
Cria a tabela Carros com o campo Nome do tipo varchar(64) não nulo

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:


José Carlos Macoratti