Banco de Dados

Page 1

Oracle Criando a Tabela Pessoa CREATE TABLE PESSOA ( id_pessoa integer, nome varchar2(20), cpf varchar2(14) ); Inserindo dados na tabela Insert into Pessoa values(1,'Eliézio Mesquita','11109865424'); Insert into Pessoa values(2,'Maria Joaquina','93104465334'); Insert into Pessoa values(3,'José da Silva','14109835424'); VERIFICA INSTANCIA SELECT * FROM GLOBAL_NAME; DUMP VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘; CONTA OBJETOS DO SCHEMA SELECT COUNT(OBJECT_TYPE), OBJECT_TYPEFROM DBA_OBJECTS WHERE OWNER LIKE ‘USER%‘ GROUP BY OBJECT_TYPE; SPOOL OFF NO TERMINAL LINUX $export ORACLE_SID=INSTANCE $exp system@INSTANCE BUFFER=1000000 FILE=EXP_INSTANCE_USER_DATA.DMP LOG=EXP_INSTANCE_USER_DATA.LOG OWNER=USUÁRIOS LISTADOS CONSISTENT=Y gzip EXP_INSTANCE_USER_DATA* VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS, OSUSER, MACHINE, PROGRAM FROM V$SESSION WHERE USERNAME LIKE ‘USER%‘; VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘; VERIFICA ATRIBUTOS DO USUÁRIO


SELECT * FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘; SELECT * FROM DBA_TAB_PRIVS WHERE GRANTOR LIKE ‘USER%‘; VERIFICA PREVILEGIOS DO USUÁRIO SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE LIKE ‘USER%‘; SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘USER%‘; CONTA OBJETOS DO SCHEMA SELECT COUNT(OBJECT_TYPE), OBJECT_TYPEFROM DBA_OBJECTSWHERE OWNER LIKE LIKE ‘USER%‘GROUP BY OBJECT_TYPE; DESATIVA USUÁRIO ALTER USER USER ACCOUNT LOCK; ALTER USER USER PASSWORD EXPIRE; VERIFICA STATUS DA CONTA SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE ‘USER%’; SPOOL OFF VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS,OSUSER, MACHINE, PROGRAM FROM V$SESSION; VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA SELECT USERNAME FROM DBA_USERS ; VERIFICA ATRIBUTOS DO USUÁRIO SELECT * FROM DBA_USERS; SELECT * FROM DBA_TAB_PRIVS; VERIFICA PREVILEGIOS DO USUÁRIO SELECT * FROM DBA_SYS_PRIVS; VERIFICA PREVILEGIOS DE ROLE SELECT * FROM DBA_ROLE_PRIVS; CONTA OBJETOS DO SCHEMA SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE FROM DBA_OBJECTSGROUP BY OBJECT_TYPE; NO TERMINAL EXPORT ORACLE_SID=INSTANCE


SQLPLUS / AS SYSDBA SQL> SHUTDOWN IMMEDIATE; VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘; VERIFICA SE O OBJETOS JÁ EXISTE SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,CREATED, LAST_DDL_TIME, STATUS FROM ALL_OBJECTS WHERE OWNER LIKE ‘USER%‘ AND OBJECT_NAME = ‘OBJECT_NAME’; CONTA OBJETOS DO SCHEMA SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE FROM DBA_OBJECTS WHERE OWNER LIKE ‘USER%‘ GROUP BY OBJECT_TYPE; CONTA OBJETOS INVALIDOS SELECT COUNT (*) FROM DBA_OBJECTS WHERE STATUS=’INVALID’AND OWNER LIKE ‘USER%‘; VERIFICA OBJETOS INVALIDOS SELECT OBJECT_TYPE, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘; EXECUTA O SCRIPT CONN USER@INSTANCE @C:\CAMINHO\SCRIPT.SQL CONN SYSTEM@INSTANCE SYSTEM@INSTANCE">SYSTEM@INSTANCE VERIFICA SE O OBJETOS JÁ EXISTE SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,CREATED, LAST_DDL_TIME, STATUS FROM ALL_OBJECTS WHERE OWNER LIKE ‘USER%‘ AND OBJECT_NAME = ‘OBJECT_NAME’; CONTA OBJETOS DO SCHEMA SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE FROM DBA_OBJECTS WHERE OWNER LIKE ‘USER%‘ GROUP BY OBJECT_TYPE; CONTA OBJETOS INVALIDOS SELECT COUNT (*)FROM DBA_OBJECTS WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘; VERIFICA OBJETOS INVALIDOS


