Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - domanda sulla gestione sql
Forum - PHP - domanda sulla gestione sql

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Niubbo (Normal User)
Rookie


Messaggi: 55
Iscritto: 02/02/2013

Segnala al moderatore
Postato alle 9:02
Sabato, 23/02/2013
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 il 23/02/2013 alle 9:09
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 9:36
Sabato, 23/02/2013
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:
Codice sorgente - presumibilmente Php

  1. <?php
  2. $con = mysql_connect("localhost","Bonny","abc123");
  3. if (!$con) {
  4.   die('Could not connect: ' . mysql_error());
  5. }
  6.  
  7. mysql_select_db("scuola", $con);
  8.  
  9. $result = mysql_query("SELECT * FROM studente");
  10.  
  11. while($row = mysql_fetch_array($result)){
  12.  
  13.   echo $row['FirstName'] . " " . $row['LastName'];
  14.   echo "<br />";
  15.  }
  16.  
  17. ?>



In questo esempio ho assunto che il db esista..
vai a guardare come si costruisce un db, crealo e prova a fare questi esempi.

PM Quote
Avatar
Niubbo (Normal User)
Rookie


Messaggi: 55
Iscritto: 02/02/2013

Segnala al moderatore
Postato alle 10:03
Sabato, 23/02/2013
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-|

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 12:36
Sabato, 23/02/2013
Il db lo crei una volta, nello script non devi creare o verificare niente, manipoli solo i dati

PM Quote
Avatar
Niubbo (Normal User)
Rookie


Messaggi: 55
Iscritto: 02/02/2013

Segnala al moderatore
Postato alle 14:20
Sabato, 23/02/2013
Testo quotato

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-|

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 19:46
Sabato, 23/02/2013
si ok, in ogni caso la creazione la fa una volta sola all'installazione

PM Quote
Avatar
Niubbo (Normal User)
Rookie


Messaggi: 55
Iscritto: 02/02/2013

Segnala al moderatore
Postato alle 10:13
Domenica, 24/02/2013
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:

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 20:53
Domenica, 24/02/2013
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
http://database.html.it/guide/leggi/40/guida-linguaggio-sql/

PM Quote
Avatar
Niubbo (Normal User)
Rookie


Messaggi: 55
Iscritto: 02/02/2013

Segnala al moderatore
Postato alle 18:26
Martedì, 26/02/2013
grazie Qwertj.. è una guida interessante e ho gia iniziato a leggere..
dopo aver smanettato parecchio con ste funzioni ho capito le cose elementari, ma mi viene un dubbio..
ammettendo di avere questa tabella vuota pero:
Testo quotato

Postato originariamente da Bonny:

Matricola   Nome     Cognome

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



se la devo riempire una colonna alla volta (cioè prima la matricola poi nome poi cognome) mi viene tutto sfasato. cioè cosi:
Matricola   Nome     Cognome

123                  
                luca      
                             bonny
come si fa ad inserire un dato preciso nella casella precisa della tabella?8-|

so bene che sarebbe meglio insierire una riga completa alla volta.. ma se uno non lo può fare?:D
grazie in anticipo a tutti per l'aiuto

niubbo8-|

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo