Ir para conteúdo
Entre para seguir isso  
Bozonildo

Comandos Básicos de SQL

Recommended Posts

Bozonildo    0
Bozonildo

Créditos: PaulomRadicchi do nowloaded.irg

 

[center:738b13365e] Comandos Básicos de SQL </span>[/center:738b13365e]

 

Fala galera, esse é meu primeiro tuto (essa frase é clichê), bem vou mostra pra vocês alguns comandos SQL (Structured Query Language), essa é a linguagem utilizada pelos bancos de dados relacionaL ... Para saber mais sobre o que é SQL, Bancos de Dados Relacional e etc va ao wikipedia la tem bastante coisa sobre o assunto....

 

Antes de começar com os comandos e necessario que vc tenha um SGBD (Sistema Gerenciador de Banco de Dados) ele é o programa que irá compilar os códigos , para isso eu indico o MySQL (www.mysql.com), porque ele é de graça , estavel, se integra muito bem ao PHP e tem muitas outras vantagens....

 

Sem mais enrolações vamos ao que interessa, os códigos.

 

o primeiro e mais basico é o CREATE, com ele vc cria as tabelas, bancos de dados e etc .

 

Criando o banco de dados

 


create database [nome do banco de dados];

use [nome do banco de dados];

Exemplo:

create database tutorial;

use tutorial;

Acima vc usou o comando create para criar um banco de dados (database) com o nome de tutorial e fekou o codigo com um ; (todo comando no MySQL deve ser fechado com um ;).

Logo apos a criação vc utilizou o comando use, para "usar" o banco de dados que foi criado, ele tb pode ser usado para "trocar" de banco de dados (mudar de um banco de dados para outro).

 

Obs: Um banco de dados é um conjunto de tabelas que se relacionam, por isso para cada projeto e importante criar um novo banco de dados, isso facilita a sua vida na hora de fazer qualquer alteração em uma de suas tabelas, alem do que, deixa as aplicações muito mais leves, e organizadas....

 

Criando uma tabela

 


create table [nome da tabela] (

[nome do campo1] [tipo],

[nome do campo2] [tipo]

);



Exemplo:

create table autor(

cod_aut int not null auto_increment,

nom_aut varchar(30),

datanas_aut date,

primary key(cod_aut)

);

Mais uma vez o comando create aparece mas desta vez ele esta criando uma tabela, outros codigos novos tambem aparecem, vou explicar todos eles

int é um tipo de dado que so aceita numeros do tipo inteiro (veja lista abaixo)

not null esse código impede que o campo receba valores menore que 1 ou fique em branco

auto_increment esse campo sera prenchido automaticamente.

varchar (30) tipo de dado que aceita valores Alfanumérico (A-Z, 0-9 , simbolos) com no maximo 30 caracteres (veja lista abaixo).

date tipo de dado que aceita valores para data da seguinte forma ano-mes-dia (2006-11-21). (veja lista abaixo)

primary key(cod_aut) transforma o campo cod_aut em chave primaria, ou seja e como se fosse seu RG, sua identificação esse o valor inserido nesse campo jamais se repetirá em qualquer outra inserção.

 

Lista dos tipos de dados

 

- CHAR(M): strings de tamanho fixo entre 1 e 255 caracteres;

- VARCHAR(M): strings de tamanho flexível entre 1 e 255 caracteres. VARCHAR ocupa sempre o menor espaço possível, no entanto é 50% mais lento que o tipo CHAR;

- INT(M) [unsigned]: números inteiros entre -2147483648 e 2147483647. A opção "unsigned" pode ser usada na declaração mudando o intervalo para 0 e 4294967295 para inteiros nãosinalizados;

- FLOAT [(M,D)]: números decimais com D casas decimais;

- DATE: armazena informação relativa a datas. O formato default é \'YYYY-MM-DD\' e as datas variam entre \'0000-00-00\' e \'9999-12-31\'. MySQL provê um poderoso conjunto de comandos para formatação e manipulação de datas;

- TEXT/BLOB: strings entre 255 e 65535 caracteres. A diferença entre TEXT e BLOB é que no primeiro o texto não é sensível ao caso e no segundo sim;

- SET: conjunto de valores strings;

- ENUM: conjunto de valores strings, difere do SET pois só são armazenados valores previamente especificados.

 