SELECT OBJECT_TYPE, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE STATUS=’INVALID’AND OWNER LIKE ‘USER%‘; GERA SCRIPTS DOS OBJETOS INVALIDOS SELECT ‘ALTER’’ ‘ OBJECT_TYPE ’ ‘OWNER ’.' OBJECT_NAME ‘ COMPILE;’ FROM DBA_OBJECTS WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘; VERIFICA OBJETOS INVALIDOS SELECT OBJECT_NAME, OBJECT_TYPE, STATUSFROM DBA_OBJECTS WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘;SPOOL OFF VERIFICAR SE EXISTE ESSE USUÁRIO NO SISTEMA SELECT USERNAME FROM DBA_USERSWHERE USERNAME LIKE ‘USER%‘; CRIAR A TABLESPACE PARA O USUÁRIO CREATE TABLESPACE INSTANCE_SCHEMA_01 DATAFILE ‘CAMINHO/INSTANCE_SCHEMA.DBF’ SIZE 64M AUTOEXTEND ON NEXT 1M SEGMENT SPACE MANAGEMENT AUTO; VERIFICA SE TEM ALGUMA ROLE PARA ESSE USUÁRIO SELECT * FROM DBA_ROLES WHERE ROLE LIKE ‘%USER%‘; SELECT * FROM DBA_SYS_PRIVS WHERE LIKE ‘%USER%‘; SELECT * FROM DBA_TAB_PRIVS WHERE LIKE ‘%USER%‘; CRIAR O USUÁRIO CREATE USER USERIDENTIFIED BY ‘SENHA‘DEFAULT TABLESPACE INSTANCE_SCHEMA_01TEMPORARY TABLESPACE TEMP; APLICA GRANT GRANT RESOURCE, CONNECT TO USER; VERIFICAR SE O USUÁRIO FOI CRIADO SELECT * FROM DBA_USERSWHERE USERNAME LIKE ‘USER%‘; VERIFICA ROLES DO USUARIO CRIADO SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE LIKE ‘USER%‘; SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘USER%‘; VERIFICAR OS USUÁRIOS DO SISTEMA SELECT * FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘; ALTERA A SENHA


ALTER USER USER IDENTIFIED BY ‘SENHA‘; VERIFICAR OS USUÁRIOS DO SISTEMA SELECT * FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘; SPOOL OFF create database producao : Define o nome do banco de dados como “producao”, ao executarmos o script de criação do banco de dados esse comando irá criar os control files na localização especificada no arquivo de parâmetros (initproducao.ora) user sys identified by 0r4cl3 : Define a senha do usuário SYS user system identified by 0r4cl3 : Define a senha do usuário SYSTEM maxinstances : Especifica o número máximo de instâncias que podem manipular o banco de dados, usado quando estamos trabalhando com RAC. Como não estamos trabalhando com RAC vamos configurar esse parâmetro com o valor 1. maxloghistory : Especifica o número máximo de archive redo logs para automatic media recovery maxlogfiles : Este parâmetro especifica o número máximo de grupos de redo logs do banco de dados. Quando o nível de compatibilidade é inferior a 10.2.0 a única forma de sobrescrever esse limite é recriando o control file ou o banco de dados. Quando a compatibilidade do banco de dados for superior a 10.2.0 podemos aumentar o número de grupos de redo logs que o control file será expandido conforme necessário. Vamos configurar esse parâmetro com 6 prevendo um futuro aumento no número de grupos de redo logs. maxlogmembers : Este parâmetro especifica o número máximo de membros de cada redo grupo de redo log. A única forma de sobrescreve esse parâmetro é recriando o banco de dados. Vamos configurar esse parâmetro com 3. character set e national character set : Especifica o conjunto de caráteres usados pelo banco de dados, vamos deixar esse parâmetro com seu valor padrão.

MySQL - mysql_close: Este comando tem o objetivo de fechar a conexão com o banco de dados MySQL. Exemplo: $conexao = mysql_connect('servidor', 'usuariohost', 'senhahost'); if (!$conexao){ die 'Não pude conectar' . mysql_error()); }else { echo 'conexão ok'; } mysql_close($conexao);<code> OBS.: O comando mysql_close não irá fechar conexões persistentes criadas por mysql_pconnect(). - mysql_connect: Este comando tem o objetivo de abrir a conexão com um banco de dados MySQL.


