Manipolazione Di Dati di Sql: La cancellazione prescelta dell'inserto e modifica i dati di SQL

Questo tutoriald mette a fuoco su come aggiungere, modificare e rimuovere i dati dalle tabelle nella base di dati usando la lingua di manipolazione di dati di SQL. Senza questa conoscenza, realmente non avremmo alcun uso per una base di dati; sarebbe semplicemente un'entità statica senza scopo.

In primo luogo generiamo una base di dati e una tabella per funzionare con in questa lezione privata. La nostra base di dati sarà denominata dmlexample, in modo da lascili generano quello ora con la seguente dichiarazione:

il mysql > GENERA il dmlexample della BASE DI DATI;

Una volta che generati, dobbiamo specificare che desideriamo usare la nuova base di dati eseguendo questa dichiarazione:

mysql > dmlexample di USO;

La sezione comandi dovrebbe ora informarla che la base di dati è cambiato;

  

Ora che abbiamo nostra messa a punto della base di dati, lascili generano una tabella per sperimentare con denominato sampletable. Questa tabella conterrà i seguenti campi: username, parola d'accesso, età, E-mail e la data che l'entrata è stata generata.

Possiamo allora generare la nostra tabella con la seguente dichiarazione di DDL:

il mysql > GENERA LA TABELLA sampletable (- > TESTO del 
username, - > TESTO di parola d'accesso, - > età INTERNA, - > TESTO 
del email, - > datecreated il TIMESTAMP);  

Inserimento Dei Dati

Ora che facciamo la nostra generare tabella, guardiamo come andiamo circa la aggiunta delle file (annotazioni) delle informazioni in esso. Per aggiungere le file nella tabella, dobbiamo usare l'ordine dell'INSERTO. Qui è come aggiungeremmo una singola fila al nostro sampletable.

mysql > INSERTO nel ->('andrew sampletable ', 'qwerty ', 
20, 'andrew@dreamcircle.co.uk ', POSIZIONE DI SEGNALE MINIMO di 
VALORI)

Avviso come le risposte dalla sezione comandi ci dicono che una fila sia influenzata. Quindi, abbiamo aggiunto una fila alla nostra tabella sampletable.

Possiamo allora usare un ordine denominato PRESCELTO per osservare i dati nella tabella. Entreremo più successivamente in più particolare circa questo ordine in questo tutotial, poichè è molto importante, ma per ora lo useremo appena ciecamente. Vediamo che dati sono in nostra tabella del dmlexample:

il mysql > SELEZIONA * A PARTIRE da sampletable;
Nota

L'avviso come datecreated il campo riflette il tempo e la data in cui abbiamo aggiunto la fila nella tabella. Ciò è perché abbiamo specificato la POSIZIONE DI SEGNALE MINIMO quando abbiamo aggiunto la fila e fare questo farà un campo del TIMESTAMP afferrare la data corrente ed il tempo dal sistema per difetto.

È inoltre possibile aggiungere parecchie file dei dati in un singolo ordine. Proviamo questo ora aggiungendo altre tre file alla nostra tabella in un singolo ordine dell'INSERTO. Ciò è fatta come segue:

mysql > INSERTO NEI VALORI sampletable - > ('glenn ', 
'gimboid ', 21, 'glenn@chopsewage.com ', POSIZIONE DI SEGNALE MINIMO),
- > ('jim ', 'letmein ', 23, 'jim@email.net ', POSIZIONE DI SEGNALE 
MINIMO), - > ('wes, 'opensesame ', 31, 'wes@email.net ', POSIZIONE DI 
SEGNALE MINIMO);

Come potete vedere, questo volta le risposte dalla sezione comandi suggeriscono che tre file sono state influenzate; quindi, abbiamo aggiunto tre file alla nostra tabella. Possiamo verificare questo ancora usando l'ordine PRESCELTO:

il mysql > SELEZIONA * A PARTIRE da sampletable;

Quando questo è eseguito, ora vedrete che la tabella contiene quattro file (o le annotazioni, se gradite) delle informazioni.

Dati Di Modificazione

Ora che sappiamo aggiungere i dati ad una tabella, li lasciamo guardare come andiamo circa i dati attuali di modificazione della tabella.

Per modificare i dati in una tabella, richiediamo l'uso dell'ordine dell'AGGIORNAMENTO. In primo luogo proviamo a cambiare tutte le parole d'accesso in tutte le file nella tabella "a changeme." Ciò può essere compiuta con la seguente dichiarazione:

parola d'accesso sampletable dell'INSIEME 
dell'AGGIORNAMENTO > del mysql = 'changeme ';
Attenzione

L'ordine dell'AGGIORNAMENTO (così come tutti gli ordini di SQL) è abbastanza potente. Con uso reckless potete distruggere i dati molto con un errore semplice. Quasi ogni domanda dovrebbe avere almeno uno dove circostanza.

Quando eseguiamo questa dichiarazione, la sezione comandi li informerà che quattro file sono state influenzate, poichè abbiamo cambiato la parola d'accesso per ogni fila in quella tabella.

Ora possiamo vedere l'effetto sulla tabella usando l'ordine PRESCELTO, come segue:

il myql > SELEZIONA * A PARTIRE da sampletable;

Una domanda evidente ora è, che cosa se desidero soltanto aggiornare una singola fila? Diciamo che desideriamo cambiare la parola d'accesso del Glenn da changeme di nuovo a gimboid. Useremmo la seguente dichiarazione per fare questo:

parola d'accesso sampletable dell'INSIEME 
dell'AGGIORNAMENTO > del mysql = 'gimboid 'DOVE username = 'glenn ';

Quando eseguiamo questo ordine nella sezione comandi, li informa che una fila è stata influenzata. Ciò è perché aggiornerà soltanto il campo di parola d'accesso se il campo del username è uguale a glenn. Se ora usiamo l'ordine PRESCELTO sulla tabella, possiamo vedere che soltanto la parola d'accesso del Glenn è cambiato.

Possiamo anche applicare questa tecnica per permetterci di aggiornare soltanto determinati campi. Per esempio, potremmo cambiare tutte le parole d'accesso della gente che è età 30 o più giovane. Qui è l'ordine che richiederemmo per fare questo:

parola d'accesso sampletable dell'INSIEME 
dell'AGGIORNAMENTO > del mysql = 'giovani 'DOVE età <= 30

Quando eseguiamo questo ordine, li informerà che tre file sono state influenzate, poichè tre delle quattro annotazioni in nostra tabella hanno un'età uguale a o più meno di 30.

Punta

Un'idea utile è aggiornare un campo del timestamp con la POSIZIONE DI SEGNALE MINIMO. Ciò richiamerà il tempo più tardo dal sistema che la base di dati sta operando sopra (cioè, un uso pratico dovrebbe notare l'ultima volta un giocatore entrato).

Rimozione Dei Dati (Di Cancellazione)

Rimuovendo i dati da una tabella è fatta in un modo molto simile aggiornare i dati. In primo luogo guarderemo come cancellare una singola fila dei dati. Ora cancelliamo il glenn dalla base di dati usando la seguente dichiarazione:

mysql > CANCELLAZIONE da sampletable DOVE username = 
'glenn ';

Quando eseguiamo questo ordine, il cliente della sezione comandi di MySQL li informerà che una fila è stata influenzata (cioè, cancellato).

Di nuovo, come con le dichiarazione dell'AGGIORNAMENTO, possiamo specificare le circostanze per permettere che noi cancelliamo, per esempio, tutto con un'età più meno di 30. Facciamo questo ora con la seguente dichiarazione:

mysql > CANCELLAZIONE da sampletable DOVE età < 30;

Quando eseguiamo questa dichiarazione, il cliente li informerà che due file sono state influenzate, o in questo caso, cancellato. Se ora usiamo l'ordine PRESCELTO sulla nostra tabella, vedremo che soltanto una fila è lasciata nella tabella.

Per concludere, è inoltre possibile cancellare tutte le file da una tabella in una singola dichiarazione. Tutto che dobbiamo fare non deve specificare alcuna circostanza, come quando abbiamo aggiornato tutti i campi di parola d'accesso a changeme. Qui è la dichiarazione per cancellare tutte le file in una tabella (cioè, svuoti la tabella).

mysql > CANCELLAZIONE da sampletable;

Come potete vedere, la tabella ora non contiene le informazioni.

Usando Le Dichiarazione PRESCELTE

Finora, abbiamo usato semplicemente il seguente ordine mostrare tutti i dati in nostra tabella sampletable:

il mysql > SELEZIONA * A PARTIRE da sampletable;

Ciò realmente sta prendendo tutti i campi dalla tabella sampletable e sta restituendoli. * è un metacarattere, che il mezzo basicamente esso rappresenta qualche cosa (o in questo caso, qualsiasi campo).

Prima che entriamo nella dichiarazione PRESCELTA più avanti, lascili in primo luogo aggiungono alcuni dati all'esperimento con nella nostra tabella sampletable. Usi la seguente dichiarazione per inserire alcuni dati:

mysql > INSERTO NEI VALORI sampletable - > ('andrew ', 
'qwerty ', 20, 'andrew@dreamcircle.co.uk ', POSIZIONE DI SEGNALE 
MINIMO), - > ('andrew ', 'letmein ', 27, 'andrew@email.net ', 
POSIZIONE DI SEGNALE MINIMO), - > ('george ', 'carta ', 19, 
'george@email.net ', POSIZIONE DI SEGNALE MINIMO), - > ('jenny ', 
'jen999 ', 27, 'jen@email.net ', POSIZIONE DI SEGNALE MINIMO), - > 
('sandra ', 'sdra2 ', 27, 'sandra@email.net ', POSIZIONE DI SEGNALE 
MINIMO);

Ora che abbiamo aggiunto i nostri dati nella tabella, se usiamo la dichiarazione PRESCELTA con il metacarattere (*), come stavamo facendo prima, richiamerà e visualizzerà tutte le informazioni dalla tabella nella sezione comandi. Proviamo questo ora con la seguente dichiarazione.

il mysql > SELEZIONA * A PARTIRE da sampletable;