Outra coisa que vcs devem ter percebido e que o nome que atribui aos campos são bem estranhos, a principio sim mas vou explicar o pq adotei esse padrão para nomear (lembre-se isso é um padrão pessoal, vc pode criar o seu proprio ou seguir o que achar mais confortavel ). Veremos mais a frente o relacionamento entre e tabelas e para ficar mais facil de saber qual campo e de qual tabela esta relacionando com a outra tabela em coloco as 3 primeiras letras do nome da tabela de origem ao final do campo por isso todos os nomes tem aquele _aut e quanto ao nome do campo eu abrevio ele por isso nome fica nom, codigo vira cod e data de nascimento vira datanas isso para que os nomes não fiquem grandes demais, mas tb não podem ficar tão abreviados ao ponto de eu não me lembrar o que é depois.....

 

comando desc

 


desc [nome da tabela];

Exemplo:

desc autor;

O comando desc mostra os campos detalhadamente da sua tabela na forma de uma tabela

veja:

<img src=\'http://img95.imageshack.us/img95/7637/sql1rh0.png\' border=\'0\' alt=\'user posted image\'>

 

Mostrando as tabelas que existem em seu banco de dados

 


show tables;

Esse comando imprime as tabelas existente em seu banco de dados.

<img src=\'http://img482.imageshack.us/img482/1951/sql4ff9.png\' border=\'0\' alt=\'user posted image\'>

 

Inserindo Dados nas Tabelas

 


insert into [nome da tabela] ([campo1],[cempo2]) values([valor1],[valoer2]);

exemplo:

insert into autor (nom_aut,datanas_aut) values(\'Paulo Monteiro Radicchi\',\'1989-07-07\');

O comando utilizado para inserir dados é o insert ele tem duas sintaxes, a que eu mostrei acima e vou explicar agora e uma outra que vou mostra depois.

 

Para fazer a inserção dos dados nesse caso e necessario que vc especifique os campos (no meu caso eu especifiquei o nom_aut e o datanas_aut) no primeiro parentese e se for mais de um eles devem ser separado por virgulas. No seguno são os dados que serão inseridos na mesma ordem em que os campos foram especificados no parentese anterior (se não dara erro pois os campos são de tipos diferentes e caso tivessem o mesmo tipo o resultado seria uma verdadeira bagunça), nesse caso veja que os dados a serem inseridos estão entre aspas simples (\') mas nem todos os tipos de dados são inseridos entre aspas como é o caso dos campos do tipo numerico (float e int).

Obs: Mesmo com o cod_aut não recebendo valor algum por ele ser um valor do tipo auto_increment ele recebe um valor automaticament

 

Segunda forma de se fazer uma inserçõa

 


insert into [nome da tabela] values([valor1],[valoer2]);

Exemplo:

insert into autor values(null,\'Paulo Monteiro Radicchi\',\'1989-07-07\');

Nesse caso o parentese com os campos desaparece e surge o valor null, veja porque..

Agora todos os campos obrigatoriamente terão um valor inserido, todos incluindo o campo cod_aut que é chave primaria e por ser uma chave primaria e auto incrementado ele recebe o valor null, isso quer dizer que ele não recebe valor algum do usuario, o SGBD se encarrega de lhe atribuir um valor do tipo inteiro (1, 2 , 3, 4 .....) esse medida evita que acidentalmente essa campo receba um valor utilizado anteriormente.

 

Comparando as duas sintaxes

A segunda e bem mais simples mas limitada, ja que vc fica obrigado a inserir dados para todos os campos o que não acontece na primeira , com ela e possivel escolher os campos onde os dados serão inseridos

 

Comando select

 


select * from [nome da tabela]

exemplo:

select * from autor;

o comando select retorna os dados inseridos em sua tabela na forma de uma tabela, a sintaxe acima é a sintaxe mais simples do comando, ela seleciona todos os dados e todos os campos da tabela

Veja:

<img src=\'http://img47.imageshack.us/img47/2376/sql5hg5.png\' border=\'0\' alt=\'user posted image\'>

 

Há ainda muitos outras funções do comando select mas por agora vou explicar so essa mais para frente volto nesse topico.

 

Relacionamento de tabelas - Chave Estrangeira

 


create table [nome da tabela1] (

[codigo] [tipo],

[codigo2] [tipo],

[campo1] [tipo],

[campo2] [tipo],

primary key([codigo]),

foreign key([codigo2]) references[nome da tabela]([codigo2])

);

Exemplo:

create table tuto(

cod_tut int not null auto_increment,

nom_tut varchar(30),

txt_tut text,

cod_aut int not null,

primary key(cod_tut),

foreign key (cod_aut) references autor (cod_aut) 

);

Ate a penultima linha nada de realmente novo, com excessão do campo cod_aut que é uma "copia" do campo cod_aut da tabela autor so que desta vez ele não é auto_increment nem primary key a explicação para existencia desse campo se encontra na ultima linha, onde aparce o comando foreign key (chave estrangeira), ele faz referencia a uma outra tabela ja existente, para isso ele usa a chave primaria como referencia ja que essa numca se repetira, por isso foi feita a "copia" do campo cod_aut pois ele é a chave primaria da tabela autor criada anteriormente.

 

obs: na hora de inserir os dados na tabela com uma foreign key vc não pode prencher o campo da chave estrangeira com o valor null veja o exemplo:


insert into tuto values(null,\'Comandos Básicos de SQL\',\'na hora de inserir os dados na tabela com uma foreign key vc não pode prencher o campo da mesma com o valor null.\',1); 

ou

insert into tuto (nom_tut,txt_tut,cod_aut) values(\'Comandos Básicos de SQL\',\'na hora de inserir os dados na tabela com uma foreign key vc não pode prencher o campo da mesma com o valor null.\',1);

Comando select

 


select [apelido da tabela].[campo1],[apelido da tabela].[campo2] from [nome da tabela] as [apelido da tabela] where [condição];

exemplo:

select a.nom_aut from autor as a where cod_aut=1;

<img src=\'http://img163.imageshack.us/img163/8618/sql3jw2.png\' border=\'0\' alt=\'user posted image\'>

 

Agora foi especificados os campos que irão ser impressos no caso foi o campo nom_aut da tabela autor que por sinal desta vez ganhou um apelido (a) esse apelido foi atribuido a ela atravez do comando as com ele tb é possivel dar apelidos as colunas veja o exemplo abaixo


select [apelido da tabela].[campo1] as [apelido do campo1],[apelido da tabela].[campo2] as [apelido do campo1] from [nome da tabela] as [apelido da tabela] where [condição];

exemplo:

select a.nom_aut as Nome from autor as a where cod_aut=1;

<img src=\'http://img368.imageshack.us/img368/1396/sql4fv0.png\' border=\'0\' alt=\'user posted image\'>

 

voltando ao codigo , outra novida é o comando where com ele é possivel "refinar" sua pesquisa, colocando condições a que eu coloque especificou que somente imprimissem as linhas onde o cod_aut fosse igual a 1, o = é um operador de comparação, veja outras abaixo.

 

> - Maior.

>= - Maior ou igual.

< - Menor.

<= - Menor ou igual.

= - Igual.

<> - Diferente.

 

é possive tambem verficar mais de uma condição usano os operadores and ou or. Veja como funciona:

 


select a.nom_aut as nome from autor as a where (datanas_aut=\'1989-07-07\') and (cod_aut=1);

<img src=\'http://img292.imageshack.us/img292/2508/sql6ks8.png\' border=\'0\' alt=\'user posted image\'>

 

foi usado no exemplo anterior o and, para que ele retorne algum resultado as duas condições tem que obrigatoriamente ser verdadeiras em uma mesma linha.

 


select a.nom_aut as nome from autor as a where (datanas_aut=\'1989-07-07\') or (cod_aut=2);

<img src=\'http://img49.imageshack.us/img49/5627/sql7jn0.png\' border=\'0\' alt=\'user posted image\'>

 

Nesse caso o uso do or permite que apenas uma das condições seja verdadeira para retornar algo, por isso ele é mais abrangente e menos especifico que o and.

 

Comando Between

 


select a.nom_aut as nome from autor as a where cod_aut between 1 and 3;

<img src=\'http://img355.imageshack.us/img355/2569/sql8zd1.png\' border=\'0\' alt=\'user posted image\'>

 

o comando between serve para determinar invervalos , no exemplo ele define que serão impresso o nome de todas as linhas que tenham o cod_aut entre 1 e 3 ou seja os valores aceitos são 1,2 e 3, na sintaxe do comando ele dispensa o uso de operadores de comparação.

 

Select em duas tabelas

 


select from [apelido da tabela1].[campo da tabela1] as [apelido do campo] , [apelido da tabela2].[campo da tabela2] as [apelido do campo] from [tabela 1] as [apelido da tabela1] , [tabela 2] as [apelido da tabela2] where [apelido da tabela1].[chave primaria da tabela1]=[apelido da tabela2].[chave estrangeira referente a tabela 1]

exemplo:

select a.nom_aut as Autor, t.nom_tut as Tutorial from autor as a,tuto as t where a.cod_aut=t.cod_aut;

<a href=\'http://img116.imageshack.us/img116/9959/sql5tu6.png\' target=\'_blank\'>Imagem (Aqui)</a>

 

para vc entender melhor veja como as tabelas estavam preenchidas:

Tabela autor

<a href=\'http://img130.imageshack.us/img130/7491/sql7yu2.png\' target=\'_blank\'>Imagem (Aqui)</a>

 

Tabela tuto

<a href=\'http://img291.imageshack.us/img291/2664/sql6cd1.png\' target=\'_blank\'>Imagem (Aqui)</a>

 

Nesse caso nenhum comando novo apareceu, a unica novidade foi a impressão de campos de duas tabelas distintas, mas relacionadas atraves da foreign key (chave estrangeira) cod_aut.

Na impressão acima forma mostrados os tutorias ao lado de seus respectivos donos para isso ocorrer foi necessario que na linha de cada tutorial houvesse um campo que guarda-se o codigo de cada autor.

 

Update

 


update [nome da tabela] set [nome do campo]=[novo valor] where [condição];



Exemplo:



update autor set nom_aut=\'Fulano da Silva\' where cod_aut=2;

O comando update serve para alterar os valores inseridos em determinado campo da tabela, ele atualiza esses valores.

 

Antes

<img src=\'http://img47.imageshack.us/img47/2376/sql5hg5.png\' border=\'0\' alt=\'user posted image\'>

 

Depois

<img src=\'http://img509.imageshack.us/img509/9248/sql1bs3.png\' border=\'0\' alt=\'user posted image\'>

 

Delete

 


delete from [tabela] where [condição];

Exemplo:

delete from autor where cod_aut=3;

Esse comando serve para deletar linhas inteiras e sua sintaxe é bem semelhante a sintaxe do comando select.

 

Drop table

 


drop table [tabela];

Exemplo:

drop table autor;

O comando drop table tem a função de apagar a tabela, ele destroi todos os seus valores e extruturas fazendo com que a tabela deixe de existir no seu BD.

 

Drop Database

 


drop database [banco de dados];

Exemplo:

drop database tutorial;

O comando drop database é bem semelhante ao drop table, neste caso ele deleta o banco de dados.

 

<span style=\'color:blue\'>Créditos: PaulomRadicchi do nowloaded.irg

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bozonildo    0
Bozonildo

Créditos: PaulomRadicchi do nowloaded.irg

 

[center:738b13365e] Comandos Básicos de SQL </span>[/center:738b13365e]

 

Fala galera, esse é meu primeiro tuto (essa frase é clichê), bem vou mostra pra vocês alguns comandos SQL (Structured Query Language), essa é a linguagem utilizada pelos bancos de dados relacionaL ... Para saber mais sobre o que é SQL, Bancos de Dados Relacional e etc va ao wikipedia la tem bastante coisa sobre o assunto....

 

Antes de começar com os comandos e necessario que vc tenha um SGBD (Sistema Gerenciador de Banco de Dados) ele é o programa que irá compilar os códigos , para isso eu indico o MySQL (www.mysql.com), porque ele é de graça , estavel, se integra muito bem ao PHP e tem muitas outras vantagens....

 

Sem mais enrolações vamos ao que interessa, os códigos.

 

o primeiro e mais basico é o CREATE, com ele vc cria as tabelas, bancos de dados e etc .

 

Criando o banco de dados

 


create database [nome do banco de dados];

use [nome do banco de dados];

Exemplo:

create database tutorial;

use tutorial;

Acima vc usou o comando create para criar um banco de dados (database) com o nome de tutorial e fekou o codigo com um ; (todo comando no MySQL deve ser fechado com um ;).

Logo apos a criação vc utilizou o comando use, para "usar" o banco de dados que foi criado, ele tb pode ser usado para "trocar" de banco de dados (mudar de um banco de dados para outro).

 

Obs: Um banco de dados é um conjunto de tabelas que se relacionam, por isso para cada projeto e importante criar um novo banco de dados, isso facilita a sua vida na hora de fazer qualquer alteração em uma de suas tabelas, alem do que, deixa as aplicações muito mais leves, e organizadas....

 

Criando uma tabela

 


create table [nome da tabela] (

[nome do campo1] [tipo],

[nome do campo2] [tipo]

);



Exemplo:

create table autor(

cod_aut int not null auto_increment,

nom_aut varchar(30),

datanas_aut date,

primary key(cod_aut)

);

Mais uma vez o comando create aparece mas desta vez ele esta criando uma tabela, outros codigos novos tambem aparecem, vou explicar todos eles

int é um tipo de dado que so aceita numeros do tipo inteiro (veja lista abaixo)

not null esse código impede que o campo receba valores menore que 1 ou fique em branco

auto_increment esse campo sera prenchido automaticamente.

varchar (30) tipo de dado que aceita valores Alfanumérico (A-Z, 0-9 , simbolos) com no maximo 30 caracteres (veja lista abaixo).

date tipo de dado que aceita valores para data da seguinte forma ano-mes-dia (2006-11-21). (veja lista abaixo)

primary key(cod_aut) transforma o campo cod_aut em chave primaria, ou seja e como se fosse seu RG, sua identificação esse o valor inserido nesse campo jamais se repetirá em qualquer outra inserção.

 

Lista dos tipos de dados

 

- CHAR(M): strings de tamanho fixo entre 1 e 255 caracteres;

- VARCHAR(M): strings de tamanho flexível entre 1 e 255 caracteres. VARCHAR ocupa sempre o menor espaço possível, no entanto é 50% mais lento que o tipo CHAR;

- INT(M) [unsigned]: números inteiros entre -2147483648 e 2147483647. A opção "unsigned" pode ser usada na declaração mudando o intervalo para 0 e 4294967295 para inteiros nãosinalizados;

- FLOAT [(M,D)]: números decimais com D casas decimais;

- DATE: armazena informação relativa a datas. O formato default é \'YYYY-MM-DD\' e as datas variam entre \'0000-00-00\' e \'9999-12-31\'. MySQL provê um poderoso conjunto de comandos para formatação e manipulação de datas;

- TEXT/BLOB: strings entre 255 e 65535 caracteres. A diferença entre TEXT e BLOB é que no primeiro o texto não é sensível ao caso e no segundo sim;

- SET: conjunto de valores strings;

- ENUM: conjunto de valores strings, difere do SET pois só são armazenados valores previamente especificados.

 

Outra coisa que vcs devem ter percebido e que o nome que atribui aos campos são bem estranhos, a principio sim mas vou explicar o pq adotei esse padrão para nomear (lembre-se isso é um padrão pessoal, vc pode criar o seu proprio ou seguir o que achar mais confortavel ). Veremos mais a frente o relacionamento entre e tabelas e para ficar mais facil de saber qual campo e de qual tabela esta relacionando com a outra tabela em coloco as 3 primeiras letras do nome da tabela de origem ao final do campo por isso todos os nomes tem aquele _aut e quanto ao nome do campo eu abrevio ele por isso nome fica nom, codigo vira cod e data de nascimento vira datanas isso para que os nomes não fiquem grandes demais, mas tb não podem ficar tão abreviados ao ponto de eu não me lembrar o que é depois.....

 

comando desc

 


desc [nome da tabela];

Exemplo:

desc autor;

O comando desc mostra os campos detalhadamente da sua tabela na forma de uma tabela

veja:

<img src=\'http://img95.imageshack.us/img95/7637/sql1rh0.png\' border=\'0\' alt=\'user posted image\'>

 

Mostrando as tabelas que existem em seu banco de dados

 


show tables;

Esse comando imprime as tabelas existente em seu banco de dados.

<img src=\'http://img482.imageshack.us/img482/1951/sql4ff9.png\' border=\'0\' alt=\'user posted image\'>

 

Inserindo Dados nas Tabelas

 


insert into [nome da tabela] ([campo1],[cempo2]) values([valor1],[valoer2]);

exemplo:

insert into autor (nom_aut,datanas_aut) values(\'Paulo Monteiro Radicchi\',\'1989-07-07\');

O comando utilizado para inserir dados é o insert ele tem duas sintaxes, a que eu mostrei acima e vou explicar agora e uma outra que vou mostra depois.

 

Para fazer a inserção dos dados nesse caso e necessario que vc especifique os campos (no meu caso eu especifiquei o nom_aut e o datanas_aut) no primeiro parentese e se for mais de um eles devem ser separado por virgulas. No seguno são os dados que serão inseridos na mesma ordem em que os campos foram especificados no parentese anterior (se não dara erro pois os campos são de tipos diferentes e caso tivessem o mesmo tipo o resultado seria uma verdadeira bagunça), nesse caso veja que os dados a serem inseridos estão entre aspas simples (\') mas nem todos os tipos de dados são inseridos entre aspas como é o caso dos campos do tipo numerico (float e int).

Obs: Mesmo com o cod_aut não recebendo valor algum por ele ser um valor do tipo auto_increment ele recebe um valor automaticament

 

Segunda forma de se fazer uma inserçõa

 


insert into [nome da tabela] values([valor1],[valoer2]);

Exemplo:

insert into autor values(null,\'Paulo Monteiro Radicchi\',\'1989-07-07\');

Nesse caso o parentese com os campos desaparece e surge o valor null, veja porque..

Agora todos os campos obrigatoriamente terão um valor inserido, todos incluindo o campo cod_aut que é chave primaria e por ser uma chave primaria e auto incrementado ele recebe o valor null, isso quer dizer que ele não recebe valor algum do usuario, o SGBD se encarrega de lhe atribuir um valor do tipo inteiro (1, 2 , 3, 4 .....) esse medida evita que acidentalmente essa campo receba um valor utilizado anteriormente.

 

Comparando as duas sintaxes

A segunda e bem mais simples mas limitada, ja que vc fica obrigado a inserir dados para todos os campos o que não acontece na primeira , com ela e possivel escolher os campos onde os dados serão inseridos

 

Comando select

 


select * from [nome da tabela]

exemplo:

select * from autor;

o comando select retorna os dados inseridos em sua tabela na forma de uma tabela, a sintaxe acima é a sintaxe mais simples do comando, ela seleciona todos os dados e todos os campos da tabela

Veja:

<img src=\'http://img47.imageshack.us/img47/2376/sql5hg5.png\' border=\'0\' alt=\'user posted image\'>

 

Há ainda muitos outras funções do comando select mas por agora vou explicar so essa mais para frente volto nesse topico.

 

Relacionamento de tabelas - Chave Estrangeira

 


create table [nome da tabela1] (

[codigo] [tipo],

[codigo2] [tipo],

[campo1] [tipo],

[campo2] [tipo],

primary key([codigo]),

foreign key([codigo2]) references[nome da tabela]([codigo2])

);

Exemplo:

create table tuto(

cod_tut int not null auto_increment,

nom_tut varchar(30),

txt_tut text,

cod_aut int not null,

primary key(cod_tut),

foreign key (cod_aut) references autor (cod_aut) 

);

Ate a penultima linha nada de realmente novo, com excessão do campo cod_aut que é uma "copia" do campo cod_aut da tabela autor so que desta vez ele não é auto_increment nem primary key a explicação para existencia desse campo se encontra na ultima linha, onde aparce o comando foreign key (chave estrangeira), ele faz referencia a uma outra tabela ja existente, para isso ele usa a chave primaria como referencia ja que essa numca se repetira, por isso foi feita a "copia" do campo cod_aut pois ele é a chave primaria da tabela autor criada anteriormente.

 

obs: na hora de inserir os dados na tabela com uma foreign key vc não pode prencher o campo da chave estrangeira com o valor null veja o exemplo:


insert into tuto values(null,\'Comandos Básicos de SQL\',\'na hora de inserir os dados na tabela com uma foreign key vc não pode prencher o campo da mesma com o valor null.\',1); 

ou

insert into tuto (nom_tut,txt_tut,cod_aut) values(\'Comandos Básicos de SQL\',\'na hora de inserir os dados na tabela com uma foreign key vc não pode prencher o campo da mesma com o valor null.\',1);

Comando select

 


select [apelido da tabela].[campo1],[apelido da tabela].[campo2] from [nome da tabela] as [apelido da tabela] where [condição];

exemplo:

select a.nom_aut from autor as a where cod_aut=1;

<img src=\'http://img163.imageshack.us/img163/8618/sql3jw2.png\' border=\'0\' alt=\'user posted image\'>

 

Agora foi especificados os campos que irão ser impressos no caso foi o campo nom_aut da tabela autor que por sinal desta vez ganhou um apelido (a) esse apelido foi atribuido a ela atravez do comando as com ele tb é possivel dar apelidos as colunas veja o exemplo abaixo


select [apelido da tabela].[campo1] as [apelido do campo1],[apelido da tabela].[campo2] as [apelido do campo1] from [nome da tabela] as [apelido da tabela] where [condição];

exemplo:

select a.nom_aut as Nome from autor as a where cod_aut=1;

<img src=\'http://img368.imageshack.us/img368/1396/sql4fv0.png\' border=\'0\' alt=\'user posted image\'>

 

voltando ao codigo , outra novida é o comando where com ele é possivel "refinar" sua pesquisa, colocando condições a que eu coloque especificou que somente imprimissem as linhas onde o cod_aut fosse igual a 1, o = é um operador de comparação, veja outras abaixo.

 

> - Maior.

>= - Maior ou igual.

< - Menor.

<= - Menor ou igual.

= - Igual.

<> - Diferente.

 

é possive tambem verficar mais de uma condição usano os operadores and ou or. Veja como funciona:

 


select a.nom_aut as nome from autor as a where (datanas_aut=\'1989-07-07\') and (cod_aut=1);

<img src=\'http://img292.imageshack.us/img292/2508/sql6ks8.png\' border=\'0\' alt=\'user posted image\'>

 

foi usado no exemplo anterior o and, para que ele retorne algum resultado as duas condições tem que obrigatoriamente ser verdadeiras em uma mesma linha.

 


select a.nom_aut as nome from autor as a where (datanas_aut=\'1989-07-07\') or (cod_aut=2);

<img src=\'http://img49.imageshack.us/img49/5627/sql7jn0.png\' border=\'0\' alt=\'user posted image\'>

 

Nesse caso o uso do or permite que apenas uma das condições seja verdadeira para retornar algo, por isso ele é mais abrangente e menos especifico que o and.

 

Comando Between

 


select a.nom_aut as nome from autor as a where cod_aut between 1 and 3;

<img src=\'http://img355.imageshack.us/img355/2569/sql8zd1.png\' border=\'0\' alt=\'user posted image\'>

 

o comando between serve para determinar invervalos , no exemplo ele define que serão impresso o nome de todas as linhas que tenham o cod_aut entre 1 e 3 ou seja os valores aceitos são 1,2 e 3, na sintaxe do comando ele dispensa o uso de operadores de comparação.

 

Select em duas tabelas

 


select from [apelido da tabela1].[campo da tabela1] as [apelido do campo] , [apelido da tabela2].[campo da tabela2] as [apelido do campo] from [tabela 1] as [apelido da tabela1] , [tabela 2] as [apelido da tabela2] where [apelido da tabela1].[chave primaria da tabela1]=[apelido da tabela2].[chave estrangeira referente a tabela 1]

exemplo:

select a.nom_aut as Autor, t.nom_tut as Tutorial from autor as a,tuto as t where a.cod_aut=t.cod_aut;

<a href=\'http://img116.imageshack.us/img116/9959/sql5tu6.png\' target=\'_blank\'>Imagem (Aqui)</a>

 

para vc entender melhor veja como as tabelas estavam preenchidas:

Tabela autor

<a href=\'http://img130.imageshack.us/img130/7491/sql7yu2.png\' target=\'_blank\'>Imagem (Aqui)</a>

 

Tabela tuto

<a href=\'http://img291.imageshack.us/img291/2664/sql6cd1.png\' target=\'_blank\'>Imagem (Aqui)</a>

 

Nesse caso nenhum comando novo apareceu, a unica novidade foi a impressão de campos de duas tabelas distintas, mas relacionadas atraves da foreign key (chave estrangeira) cod_aut.

Na impressão acima forma mostrados os tutorias ao lado de seus respectivos donos para isso ocorrer foi necessario que na linha de cada tutorial houvesse um campo que guarda-se o codigo de cada autor.

 

Update

 


update [nome da tabela] set [nome do campo]=[novo valor] where [condição];



Exemplo:



update autor set nom_aut=\'Fulano da Silva\' where cod_aut=2;

O comando update serve para alterar os valores inseridos em determinado campo da tabela, ele atualiza esses valores.

 

Antes

<img src=\'http://img47.imageshack.us/img47/2376/sql5hg5.png\' border=\'0\' alt=\'user posted image\'>

 

Depois

<img src=\'http://img509.imageshack.us/img509/9248/sql1bs3.png\' border=\'0\' alt=\'user posted image\'>

 

Delete

 


delete from [tabela] where [condição];

Exemplo:

delete from autor where cod_aut=3;

Esse comando serve para deletar linhas inteiras e sua sintaxe é bem semelhante a sintaxe do comando select.

 

Drop table

 


drop table [tabela];

Exemplo:

drop table autor;

O comando drop table tem a função de apagar a tabela, ele destroi todos os seus valores e extruturas fazendo com que a tabela deixe de existir no seu BD.

 

Drop Database

 


drop database [banco de dados];

Exemplo:

drop database tutorial;

O comando drop database é bem semelhante ao drop table, neste caso ele deleta o banco de dados.

 

<span style=\'color:blue\'>Créditos: PaulomRadicchi do nowloaded.irg

Compartilhar este post


Link para o post
Compartilhar em outros sites
Razor    1
Razor

Aprovado.

Nao pagarei pelo seu outro tutorial pela quantidade de topicos que voce postou.

Mas esse ta aprovado e 25 OT$ pra voce.

 

esK~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Razor    1
Razor

Aprovado.

Nao pagarei pelo seu outro tutorial pela quantidade de topicos que voce postou.

Mas esse ta aprovado e 25 OT$ pra voce.

 

esK~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Suboras    0
Suboras

Nuss, Realmente MT bm ;)

Infelismente nao poderei fazer como nosso amiguinho ali em cima... Pois tenho Poucos OT$.. huehe xP

 

@TUTO

Bm Explikdo... ;)

Aconselho... O.o~

 

//Suboras

Compartilhar este post


Link para o post
Compartilhar em outros sites
higor_gremista    0
higor_gremista

Prefiro XML

mas SQL é bem rox

e o tuto tah legal

fLws

 

------

 

Usuário alertado por reviver tópico!

Magus

Compartilhar este post


Link para o post
Compartilhar em outros sites
giovanni-gl    0
giovanni-gl

Aff, li tudo isso, mais, msm assim ñ resolvi meu problema, pode te ser que ñ presteu atenção, se isso conteceu me corrija e monstre onde esta no tuto

 

Meu problema é o seguinte que quando inicio o executavel do ot SQL aparece o seguinte erro:

Loading Bans... MYSQL ERROR mysql_real_connect: can't connect to MySQL server on 'LOCALHOST' <10061>

 

Error: Unable to load Bans![/b]

 

 

 

sad.gif

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ricardin    0
Ricardin

Bom tutorial, esses codigos são os basicos, mas da para aprender bastante com eles

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
Lucas Anschau Antunes    0
Lucas Anschau Antunes

tutorial muito bom

tópico aprovado. flw

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pedroo    0
Pedroo

to com o ot 8.0 ... e quero faze update.. mas nao qro perde as acc...

precisava de um modo de faze o update para 8.1 e mante as acc antigas do 8.0 ... algm ai sabe como me ajuda ?

o database nao serve pro server...

 

valeuuu :bye:

 

By: Pedrin

Compartilhar este post


Link para o post
Compartilhar em outros sites
junior0792    0
junior0792

Nossa valeu tava precisandoo sabe um poco mais sobre comandos :]

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kidman xD    0
Kidman xD

Fikow Show Aprovadãum :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
Black Gooden    0
Black Gooden

Alertado

 

11 - Reviver tópicos

A ação de reviver tópicos, ou seja, postar mensagens em tópicos antigos (com mais de 1 mês de inatividade) é considerada infração leve, sujeita a alerta temporário, seja qual for a mensagem postada.

 

Tópico Fechado

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×