Exemplo: Está disponível no exemplo acima ( mysql_close ). - mysql_create_db: Este comando tem por objetivo criar um banco de dados MySQL. Exemplo: $conexao = mysql_connect('servidor', 'usuariohost', 'senhahost'); if (!$conexao){ die 'Não pude conectar' . mysql_error()); } else { if(mysql_create_db('basededados')){ echo “base de dados criada com sucesso”; } else{ echo 'Error creating database: ' . mysql_error() . “n”; } // fecha else { OBS.: Indicamos ao invés de utilizar o mysql_create_db, usar o mysql_query, para fazer o comando CREATE DATABASE. Para compatibilidade com versões anteriores, o mysql_create_db também poderá ser utilizado, em todo caso, ela está obsoleta. - mysql_data_seek: Este comando tem por objetivo mover o ponteiro interno de uma consulta. Exemplo: $resultado = mysql_query($query); for ($i = mysql_num_rows($resultado) – 1; $i >= 0; $i --){ if (!mysql_data_seek($resultado, $i)){ echo “Não pude mover para a linha $i” . mysql_error() . “n”; continue; } // fecha if (!mysql_data_seek($resultado, $i)){ xxx outros comandos xxx }// fecha for ($i = mysql_num_rows($resultado) – 1; $i >= 0; $i --){ OBS.: A função mysql_data_seek() pode ser usada somente em conjunto com o mysql_query e não com o mysql_unbuffered_query(). - mysql_db_query: Este comando tem por objetivo enviar uma consulta MySQL para a base de dados. Exemplo: $resultado = mysql_db_query(“$database”, $query); OBS.: Esta função está obsoleta desde o PHP 4.0.6. Ao invés dela, aconselhamos utilizar os comandos mysql_select_db() e mysql_query(). - mysql_drop_db: Utilizando este comando, você poderá excluir um banco de dados MySQL. Exemplo: $conexao = mysql_connect('servidor', 'usuariohost', 'senhahost'); if (!$conexao){ die 'Não pude conectar' . mysql_error()); } else { if(mysql_drop_db(“basededados”)){ echo “base de dados excluída com sucesso”; }// fecha if(mysql_drop_db(“basededados”)){ }// fecha if (!$conexao){ OBS.: Esta função também está obsoleta. Ao invés dela, é aconselhável utilizar o comando mysql_query. - mysql_errno: Este comando tem por finalidade retornar o número do erro da última chamada MySQL. Exemplo: $conexao = mysql_connect("localhost", "mysql_user", "mysql_password"); if (!mysql_select_db("base de dados não existente", $conexao)) {


echo mysql_errno($conexao) . ": " . mysql_error($conexao). "n"; } O exemplo acima vai imprimir algo assim: 1049: Unknown database 'base de dados não existente' - mysql_error: Este comando tem por finalidade retornar a mensagem de erro da última chamada MySQL. Exemplo: $conexao = mysql_connect("localhost", "mysql_user", "mysql_password"); if (!mysql_select_db("base de dados não existente", $conexao)) { echo mysql_errno($conexao) . ": " . mysql_error($conexao). "n"; } O exemplo acima vai imprimir algo assim: 1049: Unknown database 'base de dados não existente' - mysql_fetch_array: Este comando tem por finalidade retornar o resultado de uma consulta como array. Exemplo: $resultado = mysql_query ($query); $campo = mysql_fetch_array($resultado); $variavel = $campo['campo']; - mysql_fetch_field: Este comando tem por finalidade retornar informações sobre um campo da consulta (objeto). Exemplo: mysql_connect('localhost:3306', $user, $password) or die ("Não pude conectar: " . mysql_error()); mysql_select_db("database"); $result = mysql_query("select * from table") or die("A query falhou: " . mysql_error()); $i = 0; while ($i < mysql_num_fields($result)) { echo "Informação para a coluna $i: n"; $meta = mysql_fetch_field($result,$i); if (!$meta) { echo "Informação não disponivel n"; } echo " blob: $meta->blob max_length: $meta->max_length multiple_key: $meta->multiple_key name: $meta->name not_null: $meta->not_null numeric: $meta->numeric primary_key: $meta->primary_key table: $meta->table type: $meta->type unique_key: $meta->unique_key unsigned: $meta->unsigned zerofill: $meta->zerofill "; $i++; } mysql_free_result($result); - mysql_fetch_lengths: Este comando tem por finalidade retornar o tamanho máximo de cada campo em uma consulta.


