---------------- Bedienung auf dem Tisch ------------ --- ---------------
1. Erstellen Sie eine Tabelle:
create table student(
id int,
name varchar(32),
age int ,
score double(4,1),
birthday date,
insert_time timestamp
);
2. Tabellenstruktur anzeigen,
Tabellennamen absteigen;
3. Tabellennamen
ändern, Tabelle ändern, Tabellennamen in neuen Tabellennamen umbenennen;
4. Spalte hinzufügen, Tabelle
ändern, Tabellenname, Spaltennamen hinzufügen, Datentyp;
5. Spalte löschen, Tabelle
ändern, Tabellenname, Spaltennamen löschen ;
6. Tabelle löschen,
Tabelle löschen, Tabellenname löschen;
Tabelle löschen, falls vorhanden, Tabellenname;
----------------Datenmanipulationssprache------------- --- ----------------
1. Erhöhen Sie die Einfügung in,
ohne die Spaltennamen zu schreiben (alle Spalten werden hinzugefügt),
fügen Sie Werte in den Tabellennamen ein (Wert 1, Wert 2, ... Wert n);
fügen Sie einige Daten
in den Tabellennamen ein (Spaltenname 1, Spaltenname). 2) Werte(Wert1, Wert2);
2. Löschen löschen
Daten in der Tabelle löschen,
aus Tabellenname löschen, wobei Spaltenname = Wert ist;
alle Daten in der Tabelle löschen,
aus Tabellenname löschen;
3. Update ändern
Unbedingte Änderung (alle Zeilen werden geändert)
Tabellenname aktualisieren, Spaltenname = Wert festlegen;
bedingte Änderung,
Tabellennamen aktualisieren, Spaltenname = Wert festlegen, wobei Spaltenname = Wert gilt;
---------------------------------Abfrageklasse --------------- -----------------
1.zwischen ... und ...
Abfragealter größer oder gleich 20 und kleiner oder gleich 30
SELECT * FROM student WHERE age >= 20 && age <=30;
SELECT * FROM student WHERE age >= 20 AND age <=30;
SELECT * FROM student WHERE age BETWEEN 20 AND 30;
Fragen Sie die Altersangaben zu 22, 18 und 25 Jahren ab
SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
SELECT * FROM student WHERE age IN (22,18,25);
2. ist null (kein Nullwert)
Die Englischpunktzahl der Abfrage ist nicht null.
SELECT * FROM student WHERE english IS NOT NULL;
3. like (Fuzzy-Abfrage) _: einzelnes beliebiges Zeichen %: mehrere beliebige Zeichen Wer sind diejenigen mit dem Nachnamen Ma? like SELECT * FROM student WHERE NAME LIKE '马%'; - Fragen Sie die Person ab, deren Name das zweite Wort Hua ist. SELECT * FROM student WHERE NAME LIKE "_化%"; fragen Sie die Person ab, deren Name aus 3 Zeichen besteht. SELECT * FROM student WHERE NAME LIKE '___'; Personen abfragen, deren Name Deutschland enthält SELECT * FROM student WHERE NAME LIKE '%德%';
4.distinct (doppelte Werte entfernen)
Das Schlüsselwort DISTINCT wird verwendet, um eindeutig unterschiedliche Werte zurückzugeben.
Syntax: SELECT DISTINCT Spaltenname FROM Tabellenname
Die erste Deduplizierungsmethode:
SELECT DISTINCT name FROM student ;
Die zweite Deduplizierungsmethode:
SELECT name FROM student GROUP BY name;
5. Sortieren nach
Standardmäßig aufsteigend
SELECT * FROM Person ORDER BY Mathematik;
aufsteigende zweite Methode
SELECT * FROM Benutzer ORDER BY Benutzername asc;
降序
SELECT * FROM person ORDER BY math desc;
--------------------------------- Informatikkurs --------------- -----------------
1.count: Berechnen Sie die Zahl
//使用 COUNT(*)对表中行的数目进行计数时,不管表列中包含的是空值(NULL)还是非空值都会被计数,因为*代表了所有
SELECT COUNT(*) FROM oderlist
//使用 COUNT(column)对特定列中具有值的行进行计数,忽略 NULL 值。
SELECT COUNT(item_price) FROM oderlist
2.max: Berechnen Sie den Maximalwert. Min: Berechnen Sie den Minimalwert
//返回表中的最大单价
SELECT MAX(item_price) AS maxPrice FROM oderlist
//返回表中的最小单价
SELECT MIN(item_price) AS maxPrice FROM oderlist
3.Summe: Berechnen und
//SUM()函数忽略列值为 NULL 的行
//返回某一种水果goodsName“火龙果”的销售数量quantity
SELECT SUM(quantity) AS totalQuantity FROM oderlist WHERE goodsName = '火龙果'
4.avg: Berechnen Sie den Durchschnitt
//求oderlist表格内 item_price 的平均值,返回为avgPrice
SELECT AVG(item_price) avgPrice FROM oderlist
//或者:
SELECT AVG(item_price) AS avgPrice FROM oderlist
//加上条件,返回item_price<10 的 item_price的平均值
SELECT AVG(item_price) AS avgPrice FROM oderlist WHERE item_price <10
5. Kombination von Aggregatfunktionen:
//查询订单列表中订单量(totalOrders)、最低单价(minItemPrice)、最高单价(maxItemPrice)、均价(avgItemPrice)
SELECT
COUNT(*) AS totalOrders,
MIN(item_price) AS minItemPrice,
MAX(item_price) AS maxItemPrice,
AVG(item_price) AS avgItemPrice
FROM "oderlist"
------------------------------------------------Beispiel: -----------------------------------------------
Antworten:
select
count(DISTINCT device_id) as did_cnt,
count(id) as question_cnt
from
question_practice_detail
where
date like '2021-08%'