Come potete vedere, la dichiarazione ha richiamato tutte le informazioni dalla tabella (cioè, tutte le file e tutte delle colonne contenute in ciascuna delle file).

Diciamo che tutto che desideriamo richiamare è il campo di parola d'accesso. Per ottenere tutte le parole d'accesso dalla tabella sampletable, useremmo la seguente dichiarazione:

mysql > parola d'accesso PRESCELTA da sampletable;

Avviso come sostituiamo semplicemente il metacarattere (*) con la colonna desideriamo richiamare. Possiamo anche richiamare le colonne multiple usando una virgola per delimitarle. Proviamo a selezionare sia la colonna del username che la colonna di parola d'accesso soltanto. Qui è la dichiarazione che richiediamo per questo:

mysql > username PRESCELTO, parola d'accesso da 
sampletable;

Quando eseguiamo questa dichiarazione, possiamo vedere nella sezione comandi che i campi di parola d'accesso e soltanto del username sono stati scelti dalla tabella.

Ora che sappiamo richiamare diversi campi dalle tabelle, come richiamiamo una singola fila? Possiamo applicare facilmente una circostanza ad una dichiarazione PRESCELTA, appena come quando stavamo aggiornando la tabella e stavamo cancellando dalla tabella. Usando una dichiarazione PRESCELTA condizionale, soltanto visualizziamo le informazioni del jenny dalla base di dati. Qui è la dichiarazione che richiediamo per questo:

il mysql > SELEZIONA * A PARTIRE da sampletable DOVE 
username = 'jenny ';

Quando eseguiamo questa dichiarazione, solo i particolari del jenny saranno visualizzati nella sezione comandi del cliente di MySQL.

Possiamo anche comprendere l'idea della selezione dei campi specificati. Un esempio pratico di questo dovrebbe trovare la parola d'accesso che si riferisce ad un username. Qui è come otterremmo la parola d'accesso che ha appartenuto a George:

mysql > parola d'accesso PRESCELTA da sampletable DOVE 
username = 'george ';

Quando eseguiamo questa dichiarazione, possiamo vedere che soltanto un singolo campo è visualizzato, che sembra essere parola d'accesso del George.

Nota

Quando specifichiamo i campi specifici, come in questo esempio, non siamo limitati ai campi che stiamo selezionando per uso in DOVE clausola.

Nei nostri dati del campione, ci sono due file con il username andrew. Se proviamo ad usare una dichiarazione condizionale per ottenere la parola d'accesso per andrew, in effetti otterremo due parole d'accesso, una per ogni entrata del andrew nella base di dati. Proviamo questo ora appena per prova. Qui è la dichiarazione di che abbiamo bisogno:

mysql > parola d'accesso PRESCELTA da sampletable DOVE 
username = 'andrew ';

Quando eseguiamo questa dichiarazione, possiamo vedere che abbiamo due parole d'accesso mostrare nella sezione comandi.

Nota

I duplicati possono essere rimossi dal risultato usando l'opzione DISTINTA. Per esempio: SELEZIONI il username DISTINTO A PARTIRE da sampletable.

Abbiamo uno sguardo a come l'ordine dei simili può aiutarlo a trovare le informazioni che richiediamo. Usando COME è ideale per l'individuazione delle stringhe nelle basi di dati, particolarmente se avete soltanto una parte della stringa completa (cioè, per un Search Engine). Per esempio, diciamo che desideriamo trovare qualcuno nella base di dati di cui il nome comincia con la lettera J. Per compire questa, richiederemmo la seguente dichiarazione:

il mysql > SELEZIONA * A PARTIRE da sampletable DOVE il 
username GRADISCE 'j% ';

Noti qui come il jenny è stato richiamato, come suo username era quello unico da iniziare con J. Il % rappresenta un metacarattere una volta usato con COME, in modo da se usassimo la seguente dichiarazione preferibilmente:

il mysql > SELEZIONA * A PARTIRE da sampletable DOVE il 
username GRADISCE '%j% ';

... la lettera J ha potuto comparire dovunque nella stringa. Inoltre, noti che potete avere più di singolo carattere:

il mysql > SELEZIONA * A PARTIRE da sampletable DOVE il 
username GRADISCE '%nny ';

Ciò richiamerebbe tutta la gente che ha nomi che si concludono con il testo "nny." Per concludere, se usassimo la seguente dichiarazione:

selezioni * a partire da sampletable dove il username 
gradisce '%nny%a ';  

... richiamerebbe tutto il contenere di file "nny" nei loro nomi, ma il nome dovrebbe concludersi con "la a".

ciò è un articolo aggiunto da George Ionescu


Diniego: Il nostro Web site non è responsabile delle informazioni contenute da questo articolo. Questo articolo in nessun modo riflette le viste, le opinioni, i pensieri o la credenza del personale dell'indice degli articoli.

Avviso di traduzione: Manipolazione di dati di SQL dell'articolo ": La cancellazione prescelta dell'inserto e modifica i dati di SQL "è stata tradotta usando un servizio di traduzione automatizzato. Chiediamo scusa francamente per tutti gli errori di traduzione che hanno accaduto. Grazie per capire.

Online: 837 users browsing the articles directory