Exemplo: $campo = mysql_fetch_assoc($resultado); $lengths = mysql_fetch_lengths($resultado); print_r($campo); print_r($lengths); - mysql_fetch_object: Este comando tem por finalidade retornar uma linha da consulta como um objeto. Exemplo: while($campo = mysql_fetch_object($resultado)){ echo $campo->Database . “n”; } - mysql_fetch_row: Este comando tem por finalidade retornar uma linha da consulta como um array. Exemplo: $resultado = mysql_query ($query); while($campo = mysql_fetch_row($resultado)){ $variavel = $campo ['campodatabela']; } - mysql_field_name: Este comando tem por finalidade retornar o nome de um campo no consulta. Exemplo: $query = "select * from usuarios"; $resultado = mysql_query($query); echo mysql_field_name($resultado, 0) . "n"; echo mysql_field_name($resultado, 2); O exemplo acima retornará algo assim: id_usuario password - mysql_field_seek: Este comando posiciona o ponteiro para um campo específico da consulta. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = mysql_query($query); mysql_field_seek($resultado,3); print_r(mysql_fetch_field($resultado)); mysql_close($conexao); - mysql_field_table: Este comando tem por finalidade retornar o nome da tabela à qual o campo pertence. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = mysql_query($query); $tabela = mysql_field_table($resultado, 0); echo $tabela; - mysql_field_type: Este comando é similar ao mysql_field_name(). Quando executado, ele te possibilitar retornar o tipo de dado do campo.


Exemplo: $query = "SELECT * FROM TABELA"; $resultado = ($query); $fields = mysql_num_fields($resultado); $table = mysql_field_table($resultado, 0); echo "Sua '" . $table . "' tabela tem " . $fields . " campo(s)n"; for ($i=0; $i < $fields; $i++) { $type = mysql_field_type($resultado, $i); echo $type; } - mysql_field_flags: Através deste comando você poderá retornar os flags associados a um campo da consulta. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = ($query); $fields = mysql_num_fields($resultado); $table = mysql_field_table($resultado, 0); echo "Sua '" . $table . "' tabela tem " . $fields . " campo(s)n"; for ($i=0; $i < $fields; $i++) { $flags = mysql_field_flags($resultado, $i); echo $flags . "n"; } - mysql_field_len: Utilizando este comando será possível retornar o tamanho de um campo da consulta. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = ($query); $fields = mysql_num_fields($resultado); $table = mysql_field_table($resultado, 0); echo "Sua '" . $table . "' tabela tem " . $fields . " campo(s)n"; for ($i=0; $i < $fields; $i++) { $len = mysql_field_len($resultado, $i); echo $len; } - mysql_free_result: Utilizando este comando, você poderá liberar os recursos alocados a uma consulta. deve ser chamado somente se você está preocupado em quanto da memória esta sendo usada na query num grande conjunto de resultados. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = mysql_query($query); while($campo = mysql_fetch_array($resultado)) { $id_campo = $campo["id_campo"]; $nome = $campo["nome"]; $senha = $campo["senha"]; } mysql_free_result($resultado); - mysql_insert_id:


Utilizando este comando você poderá retornar o ID da última cláusula INSERT executada. Exemplo: $query = "INSERT INTO TABELA (produto) VALUES ('valor'); $resultado = mysql_query($query); printf("A última inserção foi o id %dn", mysql_insert_id()); OBS.: O comando mysql_insert_id() converte o tipo de retorno nativo da API em C do MySQL mysql_insert_id() para um tipo long (chamado int no PHP). Se a sua coluna AUTO_INCREMENT for uma coluna do tipo BIGINT, o valor retornado por mysql_insert_id() será incorreto. Recomendo ao invés deste comando utilizar a função SQL interna do MySQL LAST_INSERT_ID() em uma consulta SQL. - mysql_list_fields: Através deste comando será possível retornar a relação de campos de uma consulta. Exemplo: $conexao = mysql_connect('localhost', 'usuariodomysql', 'senhadomysql'); $fields = mysql_list_fields("database", "tabela", $conexao); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { echo mysql_field_name($fields, $i) . "n"; } - mysql_list_dbs: Através deste comando será possível listar os bancos de dados disponíveis no Servidor. Exemplo: $conexao = mysql_connect ('servidor', 'usuariodoservidor', 'senhadoservidor'); $resultado = mysql_list_dbs($conexao); while($campo = mysql_fetch_object($resultado)){ echo $campo->Database . “n”; } - mysql_list_tables: Através deste comando será possível listar as tabelas existentes em um banco de dados MySQL. Exemplo: $nomedobd = 'nomedabasededados'; if (!mysql_connect('servidor', 'usuariodoservidor', 'senhadoservidor')){ echo 'Não foi possível conectar com o MySQL'; exit; } $resultado = mysql_list_tables($nomedobd); - mysql_num_fields: Através deste comando será possível retornar o número de campos de uma consulta. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = ($query); $campos = mysql_num_fields($resultado); echo $campos; - mysql_num_rows: Através deste comando será possível retornar o número de linhas de uma consulta. Exemplo:


$query = "SELECT * FROM TABELA"; $resultado = ($query); $linhas = mysql_num_rows($resultado); echo $linhas; - mysql_pconnect: Utilizando este comando você poderá estabelecer uma conexão persistente com o banco de dados. Exemplo: $conexao = mysql_pconnect('servidor', 'usuariohost', 'senhahost'); - mysql_query: Um dos comandos mais utilizados do MySQL. Através deste comando você poderá enviar uma consulta SQL ao banco de dados MySQL. Exemplo: $query = “SELECT * FROM DATABASE”; $resultado = mysql_query ($query); - mysql_result: Através deste comando você poderá retornar os dados de uma consulta. Exemplo: $query = "SELECT * FROM TABELA"; $resultado = mysql_query($query); $dominio = mysql_result($resultado, 0, "nome"); - mysql_select_db: Utilizando este comando, você poderá selecionar um banco de dados MySQL. Exemplo: $conexao = mysql_connect('localhost', 'usuariomysql', 'senhamysql'); if (!$conexao) { die('Não conectado : ' . mysql_error()); } $db_selected = mysql_select_db('tabela', $conexao); if (!$db_selected) { die ('Não pode usar a tabela : ' . mysql_error()); } - mysql_tablename: Este comando tem por finalidade retornar o nome da Tabela de um campo. Exemplo: mysql_connect (“servidor”, “usuariodoservidor”, “senhadoservidor”); $resultado = mysql_list_tables(“basededados”); for ($i = 0; $i < mysql_num_rows($resultado); $i++) printf (“Tabela: %sn”, mysql_tablename($resultado, $i)); mysql_free_result($resultado); Comandos Descrição mysql_affected_rows Retorna o número de linhas afetadas por uma consulta mysql_close Fecha a conexão com o banco de dados MySQL mysql_connect Abre a conexão com um banco de dados MySQL mysql_create_db Cria um banco de dados MySQL mysql_data_seek Move o ponteiro interno de uma consulta mysql_db_query Envia uma consulta MySQL para o banco de dados


mysql_drop_db Exclui um banco de dados MySQL mysql_errno Retorna o número do erro da última chamada MySQL mysql_error Retorna a mensagem de erro da última chamada MySQL mysql_fetch_array Retorna o resultado de uma consulta como array mysql_fetch_field Retorna informações sobre um campo da consulta (objeto ) mysql_fetch_lengths Retorna o tamanho máximo de cada campo em uma consulta mysql_fetch_object Retorna uma linha da consulta como um objeto mysql_fetch_row Retorna uma linha da consulta como um array mysql_field_name Retorna o nome de um campo da consulta mysql_field_seek Posiciona o ponteiro para um campo específico da consulta mysql_field_table Retorna o nome da tabela à qual o campo pertence mysql_field_type Retorna o tipo de dado do campo mysql_field_flags Retorna os flags associados a um campo da consulta mysql_field_len Retorna o tamanho de um campo da consulta mysql_free_result Libera os recursos alocados a uma consulta mysql_insert_id Retorna o ID da última cláusula INSERT executada mysql_list_fields Relação de campos de uma consulta mysql_list_dbs Lista os Bancos de Dados disponíveis no Sevidor mysql_list_tables Lista as tabelas existentes em um Banco de Dados MySQL mysql_num_fields Retorna o número de campos de uma consulta mysql_num_rows Retorna o número de linhas de uma consulta mysql_pconnect Estabelece uma conexão persistente com o Banco de Dados mysql_query Envia uma consulta SQL ao Banco de Dados MySQL mysql_result Retorna os dados de uma consulta mysql_select_db Seleciona um Banco de Dados MySQL mysql_tablename Retorna o nome da Tabela de um campo.

