Oppure

Loading
23/02/13 8:02
Niubbo
ciao
sto studiando come interagire con mysql tramite php e ho visto che nei vari comandi che si fanno bisogna mettere delle stringhe di codice sql come argomento. esempio "SELECT * FROM tabella" ecc..
cosa sono questi codici? o meglio sono codice del linguaggio mysql? se no.. dove trovo una lista di questi comandi?
magari è banale la mia domanda.. ma sapete come è... son niubbo:-|
Ultima modifica effettuata da Niubbo 23/02/13 8:09
aaa
23/02/13 8:36
Bonny
Mysql è un Relational database management system (RDBMS), è un'architettura client-server..
Immagina che Mysql sia un server, al suo interno contiene molti database. I database a sua volta, sono composti da una serie di tabelle (o meglio relazioni), queste tabelle sono composte da righe e colonne con significati specifici esempio:
Table studente (Matricola, Nome, Cognome)

Studente è una tabella di tre colonne ed n righe, un esempio

Matricola Nome Cognome

123 luca bonny
456 marco rossi
789 andrea croppi
.... ... ...

Quindi, per esempio, dentro Mysql posso creare un database di nome Scuola contenente una tabella studenti

In un database le operazioni basilari sui dati contenuti sono:
- Inserimento (insert)
- Eliminazione (delete)
- Modifica (update)
- Selezione (select)

Esiste un linguaggio chiamato SQL che ti permette di effettuare queste operazioni sui dati contenuti nel db.

Se concentriamo il punto di vista sull'architettura di questa struttura, soprattutto il lato client posssiamo fare un esempio:
Prendiamo una pagina Web (php, asp, ecc..) che sarà il nostro client.
La pagina instaura una connessione con Mysql, con autenticazione, e successivamente usando comandi sql può effettuare delle operazioni sul database, vediamo una pseudo specifica del funzionamento di una pagina php che prende "legge" tutti gli studenti dalla tabella studente

1) connessione a Mysql
mysql_connect();

2) seleziono il db scuola
mysql_select_db("scuola";);

2) leggo tutti gli studenti
$rs = mysql_query("SELECT * FROM studente";);
//SELECT seleziono
//* TUTTE le righe
//della tabella 'studente'

potremmo scriverla anche cosi 'SELECT (Matricola, Nome, Cognome) FROM studente'

3) a questo punto $rs è un array bidimensionale che contiene le righe e colonne di studente
effettuo un ciclo per scorrere $rs e stampare il contenuto (gli studenti)

4) chiudo la connessione

Esempio in codice prova.php:
<?php
$con = mysql_connect("localhost","Bonny","abc123");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("scuola", $con);

$result = mysql_query("SELECT * FROM studente");

while($row = mysql_fetch_array($result)){

  echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br />";
 }

mysql_close($con);
?>


In questo esempio ho assunto che il db esista..
vai a guardare come si costruisce un db, crealo e prova a fare questi esempi.
aaa
23/02/13 9:03
Niubbo
caspita!! ma hai scritto tutto di un fiato?!om::noway:
grande!!! e sopratutto grazie!!:k:
sei stato chiaro e semplice nel spiegare :k:
ti chiedo una cosa.. tu hai usato "SELECT *FORM studente" per leggere tutta ala tabella studente, ma se io invece voglio verificare se esiste la tabella studente o il db cosa scrivo? in altre parole queste parole chiave dove li trovo?
ho provato a creare il db, tabelle ecc.. ma quando devo richiamare lo script mi risponde ovviamente che esiste gia e quindi interrompe tutto. ecco perche volevo capire meglio sta cosa per gestirmi meglio con il db mysqrl..

niubbo8-|
aaa
23/02/13 11:36
Qwertj
Il db lo crei una volta, nello script non devi creare o verificare niente, manipoli solo i dati
aaa
23/02/13 13:20
Niubbo
Postato originariamente da Qwertj:
Il db lo crei una volta, nello script non devi creare o verificare niente, manipoli solo i dati


quindi tu dici faccio uno script che mi crei db e tabelle (che ovviamente uso solo una volta)?!
comunque io sto creando un plugin per wordpress (obbiettivo finale) che mi deve fare certe cose, allora ho pensato che uno lo carica, lo attiva e una volta dati del db sql ecc.. lui crei le tabelle e quindi diventa pronto per l'uso..
non so se mi son spiegato.. ma spero di si:_doubt:

niubbo8-|
aaa
23/02/13 18:46
Qwertj
si ok, in ogni caso la creazione la fa una volta sola all'installazione
aaa
24/02/13 9:13
Niubbo
d'accordo Qwertj.. ma la mia domanda rimane la stessa e cioè quelle parole chiave tipo "INSERT INTO" e ad altre sono linguaggio SQL puro?! quindi tocca dare un'occhiata a quel linguaggio?
vorrei studiarli, ma sul sito del php nn c'è riferimento.. ci sono le funzioni che gestiscono un db sql, ma non è spiegto come funzionano le parole chiave!
mi basta una guida o qualcosa di questo tipo..
grazie in anticipo

niubbo8-|
ps. intanto son riuscito ad inserire i dati in una tabella, ma quanta fatica ragazzi!:rofl:
aaa
24/02/13 19:53
Qwertj
SQL è un linguaggio a se, PHP fornisce solo il PDO per interfacciarsi al DBMS (MySQL, MSSQL, PostgreSQL o altri che siano)
Per iniziare questa guida non è affatto male, a un livello insolitamente alto per HTML.it
database.html.it/guide/leggi/40/guida-linguaggio-sql/
aaa