PDA

View Full Version : SQL puro dove inserirlo ?


leon84
26-04-2003, 20:12
Mi spiego : vorrei creare un database interamente in SQL ... cioè anche la creazione delle tabelle la voglio fare da codice , così come pure le query e tutto il resto .... quale programma dovrei utilizzare per inserire codice nativo SQL ? Mi consigliate ? Se non sbaglio MySql è uno di questi , ma non ne sono sicuro ..... Una volta mi è capitato di vedere un database realizzato in un semplice file di testo dove c'era tutto codice SQL .... mi aiutate per favore ?

l.golinelli
27-04-2003, 09:42
MySQL e programma scritto in C

;)

leon84
27-04-2003, 10:04
Scusa ti spieghi meglio ? Ma MySql non è maggiormente portato per sistemi UNIX ? A me interessava qualcosa su windows .... ora sto provando a leggere qualcosa su Microsoft SQL server ..... non so se sia la mia soluzione però

leon84
27-04-2003, 10:08
Cmq anche volendo usare MYSQL mi dici quale versione scaricare ? per windows ovviamente ? E mi dici anche dopo inserisco il codice sorgente ? Grazie mille

cionci
27-04-2003, 10:09
SQL Server è a pagamento...
MySQL funziona benissimo sotto Windows !!!

Athlon@Home
27-04-2003, 10:11
allora mycql è un ottimo database opensource e gratuito
www.mysql.com scarichi la versione stabile più nuova che c'è x win 32

dopodichè lo installi e ti dovrebbe installare anche la gui x gestire il database, lo avvii e dalla gui puoi inserire "codice sql" x creare tabelle e tutto :) o in alternativa usi phpmyadmin, ma devi anche installare ad esempio apache e php x poterlo gestire

niente di estremamente complicato cmq ;)

leon84
27-04-2003, 10:11
ah grazie mille ti avevo contattato nell'altra discussione ..... ok ma mi dici dove posso scaricarlo e quale versione ? per caso ce ne è una anche italiana ? e poi dove inserire il codice ? fatemi sapere

monkey72
27-04-2003, 10:12
dbms oracle

cionci
27-04-2003, 10:13
Scarica il server versione 4.0.12 e il Control Center versione 0.9.1...

Il Control Center è l'interfaccia grafica per gestire i database...

leon84
27-04-2003, 10:16
ok lo sto scaricando .... sono circa 20 MB ..... ok lo installo e pi dovrei trovare questa gui giusto ? ah un'altra cosa ma è questo software che alla fine mi rilascia il file di testo ? e questo file di testo sarebbe il mio database giusto ?

leon84
27-04-2003, 10:17
infatti sto scaricando quello ..... ma sto control center sarebbe la famosa gui di cui si parlava ?

leon84
27-04-2003, 10:22
ah non riesco a trovare il control .....

cionci
27-04-2003, 10:29
Originally posted by "leon84"

infatti sto scaricando quello ..... ma sto control center sarebbe la famosa gui di cui si parlava ?
Sì...

Home page... Intestazione del sito... Accanto al server c'è control center...

Comunque in MySQL i DB non sono file di testo...

leon84
27-04-2003, 10:36
Allora ora proverò a scaricarlo .... un'altra cosa ..... ho appena finito di installare mysql ..... l'installazione è riuscita ma nel menù start non c'è niente .... nella cartella dove me lo ha installato ci sono delle icone ma se le lancio non vedo niente .....

leon84
27-04-2003, 10:39
ok ci sono .... lo sto scaricando .....

Athlon@Home
27-04-2003, 10:41
beh il db si avvia come "servizio" lavora in background (si dice cosi? :D) se vai nel task manager lo vedi, avvia la versione giusta x il tuo windows

leon84
27-04-2003, 10:42
ok l'ho pure installato .... mi si apre una finestra che si chiama console .... ma dove mettere le mani ? Se ho capito bene questa finestra è l'interfaccia grafica al mysql che ho installato prima giusto ? Ah un'altra curiosità : ma come ACCESS anche Mysql è un DBMS ?