SQL Server Criando uma tabela: CREATE TABLE TBEXEMPLO (ID VARCHAR(4) NOT NULL, NOME VARCHAR(40) NOT NULL, TELEFONE VARCHAR(10) NOT NULL, VALOR DECIMAL(6,2) NOT NULL); Deletando uma tabela: DROP TABLE TBEXEMPLO; Alterando uma tabela adicionando uma nova coluna: ALTER TABLE TBEXEMPLO ADD COLUMN (FAX VARCHAR(10) NOT NULL); Alterando uma tabela modificando uma coluna: ALTER TABLE TBEXEMPLO MODIFY COLUMN (TELEFONE VARCHAR(12));


Apagando os dados de uma tabela retornando-a ao estado de origem: TRUNCATE TABLE TBEXEMPLO;

Inserindo dados: INSERT INTO TBEXEMPLO VALUES ('2006', 'Rodrigo', '4466',10.95); Alterando dados: UPDATE TBEXEMPLO SET VALOR = 120 WHERE ID = '2006'; Deletando dados: DELETE FROM TBEXEMPLO WHERE ID = '2006';

Para a consulta de dados:

SELECT coluna1, coluna2, ... FROM tabela1, tabela2, ... [ WHERE coluna1 = 'valor1' AND coluna2 = 'valor2' OR (coluna1 = 'valor3' AND coluna2 = 'valor4')] [GROUP BY coluna1, coluna2, ...] [HAVING function = 'valor'] [ORDER BY coluna1, coluna2, ...]; Exemplos: O comando abaixo faz uma contagem das linhas da tabela: SELECT COUNT(*) FROM TBEXEMPLO; O comando abaixo faz uma seleção das linhas da tabela, trazendo a cidade onde a média do valor é maior que 100:


SELECT CIDADE, AVG(VALOR) FROM TBEXEMPLO GROUP BY CIDADE HAVING AVG(VALOR) > 100; O comando abaixo faz uma seleção com junção das linhas das tabelas Pedido e Item, onde o numero do pedido é Igual a 10: SELECT P.NROPEDIDO, I.ITEM FROM PEDIDO P, ITENS I WHERE P.NROPEDIDO = I.NROPEDIDO AND P.NROPEDIDO = 10 ; O comando abaixo faz uma seleção das linhas da tabela, trazendo as colunas ID, NOME e VALOR, onde a média do valor é maior que a média de todas as linhas da tabela:

SELECT ID, NOME, VALOR FROM TBEXEMPLO WHERE VALOR > (SELECT AVG(VALOR) FROM TBEXEMPLO); 1 – Mostre todos os registros da tabela aluno. Podemos recuperar todas as colunas de uma tabela utilizando o asterisco *. Neste exemplo, quero recuperar todos os registros existentes na tabela aluno. Então, coloco o comando SELECT para selecionar esses registros, o asterisco informando que são todos os registros e FROM ALUNO que é a tabela selecionada. select * from aluno; 2 – Mostre os nomes de todos os alunos. Nesse exemplo, quero recuperar todos os nomes de alunos existentes na tabela. Então, coloco o comando SELECT, o nome do campo que quero selecionar da tabela, que no caso é NOME e FROM ALUNO que é o nome da tabela. select nome from aluno; 3 – Mostre os nomes de todos os alunos do sexo feminino / masculino.


