mySQL. Diz erro de sintaxe

Galera alguem sabe me dizer o porque disso?
começei a poucos dias a praticar mySQL, estou trabalhando pelo promt
alguem sabe me dizer pq quando eu faço qualquer coisa, por exemplo “SELECT * FROM table1 etc etc…” ele da um erro assim:

ERROR 1064: you have a error in your SQL syntax. Check the manual that corresponds to your mySQL server version for de right sintax to use near ...

eu não estou conseguindo criar nada, sera que é algum erro de configuração??

Bom, agradeço a todos…

a parte que vinha depois do “near” que mostra oq esta errado no SQL
posta o resto :grin:

Ai depois do ‘near’ seria um parametro para criar uma tabela por exemplo:

CREATE TABLE nome_da_tabela ( nome` TEXT NOT NULL ,
                                                `email` VARCHAR( 80 ) NOT NULL 
                                                );

Não sei se é assim mesmo que cria

Obrigado

Olá,

retire todos apóstrofos de sua sql.

Estes só são usados para delimitar constantes, em situações como

SELECT * FROM clientes WHERE cidade = 'PORTO ALEGRE'

bob

Desculpe o encomodo, mais é que eu digitei tudo isso e olha oque aconteceu:

mysql> SELECT * FROM clientes WHERE cidade = 'PORTO ALEGRE';
ERROR 1046: No databases selected

e se eu coloco sem o " ; " no final acontece isso:

mysql> SELECT * FROM clientes WHERE cidade = 'PORTO ALEGRE'
       ->

Desculpe pela ignorancia mais é que sou novato…rs

Obrigado a todos…

Olá,

o que coloquei foi apenas um exemplo!

Vamos por partes:

você falou q está usando mysql em linha de comando. Então, primeira coisa a fazer após executar o mysql, é abrir o banco de dados (ou database)

mysql> use <database>;

onde <database> deve ser substituído pelo SEU banco de dados. Se voce ainda não criou nenhum, começe criando um de testes por exemplo:

MySQL> CREATE DATABASE TESTES;

agora, sempre que voce quiser trabalhar com este bd, TESTES, precisa antes abrí-lo (a cada vez que rodar o mysql):

mysql> USE TESTES;

Em seguida é necessário criar uma tabela (no meu exemplo usei a tabela Clientes, que já deveria ter sido criada)

mysql> CREATE TABLE nome_da_tabela 
-> ( nome TEXT NOT NULL ,
-> email VARCHAR( 80 ) NOT NULL);

Neste exemplo, vírgulas, parenteses, espaços, TODOS são parte da sintaxe.
O fato de usar uma ou mais linhas é irrelevante, o que precisa é um ponto-e-vírgula no final. O mysql usa do artifício de, enquanto não encontrar um ponto-e-vírgula, considerar que o comando não está concluído (afinal, com certeza haverão comandos com mais de 80 colunas , daí, a cada <enter> , se não tiver o ponto-e-vírgula, será oferecida uma continuação, indicada pelo “prompt” ->.

Também usei o código de sua primeira msg, que cria (CREATE) uma tabela com o sugestivo (?) nome “nome_da_tabela” (recomendaria algo mais específico, como Contatos, Amigos, Clientes, algo que tenha nome e email ) :???:

Se chegamos neste ponto, já temos um banco de dados - testes, e uma tabela - nome_da_tabela. Só que ela estará vazia!

Precisamos então incluir alguma coisa:

mysql> INSERT INTO nome_da_tabela ('Spier', 'spier_naum_recebe_spam@invalido.com'); mysql> INSERT INTO nome_da_tabela ('jhonys', 'jhonys@hotmail.com');

(Aqui é que entram os apóstrofos, para delimitar valores, ou conteúdo para cada coluna de nossa tabela)

Só depois disso, termos um banco de dados com uma tabela e com dados, é que faz sentido pesquisarmos por algo:

mysql> SELECT * FROM nome_da_tabela WHERE nome = 'jhonys' ;

ou

mysql> SELECT * FROM nome_da_tabela;

depois, tente mudar o que está entre apostrofos no primeiro exemplo acima por ‘spier’ , depois por ‘silva’, e veja o que acontece!

Mas, mais importante, acostume-se a ler os manuais.
Do mysql voce encontra aqui:
Os exemplos de insert acima são os mais simplórios, procure ler o http://dev.mysql.com/doc/mysql/en/index.html

[]