cionci
27-04-2003, 11:00
Dopo che hai installato MySQL devi procedere a metterlo in sicurezza...

Da una finstra DOS scrivi:

mysql e poi Invio

Ora scrivi:

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'la tua password' WITH GRANT OPTION;

quit[INVIO]

Dal prompt scrivi:

mysql -u root -p[INVIO]

Inserisci la password...

REVOKE ALL PRIVILEGES ON *.* FROM ''@'%';

REVOKE ALL PRIVILEGES ON *.* FROM '%'@'';

REVOKE ALL PRIVILEGES ON *.* FROM '%'@'%';

Ovviamente dopo ogni punto e virgola premi invio...

Quel programma che si chiama mysql è il client in testo... Volendo le stringhe SQL le puoi emttere anche lì...

Ad esempio:

SHOW DATABASES; (attento a non modificare il database mysql)
CREATE DATABASE Prova;
SHOW DATABASES;
USE Prova;
CREATE TABLE Tabella (ID Integer AUTO_INCREMENT Primary Key, Nome VARCHAR(50));
DESCRIBE Tabella;
INSERT INTO Tabella VALUES (NULL, 'Ciao');
SELECT * FROM Tabella;

leon84
27-04-2003, 11:02
Premetto che uso Win XP ... e lanciando da DOS mysql mi dice che non è un comando interno o esterno valido .....

cionci
27-04-2003, 11:04
Originally posted by "leon84"

ma come ACCESS anche Mysql è un DBMS ?
Confrontare Access con MySQL è come confrontare Access con SQL Server...

Access è una interfaccia intorno ad un unico database...
MySQL è un database server...che può mettere a disposizione più database a molti utenti...

MySQL può avere anche 10000 utenti connessi contemporaneamente...da locale o da remoto...
Access dopo 5 utenti connessi contemporaneamente comncia a perdere colpi...

cionci
27-04-2003, 11:06
Devi andare nella directory in cui hai installato mysql e all'internod ella directory bin c'è mysql.exe...

leon84
27-04-2003, 11:06
ah capisco ..... ma quindi ritronando al discorso di quel sito MWOPEN se ricordi , quello fa uso di un database Access ... è una chicca allora !!!!!

leon84
27-04-2003, 11:07
Quindi Access lo si può considerare come un database client giusto ? Estenderlo al web , come server , è un pò rischioso ..... chiaramente con Mysql posso fare le stesse cose che con Access se non di più giusto ?

leon84
27-04-2003, 11:09
Fatto mi dice impossibile connettersi a Mysql Server su localhost .... ma non mi dire che occorre anche installare il webserver apache ?

cionci
27-04-2003, 11:10
Originally posted by "leon84"

ah capisco ..... ma quindi ritronando al discorso di quel sito MWOPEN se ricordi , quello fa uso di un database Access ... è una chicca allora !!!!!
Non database client...ma un databse locale all'applicazione...

Più chicca è una cacca ;) Sicuramente con molti utenti verrà messo in ginocchio...

leon84
27-04-2003, 11:11
AH senti una cosa ..... un mio amico mi ha prestato il suo Microsoft SQL server ..... volendo mettere le mani con questo prodotto cosa bisogna fare ?

cionci
27-04-2003, 11:11
Originally posted by "leon84"

Fatto mi dice impossibile connettersi a Mysql Server su localhost .... ma non mi dire che occorre anche installare il webserver apache ?
No...non occorre...

Vai in Pannello di controllo-> Strumenti di amministrazione-> Servizi... Cerca MySQL e avvialo...

cionci
27-04-2003, 11:12
Originally posted by "leon84"

AH senti una cosa ..... un mio amico mi ha prestato il suo Microsoft SQL server ..... volendo mettere le mani con questo prodotto cosa bisogna fare ?
Sinceramente non lo mai installato e nemmeno usato se non da remoto...

