Jump to content
joninho

Duvidas tabela- iniciação

Recommended Posts

joninho

boas, gostava que me tradusissem isto:

CREATE TABLE `users` (
  `idusuarios` int(10) NOT NULL ,  `nome` varchar(45) not NULL,
  `nick` varchar(15) not NULL,
  `senha` varchar(10) not  NULL,
  `privilegio` char(1) default '0',
  PRIMARY KEY  (`idusuarios`),
) ;

ah parte: o k eh uma query? :\ lol

1- gostava que me explicassem porque que a tabela users leva isso tudo em baixo,

2- gostava que me explicassem cada linha por exemplo: 'idusuarios` int(10) NOT NULL ,  `nome` varchar(45) not NULL, o que é int(10) not full etc...

Cumps...

Share this post


Link to post
Share on other sites
saramgsilva

boas, gostava que me tradusissem isto:

CREATE TABLE `users` (
  `idusuarios` int(10) NOT NULL , 
  `nome` varchar(45) not NULL,
  `nick` varchar(15) not NULL,
  `senha` varchar(10) not  NULL,
  `privilegio` char(1) default '0',
  PRIMARY KEY  (`idusuarios`),
) ;

ah parte: o k eh uma query? :\ lol

1- gostava que me explicassem porque que a tabela users leva isso tudo em baixo,

2- gostava que me explicassem cada linha por exemplo: 'idusuarios` int(10) NOT NULL ,  `nome` varchar(45) not NULL, o que é int(10) not full etc...

Cumps...

ai joninho ...joninho....lolol isso foi o  k te dei...lolol eu disse para o usares akilo que tinhas!!!

simplesmente os atributos nao podem ser nulos!! e a chave primaria é o idusuarios!!e por defeito o previlegio é 0

agora joninho tens que estudar sql...e como nao estudaste nada...nao percebes nem sabes!!... estuda umas coisatas e começas a perceber disto  :thumbsup:

ve o meu projecto da base de dados da cozinha em projectos pessoais....se leres o relatorio...vais perceber algumas coisas...

Share this post


Link to post
Share on other sites
deathseeker25
CREATE TABLE `users` (

Cria a tabela 'users' dentro da base de dados correspondente.

`idusuarios` int(10) NOT NULL

Cria campo 'idusuarios' que apenas aceita numeros inteiros diferentes de 0 com capacidade para 10 dígitos...

`nome` varchar(45) NOT NULL,

Cria campo 'nome' que aceita até 45 caracteres e não pode ficar vazio (NOT NULL). Varchar é então uma cadeia de caracteres.

`nick` varchar(15) NOT NULL,

Cria campo 'nick' com capacidade para 15 caracteres e não pode ficar vazio (NOT NULL).

`senha` varchar(10) NOT  NULL,

Cria campo 'senha' com capacidade para 10 caracteres e não pode ficar vazio (NOT NULL).

`privilegio` char(1) DEFAULT '0'

Cria campo 'privilegio'. Trata-se do campo que servirá para definir as permissões dos utilizadores. Se não existir definição, então será 0 por defeito (privilégio de visitante á página).

PRIMARY KEY  (`idusuarios`)

Quer dizer que a chave primaria da table será 'idusuarios'.Ser chave primária de uma tabela, significa que os registos inseridos não se podem repetir, isto é, têm de ser únicos e irrepetíveis.

ah parte: o k eh uma query? :\ lol

Uma query é uma consulta á base de dados. Por exemplo:

<?php
$sql_query= "INSERT INTO users VALUES('01','Rui Maia','deathseeker25','senha_deathseeker25','1')";
?>

1- gostava que me explicassem porque que a tabela users leva isso tudo em baixo

Leva isso tudo porque as tabelas são constituidas pelos campos, assim como os campos armazenam os registos.

Imagina que tens um país: num país existem muitos distritos. Em cada um desses distritos existem muitos concelhos; em cada um desses conselhos existem inúmeros habitantes.

O mesmo acontece com uma base de dados: cada base de dados pode ter muitas tabelas, cada tabela muitos campos e cada campo inúmeros registos.

Got it?

Share this post


Link to post
Share on other sites
knightcoder

Algumas correções:

`idusuarios` int(10) NOT NULL

Cria campo 'idusuarios' que apenas aceita numeros inteiros até 10 dígitos e não pode conter

registos Nulos, mas um deles pode ser ZERO.

Uma das regras de SQL é que uma chave primária não pode conter registos nulos, daí que cada campo

que entra num chave primária tem que ser NOT NULL

....

ah parte: o k eh uma query? :\ lol

Uma query é uma consulta á base de dados. Por exemplo:

<?php
$sql_query= "INSERT INTO users VALUES('01','Rui Maia','deathseeker25','senha_deathseeker25','1')";
?>

De facto este exemplo não é uma Query, mas sim um INSERT, que é um comando de SQL.

Uma Query é uma consulta à base de dados.

Ex:

Select * 
from users
where idusuarios > 10

Os comandos SQL (Structured Query Language) podem se dividir em dois grupos:

DDL (Data Definition Language):

Este subset do SQL permite definir os dados nas tabelas/base de dados e os comandos mais comuns são:

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

DML (Data Manipulation Language)

Este subset do SQL permite consultar e manipular os dados.

Os comandos mais comuns são:

SELECT

UPDATE

DELETE

INSERT INTO

Sem querer ser mais extenso, aconselho a consulta desta página:

http://www.w3schools.com/sql/sql_intro.asp

Share this post


Link to post
Share on other sites
Gurzi

bem, comecei hoje a aprender SQL nas aulas e estou a gostar imenso, vou começar a frequentar esta secção. :)

Muito boa a tua explicação Rui

Share this post


Link to post
Share on other sites
Gurzi

já agora alguem sabe como se faz isto :

Identify the countries which have names including the word 'United'

tabela : bbc

nome dos paises : name

SELECT NAME FROM BBC

agora o resto é groupes :P

Share this post


Link to post
Share on other sites
Tiago Salgado

já agora alguem sabe como se faz isto :

Identify the countries which have names including the word 'United'

tabela : bbc

nome dos paises : name

SELECT NAME FROM BBC

agora o resto é groupes :P

SELECT name

FROM bbc

Where name = 'United'

Share this post


Link to post
Share on other sites
Gurzi

mas isso só vai procurar nomes que sejam mesmo "United" não ?

eu quero, que contenha

Share this post


Link to post
Share on other sites
ouvi_dizer

select xpto from tabela where xpto like '%O que queres que contenha%';

em alguns SGBDs tens que substituir as % por *.

Share this post


Link to post
Share on other sites
Gurzi

malta ajudem aqui  nisto

tabela  bbc(name ,population,region)

Mostrar todos os campos dos paises que tenham a mesma regiao que o pais , India e Irão

pensei assim :

SELECT * FROM BBC WHERE REGION = (SELECT REGION FROM BBC WHERE REGION IN('India','Iran'))

mas não dá :\

ouvi_dizer obg pela xplicaçao da cena do where like % %

Share this post


Link to post
Share on other sites
saramgsilva

... WHERE REGION IN('India','Iran'))

isso nao podes fazer.. regiao in (...) ... isso esta mal  :thumbsup:

o que prentendias fazer seria

 SELECT * FROM BBC WHERE REGION = all (SELECT REGION FROM BBC WHERE REGION='India' or REGION='Irao' )

mas isso nao faz mto sentido... para isso bastava acho eu fazeres...

SELECT *  FROM BBC WHERE REGION='India' or REGION='Irao'

agora outra coisa: como dizes india e iriao ... aqui posso pensar que sera :

SELECT *  FROM BBC WHERE REGION='India' and  REGION='Irao'

...

mas isto tem algo errado...

queres os campos de todos os paises ...onde esta a referencia do pais???? no nome???

entao

SELECT name FROM BBC WHERE REGION='India' or REGION='Irao' 

da te a tabela com o nome de todos os paises que sao da regiao da india ou do irao

e pegando no que estavas a fazer

 SELECT * FROM BBC WHERE name = all (SELECT name  FROM BBC WHERE REGION='India' or REGION='Irao' )

isto é o mesmo que 

SELECT *  FROM BBC WHERE REGION='India' or REGION='Irao'

desculpem esta sequencia...foi como eu pensei ..e fui escrevendo... pode ajudar a tirar conclusoes...

:confused:

Share this post


Link to post
Share on other sites
saramgsilva

Posso fazer Where region in ('Iran') nao posso pk ?

e o teu code n dá

nao ...... para que se o in ? para ver se algum elemento de 1 atributo esta contido dentro de 1 determinada tabela...

o que queres fazer é where region='irao'

olha assim so por acaso usas o ->            ;  ?

Share this post


Link to post
Share on other sites
Gurzi

nop , nenhum  ;

e depois o in serve tb para evitar varios AND do tipo

where cidade='Lisboa' AND cidade='Porto' and cidade ='Braga'

fazes logo where cidade in('Lisboa','Porto','Braga')

Share this post


Link to post
Share on other sites
saramgsilva

ja esta!! o gurzi encontrou a solucao....

SELECT * FROM bbc 
WHERE region IN 
(SELECT region FROM bbc WHERE name='India'OR name='Iran')

e realmente...havia algo de errado....eu pensava k era... region='Iran ' pelo que ele dizia ..mas nao era...  :wallbash:

boa gurzi.... para a proxima da logo o link...e explica te melhor...  :thumbsup:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.