Heim >Datenbank >MySQL-Tutorial >Eine vollständige Sammlung klassischer MYSQL-Anweisungen – Verbesserung
1. Beschreibung: Kopieren Sie die Tabelle (kopieren Sie nur die Struktur, Quelltabellenname: a, neuer Tabellenname: b) (Zugriff verfügbar)
Methode 1: SELECT * in b von a, wobei 1<>1 (nur in SQlServer verwenden)
Methode 2: SELECT top 0 * in b von a
2. Beschreibung: Tabelle kopieren (Daten kopieren, Quelltabellenname: a Zieltabellenname: b) (Zugriff verfügbar)
Einfügen in b(a, b, c) wähle d,e,f aus b;
3. Beschreibung: Tabellen zwischen Datenbanken kopieren (absolute Pfade für bestimmte Daten verwenden) (Zugriff verfügbar)
Einfügen in b( a , b, c) wähle d,e,f aus b in 'spezifischer Datenbank' aus, wobei Bedingung
Beispiel: ..from b in '"&Server.MapPath(".")&"data.mdb" &"' wobei ..
4. Beschreibung: Unterabfrage (Tabellenname 1: a Tabellenname 2: b)
wähle a,b,c aus a aus, wobei a IN (wähle d aus b) oder: wähle a,b, c aus a, wobei a IN (1,2,3)
5. Beschreibung: Artikel, Einsender und letzte Antwortzeit anzeigen
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
6. Beschreibung: Outer-Join-Abfrage (Tabellenname 1: a Tabellenname 2: b)
select a.a, a.b, a.c, b.c , b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7. Beschreibung: Online-Ansichtsabfrage (Tabellenname 1: a)
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8. Beschreibung: Die Verwendung von „Zwischen“ begrenzt den Abfragedatenbereich und schließt Grenzwerte ein, „Zwischen“ schließt nicht ein.
Wählen Sie * aus Tabelle1 aus, wobei die Zeit zwischen Zeit1 und Zeit2 liegt.
Wählen Sie a aus ,b ,c, aus Tabelle1, wobei a nicht zwischen Wert 1 und Wert 2
9. Beschreibung: Verwendung in
select * from table1 where a [not] in ('value 1','value 2' ,'Wert 4', 'Wert 6')
10. Beschreibung: Zwei verwandte Tabellen, Informationen in der Haupttabelle löschen, die nicht in der Sekundärtabelle sind
aus Tabelle1 löschen, wo nicht vorhanden (wählen Sie * aus Tabelle2 aus, wo table1. field1=table2.field1 )
11. Beschreibung: Vier-Tabellen-Joint-Query-Problem:
Wählen Sie * aus einem linken inneren Join b auf a.a=b.b rechten inneren Join c auf a.a=c.c inneren Join d auf a.a =d.d wobei .....
12. Beschreibung: Zeitplanerinnerung fünf Minuten im Voraus
SQL: Wählen Sie * aus dem Zeitplan aus, wobei datediff('minute',f start time,getdate())>5
13, Beschreibung: Eine SQL-Anweisung, um das Datenbank-Paging abzuschließen
Wählen Sie die Top 10 b.* aus (wählen Sie das Top 20-Primärschlüsselfeld aus, sortieren Sie das Feld aus der Reihenfolge der Tabellennamen nach Sortierfeld desc) a, Tabellenname b, wobei b Schlüsselfeld = a. Sortierfeld des Primärschlüssels
Spezifische Implementierung:
Über Datenbank-Paging:
@start int,@end int
@sql nvarchar(600)
set @sql='select top'+str(@end-@start+1)+'+from T where rod not in(select top'+str(@str-1)+'Rid from T where Rid>-1 )'
exec sp_executesql @sql
Hinweis: Auf top kann nicht direkt eine Variable folgen, daher ist dies in praktischen Anwendungen die einzige Möglichkeit, eine spezielle Verarbeitung durchzuführen. Rid ist eine Identifikationsspalte, wenn nach oben bestimmte Felder vorhanden sind. Da dadurch die Inkonsistenz in der tatsächlichen Tabelle nach dem Abfrageergebnis vermieden werden kann, wenn das oberste Feld ein logischer Index ist (die Daten im logischen Index stimmen möglicherweise nicht mit denen in der Datentabelle überein, und wenn sie sich während der Abfrage im Index befinden, der Index wird zuerst abgefragt)
14. Beschreibung: Wählen Sie die Top 10 * aus Tabelle 1 aus, wobei Bereich
15. Beschreibung: Wählen Sie alle Informationen des Datensatzes mit dem größten a in jeder Datengruppe mit demselben b-Wert aus (Ähnlich wie eine solche Verwendung kann für monatliche Forenrankings, monatliche Analyse von heiß verkauften Produkten, Ranking nach Themenbewertungen usw. verwendet werden.)
wählen Sie a,b,c aus Tabellenname ta aus, wobei a=(wählen Sie max(a) aus Tabellenname tb, wobei tb.b=ta.b)
16. Beschreibung: Alle Zeilen in TabelleA, aber nicht in TabelleB und TabelleC einbeziehen und alle doppelten Zeilen entfernen, um eine Ergebnistabelle abzuleiten
(wählen Sie eine aus Tabelle A aus) außer (wählen Sie eine aus Tabelle B aus) außer (wählen Sie eine aus Tabelle C)
17. Beschreibung: Entnehmen Sie zufällig 10 Datenelemente
wählen Sie die Top 10 * aus der Tabellennamenreihenfolge nach newid() aus
18 , Beschreibung: Datensätze zufällig auswählen
select newid()
19. Beschreibung: Doppelte Datensätze löschen
1), aus Tabellenname löschen, wo die ID nicht enthalten ist (wählen Sie max(id) aus der Tabellennamengruppe nach Spalte 1 aus, col2, ...)
2),wählen Sie eindeutige * in temp from tablename
delete from tablename
insert into tablename select * from temp
Auswertung: Dieser Vorgang beinhaltet die Bewegung einer großen Menge von Dieser Ansatz ist nicht für Datenoperationen mit großer Kapazität geeignet
3), zum Beispiel: Beim Importieren von Daten in eine externe Tabelle wird aus bestimmten Gründen beim ersten Mal nur ein Teil davon importiert, aber das ist schwierig um den spezifischen Speicherort zu bestimmen, sodass beim nächsten Mal nur alle Daten importiert werden können. Dadurch werden viele doppelte Felder erzeugt. So löschen Sie doppelte Felder: Ändern Sie den Tabellennamen
– fügen Sie eine Spalte mit automatischer Inkrementierung hinzu
Spalte_bint Identität hinzufügen(1,1)
Aus Tabellenname löschen, wobei Spalte_b nicht enthalten ist (
Wählen Sie max(Spalte_b) aus der Tabellennamengruppe nach Spalte1, Spalte2,... aus)
Tabelle ändern Tabellenname Spalte Spalte_b löschen
20. Beschreibung: Alle Tabellennamen in der Datenbank auflisten
Namen aus Sysobjects auswählen, wobei Typ='U' // U für Benutzer steht
21. Beschreibung: Alle Spaltennamen in der Tabelle auflisten
Namen auswählen aus syscolumns where id=object_id('TableName')
22. Beschreibung: Listet die Felder „Typ“, „Anbieter“ und „PC“ auf, sortiert nach dem Typfeld. In Case können Sie problemlos mehrere Auswahlen implementieren, ähnlich wie in „select“.
Typ auswählen, Summe (Fallverkäufer, wenn 'A', dann Stück, sonst 0 Ende), Summe (Fallverkäufer, wenn 'C', dann Stück, sonst 0 Ende), Summe (Fallverkäufer, wenn 'B', dann Stück sonst 0 Ende) VON Tabellenname nach Typ gruppieren
Ergebnisse anzeigen:
Typ Vender-PCs
Computer A 1
Computer A 1
CD-ROM B 2
CD-ROM A 2
Mobiltelefon B 3
Mobiltelefon C 3
23. Beschreibung: Tabelle Tabelle1 initialisieren
TRUNCATE TABLE Tabelle1
Top 5 * aus auswählen ( Wählen Sie die Top 15 * aus der Tabelle aus (Reihenfolge nach ID aufsteigend) table_alias (Reihenfolge nach ID desc)