leon84
27-04-2003, 11:14
porca miseria non lo trovo !!!!!

leon84
27-04-2003, 12:42
ok ho risolto .... bisognava prima avviare un file .exe che si trova all'interno di una cartellina .... mi ha chiesto nome utente e password ... ora da dos funziona ... ma ora dopo averlo protetto come faccio a creare i database ?

cionci
27-04-2003, 14:57
Te l'ho fatto prima un esempio di creazione di un database...

Comunque su www.mysql.com c'è la documentazione scaricabile con tutta la sintassi...

leon84
27-04-2003, 15:53
si ok il codice va inserito stesso nell'editor di DOS ma poi il file del database quale sarà ?

leon84
27-04-2003, 15:54
Cmq cionci , non voglio insistere , ma tempo fa provando phpnuke ho riscontrato che il database era un file di testo ..... è possibile ?

cionci
27-04-2003, 17:21
Originally posted by "leon84"

si ok il codice va inserito stesso nell'editor di DOS ma poi il file del database quale sarà ?
Non nell'editor di DOS ;)

Il file del database si trova all'interno della directory data dentro mysql...
Sono file multo complessi... Tutt'altro che di testo...

leon84
27-04-2003, 17:42
Scusa cionci e allora dove inserire queste istruzioni ?

leon84
27-04-2003, 17:44
Cioè quello che voglio dire io è che una volta creato il database a quale file fare riferimento se lo voglio spostare su un altro pc ? capito ?

leon84
27-04-2003, 17:44
Aspetta ora ricordo una cosa : quando utilizzai phpnuke il file di database lo caricai con phpmyadmin o qualcosa del genere .... che altro è ?

cionci
27-04-2003, 18:12
Originally posted by "leon84"

