CREATE DATABASE TESTE
USE TESTE
/* COMANDOS DDL
DDL - Data Definition Language (Linguagem de definição de dados)
Está mais relacionado a estrutura da tabela
*/
-- Criação Tabela
CREATE TABLE PESSOA(
MATRICULA varchar(12) NULL,
codigo int NULL,
NOME varchar(60) NOT NULL,
EMAIL char(60) NULL,
NASCIMENTO datetime NULL
)
-- Alteração Tabela
ALTER TABLE PESSOA ADD CEP VARCHAR(8)
ALTER TABLE PESSOA ADD CEP2 VARCHAR(8)
ALTER TABLE PESSOA ADD SALARIO INT NULL
--CONSULTA ESTRUTURA DA TABELA
SP_HELP PESSOA
-- Incluindo indice Tabela
ALTER TABLE PESSOA Drop Column CEP2
-- Exclusão Tabela
DROP TABLE PESSOA
-- Exclusão Banco
use master -- não podemos deletar o banco caso a instancia esteja sendo utilizada
DROP Database TESTE
/* COMANDOS DML
DML - Data Manipulation Language (Linguagem de manipulação de dados)
Está mais relacionado a manipulação dos registros que ficam na tabela
*/
-- Listando registros
select * from PESSOA
-- Incluindo registros
-- 'Func 01',
INSERT INTO [TESTE].[dbo].[PESSOA]
([MATRICULA]
,[codigo]
,[NOME]
,[EMAIL]
,[NASCIMENTO]
,[CEP]
,[SALARIO])
VALUES
('0001',
1,
'Func 01',
'O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.',
'2012-02-15',
'01010101',
120.20)
-- 'Func 01' -- Vamos cadastra o Func 01 duas vezes de proposito
INSERT INTO [TESTE].[dbo].[PESSOA]
([MATRICULA]
,[codigo]
,[NOME]
,[EMAIL]
,[NASCIMENTO]
,[CEP]
,[SALARIO])
VALUES
('0001',
1,
'Func 01',
'O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.',
'2012-02-15',
'01010101',
120.20)
-- 'Func 02' --> vai dar erro (corrige ai)
INSERT INTO [TESTE].[dbo].[PESSOA]
([MATRICULA]
,[codigo]
,[NOME]
,[EMAIL]
,[NASCIMENTO]
,[CEP]
,[SALARIO])
VALUES
('0002',
00002,
'Func 02',
'O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.',
'2014-12-15',
'02020202',
110,0)
-- 'Func 03' --> vai dar erro (corrige ai)
INSERT INTO [TESTE].[dbo].[PESSOA]
([MATRICULA]
,[codigo]
,[NOME]
,[EMAIL]
,[NASCIMENTO]
,[CEP]
,[SALARIO])
VALUES
('0003',
00003,
'Func 03',
'O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.',
'2014-12-15',
'01010101',
110.0)
-- Listando quantidade de registros aonde um campo tenha mais que uma ocorrência na tabela.
SELECT matricula, Count(*) FROM PESSOA GROUP BY matricula HAVING Count(*) > 1
SELECT CEP, Count(*) FROM PESSOA GROUP BY CEP HAVING Count(*) > 1
-- * http://www.rosembergennes.com.br/index.php/component/content/article/8-assuntos-gerais/94-comando-basicos-sql-server