Nesse exemplo, quero recuperar nome de alunos do sexo feminino. Por isso, temos uma condição a verificar: alunos do sexo feminino. Utilizo, então, a cláusula WHERE, que é um operador de restrição. Posso complementar seu uso com operadores lógicos como = (igual), (maior que), = (maior que ou igual a). Então, coloco o comando SELECT, o nome do campo que quero selecionar da tabela, que no caso é NOME e FROM ALUNO que é o nome da tabela aplicando a condição WHERE SEXO=’F’, que significa ONDE SEXO=’F’. select nome from aluno where sexo='F'; 4 – Mostre o total de alunos matriculados. Nesse exemplo, quero recuperar a quantidade de alunos matriculados na tabela. Então, entro com o comando SELECT, comando COUNT para trazer o total, e como quero verificar todos os registros da tabela, uso o asterisco e FROM ALUNO que é a tabela selecionada. Resultado: 10 alunos matriculados. select count (*) as total_alunos_matriculados from aluno; 5 – Mostre o total de alunos do sexo feminino / masculino. Nesse exemplo, quero recuperar o total de alunos que sejam do sexo feminino. Então, entro com o comando SELECT, comando COUNT para trazer o total e como quero verificar todos os registros da tabela, uso o asterisco, FROM ALUNO que é a tabela selecionada, adicionando a condição/restrição WHERE SEXO=’F’. Resultado: 4 alunos matriculados que são do sexo feminino. select count (*) as meninas from aluno where sexo='F'; 6 – Mostre a soma global das notas dos alunos. Nesse exemplo, quero recuperar a soma geral das notas dos alunos. Então, entro com o comando SELECT, comando SUM que significa soma e entre parênteses coloco o nome do campo que quero recuperar a soma, que no caso é NOTA e FROM ALUNO que é a tabela selecionada. Resultado: a soma das notas de todos os alunos é 62. select sum (nota) as soma_notas from aluno; 7 – Mostre a soma global das notas das meninas / meninos. Nesse exemplo, quero recuperar a soma das notas dos alunos que sejam do sexo feminino. Então, entro com o comando SELECT, comando SUM da soma e entre parênteses coloco o nome do campo que quero recuperar a soma, que no caso é NOTA, FROM ALUNO que é a tabela


selecionada e, adiciono ainda, a restrição/condição dessa soma, que são alunos do sexo feminino: WHERE SEXO=’F’. Resultado: a soma das notas dos alunos do sexo feminino é 23. select sum (nota) as soma_notas_meninas from aluno where sexo='F'; E para recuperar a soma das notas dos alunos do sexo masculino troco WHERE SEXO=’F’ por WHERE SEXO=’M’. Resultado: a soma das notas dos alunos do sexo masculino é 39. select sum (nota) as soma_notas_meninos from aluno where sexo='M'; 8 – Mostre a média da turma. Nesse exemplo quero recuperar a média de notas de todos os alunos. Para recuperar a média geral, uso o comando AVG, entre parênteses o campo da tabela onde serão selecionados os dados, que no caso é NOTA e FROM ALUNO que é a tabela selecionada. Resultado: a média geral das notas dos alunos matriculados é 6. select avg (nota) as media from aluno; 9 – Mostre a média do sexo feminino / masculino. Nesse exemplo, quero recuperar a média de notas dos alunos do sexo feminino. Para recuperar essa média, uso o comando AVG, entre parênteses o campo da tabela onde serão selecionados os dados, que no caso é NOTA e FROM ALUNO que é a tabela selecionada. Porém, como as notas selecionadas são apenas de alunos do sexo feminino, tenho que especificar essa condição usando a cláusula WHERE SEXO=’F’. Resultado: a média de notas dos alunos do sexo feminino é 5. select avg (nota) as media_meninas from aluno where sexo='F'; E para recuperar a media de notas dos alunos do sexo masculine, troco WHERE SEXO=’F’ por WHERE SEXO=’M’. Resultado: a média de notas dos alunos do sexo masculino é 6. select avg (nota) as media_meninos from aluno where sexo='M'; 10 – Mostre a nota máxima / mínima. Nesse exemplo, quero recuperar a nota máxima de todos os alunos matriculados. Para recuperar essa nota máxima, utilize o comando MAX. select max (nota) as nota_maxima from aluno;


E para recuperar a nota mínima de todos os alunos matriculados, utilize o comando MIN. select min (nota) as nota_minima from aluno; 11 – Mostre a soma das notas, a nota máxima, a nota mínima e a média. select sum (nota) as SomaGeral, max (nota) as NotaMaxima, min (nota) as NotaMinima, avg (nota) as Media from aluno;


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.