Scusa cionci e allora dove inserire queste istruzioni ?
Tramite il client DOS (non l'editor)...mysql.exe

phpmyadmin...è un'interfaccia web per mysql...

Solitamente quanto si sposta un database si usa mysqldump per ottenere il file di testo corrispondente al DB da ricaricare nel nuovo database...
Il file di testo conteine le query SQL necessarie per ricreare il DB nello stesso identico stato precedente...

leon84
27-04-2003, 18:20
Ok ma io per editor intendevo proprio mysql.exe .... Cmq quale istruzione devo dargli per dirgli che sto creando un nuovo database ? Mi spiego : Devo creare un database dall'inizio ..... devo quindi creare le tabelle , le relazioni che intercorrono tra le tabelle , e alla fine anche le query ok ? Mi spieghi passo passo come crearle queste cose ? non le istruzioni sql che le conosco ma come fargli a dire di creare un nuovo database ec... capito ?

cionci
28-04-2003, 08:40
Te l'ho scritto quando ti ho spiegato come mettere in sicurezza il DB...

leon84
28-04-2003, 13:28
Originally posted by "cionci"

Dopo che hai installato MySQL devi procedere a metterlo in sicurezza...

Da una finstra DOS scrivi:

mysql e poi Invio

Ora scrivi:

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'la tua password' WITH GRANT OPTION;

quit[INVIO]

Dal prompt scrivi:

mysql -u root -p[INVIO]

Inserisci la password...

REVOKE ALL PRIVILEGES ON *.* FROM ''@'%';

REVOKE ALL PRIVILEGES ON *.* FROM '%'@'';

REVOKE ALL PRIVILEGES ON *.* FROM '%'@'%';

Ovviamente dopo ogni punto e virgola premi invio...

Quel programma che si chiama mysql è il client in testo... Volendo le stringhe SQL le puoi emttere anche lì...

Ad esempio:

SHOW DATABASES; (attento a non modificare il database mysql)
CREATE DATABASE Prova;
SHOW DATABASES;
USE Prova;
CREATE TABLE Tabella (ID Integer AUTO_INCREMENT Primary Key, Nome VARCHAR(50));
DESCRIBE Tabella;
INSERT INTO Tabella VALUES (NULL, 'Ciao');
SELECT * FROM Tabella;

ok allora .... non è che hai una guida dove ci sono tutti questi comandi ? poi un'altra cosa ..... io mi creo le tabelle con questo editor .... poi volendo creare le interrogazioni parto direttamente con SELECT ..... o devo dirgli in qualche modo che sto per scrivere una query ? E una volta creata questa query come la si richiama ?

cionci
28-04-2003, 16:24
Guarda gli ultimi comandi...

Creo la tabella, ci inserisco un dato e faccio una SELECT...
Prova e vedrai...

C'è la guida scaricabile sul sito di MySQL...

leon84
28-04-2003, 17:45
Si ok inserisco un dato e faccio una select , ma a me la select serve farla quando l'utente me lo chiede .... un pò come access .... se non vai sulla query creata non la vedi mai .... non so se mi spiego

cionci
29-04-2003, 07:30
Hai detto tu che volevi un sistema per inserire direttamente le query SQL...
Allora lo vuoi fare da un linguaggio di programmazione ? Da quale ?

leon84
29-04-2003, 12:58
No ..... allora forse ho le idee un pò confuse ..... io considero e non so se sbaglio mysql come access ..... in access dopo che ho creato una query , cliccandoci due volte sopra la apro ..... capisci ? Credevo che in mysql ci fosse uno spazio riservato alle query ( un pò come access suddivide in tabelle,report,.....) e che una volta scritte si potevano richiamare come in access capisci ?

cionci
29-04-2003, 14:50
No...non c'è...ma non è che ci vuole molto per farlo...

Vedi...Access è un database con un programma intorno che lo usa... I report e tutto il resto (escluse le query salvate) hanno una loro utilità solo se utilizzati con Access... Se apriamo il database tramite ODBC o ADO non hanno più alcun significato...

Ti prendi un file di testo...prendi la tua query la metti nel file di testo e lo salvi...
Poi quando la vuoi usare la copi e la incolli nel client di testo...

Altrimenti usando MySQL Control Center, ti connetti al database e poi clicki sul pulsante SQL...
Lì puoi fare una query salvarla con un nome e ricaricarla...

Carlo M
20-06-2003, 12:55
Dal prompt scrivi:

mysql -u root -p[INVIO]

Inserisci la password...

REVOKE ALL PRIVILEGES ON *.* FROM ''@'%';

REVOKE ALL PRIVILEGES ON *.* FROM '%'@'';

REVOKE ALL PRIVILEGES ON *.* FROM '%'@'%';

Ovviamente dopo ogni punto e virgola premi invio...



A ME NN FUNZIONA ???????

MI SCRIVE QUESTO:


C:\Programmi\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43 to server version: 4.0.13-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> revoke all privileges on *.* from "@'%';
"> "
-> revoke all privileges on *.* from '%'@";
"> "
-> revoke all privileges on *.* from '%'@'%';
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near 'revoke all p
rivileges on *.* from '%'@";
"
revoke all privilege
mysql> 'revoke all privileges on *.* from '%'@";
'>
'> '
-> 'revoke all privileges on *.* from '%'@';
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near ''revoke all
privileges on *.* from '%'@";

'
'revoke all privil
mysql> REVOKE ALL PRIVILEGES ON *.* FROM "@'%';
"> REVOKE ALL PRIVILEGES ON *.* FROM "@'%';
ERROR 1145: The host or user argument to GRANT is too long
mysql>




PERCHè MI Fà COSì?????????' :muro:

cionci
20-06-2003, 15:11
Copia una riga alla volta fino al punto e virgola e premi invio...

Carlo M
21-06-2003, 13:56
mi funziona solo la prima e le altre no???!!!
perchè????

cionci
21-06-2003, 15:13
Che ti dice delle altre 2 ?

Scrivi

SELECT * FROM MySQL.User;

ed incollami il risultato...