Dopo il contributo a migliaia di richieste per aiuto di programmazione in linea ed ho in persona molte teorie ed idee circa come la gente dovrebbe imparare la programmazione e come dovrebbero considerare i problemi che si trovino dentro. Questo alberino è il primo di molti che esaminino i problemi comunemente chiesti e l'elasticità si capovolge che se colto dovrebbe risolvere loro alcune.
Molta della mia esperienza verte le basi di dati di SQL e poichè tale è una delle zone dove penso la gente dovrebbe capire le idee centrali prima che comincino a fare le domande di altre. Concettualmente, ci sono dieci parole chiavi principali in tutte le varianti della lingua di SQL che sono usate per generare alterano e distruggono le tabelle e le basi di dati; e ad input, modifichi e rimuova i dati da quelle tabelle.
Siete soltanto pronto a progredire nel vostro SQL se potete leggere questo intero articolo e potere identificare le parole qui sotto, per scrivere più di è scritto, spieghi che cosa significano ed utilizzile nella vostra base di dati della scelta senza riferimento ad altre fonti. (la maggior parte dei miei esempi saranno ANSI puntato su SQL o mySQL standard) ci sono molto più che possono essere letti su questi soggetti ma sotto sono le necessità nude state necessarie per ottenerlo vicino.
1. GENERI LA TABELLA
Prima che possiate cominciare con il funzionamento con i dati, avete bisogno di un contenitore di immagazzinarli dentro. Il contenitore in una base di dati di SQL è denominato una tabella. Ciò è una serie di file (dove ogni articolo dei dati è immagazzinato) e colonne che sono di vari dato-tipi che sono usati per identificare la fila particolare e per contenere i dati. La dichiarazione di GENERAZIONE permette ad una tabella di essere fatta, specificando tutte le regole circa che cosa può essere contenuto nella tabella (e come esso può essere spostato ad incrementi).
Poichè questo è un di base guidi; Descriverò appena un semplice genero la dichiarazione e che cosa le componenti significano;
GENERI il your_table_name della TABELLA (un INT NON NULLO, b VARCHAR (20));
Ciò genererà una tabella denominata your_table_name con due colonne, che è un numero intero, che non permetterà alcuni valori nulli e b che sia una stringa che può contenere i caratteri fino ad una lunghezza di 20.
Nota; ci sono altre opzioni,
- potete avere discussioni che specificano per generare la tabella se già non esiste.
- Le Tabelle possono essere generate che sono come altre tabelle (che copiano la loro definizione)
- Le Tabelle possono essere generate usando una dichiarazione prescelta e la copiatura dei dati restituiti da esso
- Le tabelle provvisorie sono quelle che non sono scritti al disc e non saranno mantenuti permanentemente come le tabelle senza la parola chiave provvisoria e non sono destinate ad essere permanenti.
- I vincoli e le osservazioni possono aggiungersi alle colonne ed alla tabella complessivamente
- Una chiave primaria ed altri indici possono aggiungersi; limitando duplicazione dei dati e di aumento della relativa possibilità di ricerca.
- Le chiavi straniere possono essere i valori di limitazione aggiunti da inserire secondo i valori contenuti all'interno di altre tabelle.
- Ci sono molti datatypes differenti che possono essere usati per tenere i dati per le colonne
- I valori di difetto possono essere fissati per i dati.
- Se una tabella già esiste allora voi non può generarla - e un errore può accadere.
- Alcune basi di dati devono specificare il proprietario come componente del nome della tabella (IE dbo.your_table_name di dbo per esempio)
2. ALTERANO LA TABELLA
Una volta che una tabella è stata generata, può diventare necessario cambiare come i dati possono essere immessi nella tabella o come i dati sono memorizzati. Alteri la tabella è il meccanismo attraverso cui questi cambiamenti
ALTERI il your_table_name della TABELLA AGGIUNGONO ColumnName VARCHAR (10) NON POSIZIONE DI SEGNALE MINIMO;
ALTERI LA GOCCIA ColumnName del your_table_name della TABELLA;
ALTERI LA CHIAVE PRIMARIA di GOCCIA del your_table_name della TABELLA;
Se stiate aggiungendo le colonne o state aggiungendo le cose alla tabella allora le stesse regole si applicano per quanto riguarda generi. Le stesse opzioni di dichiarazione possono essere date, come con gli stessi tipi e limitazioni di indice.
Potete rimuovere le colonne riferendoti per nome.
Potete eliminare gli indici e le limitazioni specificando quello nella goccia.
Alcune cose alla nota:
- Non potete normalmente avere due colonne con lo stesso nome (questo è relativo da generare ed alterarsi)
- Potete avere problemi rimuovere determinate colonne se zona riferita da altre chiavi straniere
- I problemi possono accadere quando gli indici dipendono dalle colonne progettate per essere caduto.
- Gli indici non possono necessariamente aggiungersi se i dati contenuti nella tabella non riflettono le limitazioni imposte dal cambiamento.
3. TABELLA DI GOCCIA
Your_table_name della TABELLA di GOCCIA;
TABELLA di GOCCIA SE ESISTE il your_table_name;
Lo scarto delle tabelle è facile quanto riferendosi alla tabella che volete rimuovere e dire la tabella di goccia. Assicuri che avere permessi caderla la tabella o non possiate andare facilmente quello. Alcune basi di dati di SQL sostengono SE esiste il significato di sintassi che non darà un errore se la tabella non esiste e provate a rimuoverli, ma se allora esista è rimosso. Similmente se stiate rimuovendo tabelle che hanno dipendenze su loro chiavi straniere dello IE allora non possono andare rapidamente quello.
4. INSERTO IN
Normalmente, il punto di tutte le vostre abilità della base di dati di SQL è di funzionare con i dati. Ci sono molte dichiarazioni che permettono alla popolazione dei dati, ma il più comunemente usato sarebbe la dichiarazione dell'inserto. Ciò fa esattamente che cosa implica, esso inserisce le file dei dati nella tabella. Ci sono tre varianti importanti. La prima variazione specifica le colonne che i dati saranno inseriti in, compreso il loro ordine e l'altra specifica i dati che entreranno in quelle colonne.
INSERTO in your_table_name (first_column_name, another_column_name,…. )
VALORI (first_value, second_value,…. )
Un altro metodo di isolazione dei dati da inserire è riferendosi ai dati contenuti già all'interno della base di dati. Ciò usa una dichiarazione prescelta normale come definito qui sotto:
INSERTO in your_table_name (col_name1, col_name2,…. ) PRESCELTO…
Il metodo finale è di usare una dichiarazione che fissa il valore di ogni colonna che deve essere alterato agli altri valori usando un'assegnazione degli uguali. Non suggerirei usando questo metodo.
Cose alla nota:
- Alcune basi di dati di SQL permettono l'inserzione delle file multiple nell'esecuzione di una dichiarazione.
- L'inserimento dei dati è controllato dalle dipendenze, controlli ed i rapporti e se i dati vengono a mancare questi controlli allora errori possono risultare.
- Assicuri che i dati siano nel tipo definito dal tipo della colonna.
- Non tutte le colonne devono necessariamente essere popolate
- Ci sono molte funzioni che possono maneggiare la forma dei dati.
- I dati devono essere in una disposizione che può essere convertita in tipo di dati corretto - cose come il ′ del `23 può essere interpretato diversamente che 23
- I virgole invertiti all'interno dei dati possono presentare i problemi di inserzione e ci sono funzioni che possono trattare questa.
- Convalidi sempre tutti i dati che vengono dalle fonti untrusted (utenti dello IE)
- Se i campi di identità o di AutoIncrement allora non sono specificati generalmente stabilizzeranno all'più alto valore nella tabella ed aggiungeranno uno.
- Si noti che le funzioni di conversione possono anche avere bisogno di di essere utilizzato se scegliendo dalle colonne in una base di dati che non sono le stesse della loro destinazione.
- Le colonne possono essere selezionate in un ordine differente che sembrano nella tabella di destinazione inoltre - non tutta la necessità di essere specificato.
- I dati possono essere cambiati dall'input prima dell'inserimento, usando le funzioni inerenti allo sql per lo scopo.
- Potete usare generalmente i parametri per inserire i valori nelle tabelle.
5. AGGIORNAMENTO
First_column del your_table_name dell'AGGIORNAMENTO = value1 STABILITI, second_column = value2,…. DOVE criteriaExists
Le colonne dei dati possono contenere le informazioni che sono errate o devono essere modificate. Il meccanismo che le elasticità di SQL voi è la dichiarazione dell'aggiornamento. Questo coinvolgerà tipicamente soltanto modificare i dati in una tabella, anche se altre tabelle sono usate per i test di verifica. Sopra l'aggiornamento di volontà la tabella denominata your_table_name ed assegna il valore nella prima colonna uguale “a value1„ e a second_column a value2 dove ci sono test di verifica specifici (elaborati in dove sotto). Se non ci sono test di verifica allora ogni fila è aggiornata.
Cose alla nota:
- I limiti possono applicarsi così soltanto un numero delle file dato è effettuato
- Altre tabelle possono associarsi a dove circostanza
- Non è generalmente una buona idea allo pseudonimo le tabelle nella dichiarazione dell'aggiornamento.
- Il valore non deve essere fisso e può riferirsi ad una manipolazione delle colonne o delle costanti correnti o differenti.
- Non tutte le colonne devono essere effettuate dall'aggiornamento.
6. CANCELLAZIONE
CANCELLAZIONE da your_table_name DOVE criteriaExists
Rimuovendo le file dalle tabelle è realizzata usando la dichiarazione di cancellazione. Ciò è semplice quanto identificando la tabella ed i test di verifica le file dovrebbero incontrarsi ed allora specificando che volete cancellare, usando una dichiarazione simile a sopra. I test di verifica è spiegato sotto.
Cose alla nota:
- I limiti possono essere applicati specificando un numero massimo delle file da rimuovere
- Le cancellazioni possono avere problemi riferirsi ad altre file all'interno della stessa tabella e di come tali tabelle provvisorie possono avere bisogno per essere utilizzato.
- Le cancellazioni possono effettuare normalmente soltanto una tabella alla volta (anche se un altro è collegata per gli scopi di test di verifica)
- L'omissione può avere problemi se rimuovono le dipendenze chiave straniere contassero su con altre tabelle.
7. PRESCELTO
Una dichiarazione prescelta normale sembrerà simile a quanto segue
PRESCELTO definition_for_First_column come fc, t1.second_column,…. Da tableName come T1 DOVE criteria_exists
Selezioni semplicemente i identifys i dati per essere visualizzato attraverso le colonne. Si noti che questo può comparire più di una volta in una domanda se avete una domanda inclusa (sub la domanda) come componente di una definizione della colonna (se restituisce soltanto una colonna ed una fila) o come componente del da (usando la domanda come era una tabella) o nel dove circostanza (usando per dimostrare o confutare un insieme dei test di verifica)
Cose alla nota:
- Gli errori accadono spesso perché ci non è l'una definizione di dati fra ciascuno (tranne l'ultimo)
- Alcune basi di dati hanno un limite 256 o 1024 della colonna
- La parola chiave DISTINTA dopo che volontà prescelta soltanto dare le file uniche (l'intera fila deve essere unica)
- IL GRUPPO VICINO alla conclusione della dichiarazione può effettuare che cosa può essere visualizzato nel prescelto
- Le colonne non devono provenire dalle tabelle, possono essere costanti
- Le colonne possono anche rappresentare la matematica fra le costanti
- Le colonne possono essere passate con le funzioni
- Non è buona pratica avere colonne multiple con lo stesso nome
- Le colonne possono aliased usando una parola per dargli un nome dopo che uno spazio dopo che lo IE di definizione della colonna (tableName.t1 come field1 o facendo tablename.t2 xxx) che genererebbe due colonne denominate field1 (primo esempio) e xxx come il secondo esempio
- Il tablename necessariamente non deve essere usato per richiamare un campo, se il nome di campo è unico a quella tabella o sottointerrogazione
- Necessariamente non ha bisogno della a da o dove test di verifica secondo la base di dati
8. DA
Da table_name
DA (sottointerrogazione)
Ciò è veduta normalmente dove una dichiarazione richiede le informazioni pertinente ad una tabella o un insieme dei dati. Nei primi casi potete volere soltanto utilizzare questo per quanto riguarda le tabelle date, nei piani d'azione che più avanzati potete scegliere da una domanda inclusa. Ciò è fra il più diretto - dove basicamente tutto dopo che dal deve da essere una tabella, vista o qualcosa che compaiano come una tabella o la vista (IE ha le file e colonne)
Cose alla nota:
- Ci possono essere tabelle multiple o sottointerrogazioni in dalla definizione
- Le Tabelle o le sottointerrogazioni possono ricevere IE di nomi da table_name poichè il T1 significherebbe che laddove il T1 si è riferito ha riferito quella tabella
- La stessa tabella o sottointerrogazione può essere periodi multipli inclusi e ciascuno è trattato indipendente
- Tutto elencato come componente del dalla clausola urterà la domanda (anche se specificamente non è indirizzato) mentre sta unendosi fra ciascuno di questi insiemi di dati.
9. DOVE
Ordinariamente non volete vedere ogni parte dei dati in una base di dati. La limitazione del che cosa è restituito, basata sui test di verifica è l'intero punto del dove parola chiave.
Essenzialmente dove le dichiarazioni hanno letto come i loro equivalenti inglesi. Tali che per ogni fila - la base di dati chiede, fa l'applicazione del questo ritorno di dichiarazione allineare, se così allora esposizione la fila - altrimenti non faccia. Potete avere o dichiarazioni ed usare la logica complessa ma ogni dove dichiarazione bolle giù questa semplificazione.
Esempi come:
DOVE t1.currency = “AUD„
DOVE t1.field1 > t2.field3
DOVE (t1.field1 t2.field3) = (t2.field2 * t2.field7)
DOVE your_table_name.firstName = “Andrew„ o your_table_name.firstName = “Becky„
DOVE your_table_name. Genere = “maschio„ e your_table_name.age fra 18 e 25
Se potete leggere queste dichiarazioni sembrano avere significato. Il primo restituirà soltanto i valori che sono in dollari australiani ed i secondi mostreranno soltanto le file dove un campo dato è maggior di altro. Qualcuno di questi dichiarazioni devono valutare per allineare per restituire le file.
Cose alla nota:
- Ci sono molte funzioni che possono essere usate per valutare per allineare o falso in dove circostanza - segni come >/\! del >= < del <== in () ( ) fra % e molto può essere usato - se siete incerto e sono in dove la circostanza quindi osserva in su che cosa significano, dato che la dichiarazione per funzionare saranno utilizzate sempre in un modo che può dare un allineare o un falso dopo che sono valutati.
- Alcune basi di dati uniscono le tabelle in loro dove circostanze ed altre non fanno.
- È possibile avere dichiarazioni che non restituiranno mai lo IE allineare IN CUI 1! = 1 sarà sempre falso come 1 non sta andando mai non essere uguale a 1 (<> di uso di alcune basi di dati per non gli uguali)
- Le domande del sommergibile possono essere restituite per controllare se un valore particolare fa o non esiste all'interno di quella domanda secondaria
- Gli errori possono accadere se stiate provando a confrontare i valori che non sono dello stesso tipo IE “1„ sono disuguali a 1 in molte basi di dati poichè il primo è il carattere ed il secondo è il valore
- Dove le circostanze sono valutate normalmente per mezzo delle staffe dello IE di BOMDAS di moltiplichi il disaccordo aggiungono e sottraggono.
- Dove le dichiarazioni possono usare il capriccio che allineare e falso sono trattati come i numeri in alcune basi di dati - IE falso può = 0 ed allineare è qualunque altro numero
- La logica condizionale può essere usata per valutare le circostanze - iif dello IE, se e dichiarazioni di caso
Conclusione:
La comprensione delle queste dichiarazioni è importante. Ci sono molte sfumature e finezze che non sono state trattate da questo documento introduttivo. Se volete uno o più particolari esaminati in più profondità, selo metta in contatto con prego e scriverò un altro alberino che richiamo le vostre preoccupazioni.
Lo SQL era qualcosa odiassi quando in primo luogo imparandolo, al giorno d'oggi penso che le relativi possibilità ed uso fosse impressionante.
Se gradiceste che prego questo alberino commenti sotto, ripartalo con gli amici o sulle reti sociali ed abboni alla mia alimentazione di RSS
%DIGG%





































Come Sysadmin, l'ordine che di SQL più frequente uso è CONCESSIONE anche se non è rigorosamente SQL puro. Ciò è seguita molto attentamente da CONDIZIONE dello SCHIAVO del CONTROLLO e not-so-closely seguito vicino GENERI LA BASE DI DATI, la TABELLA del CONTROLLO e la TABELLA di RIPARAZIONE.
Naturalmente, quando sto programmando i nove accennate siete quei che usi.
La cosa è, il mio lavoro sarebbe mólto più duro senza gli ordini che ho accennato. (Buono… tranne GENERI LA BASE DI DATI. È abbastanza facile da generare manualmente una nuova base di dati.)
Dave,
Accosento, quelli sono molto comune inoltre GENERO L'UTENTE sono un altro che sia usato molto comunemente come sono le dichiarazioni di sostegno. Poichè qualcuno che faccia sia i ruoli di DBA che le domande della costruzione (programmatore) là è una grande differenza fra che cosa considerate importante secondo che cosa fate. Considererei generalmente la cosa più importante circa le basi di dati devo potere accedere ai dati e mentre tali io hanno scritto questo alberino con quello in mente. Penso che scriva le parole chiavi amministrative superiori e come usarle per coloro che di più è interessato del funzionamento della base di dati, piuttosto che accedendo a che cosa contiene.