This commit is contained in:
Sven Riwoldt
2026-06-01 07:11:38 +02:00
2 changed files with 110 additions and 10 deletions
+6 -1
View File
@@ -182,4 +182,9 @@ bpy.context.scene.collection.objects.link(mesh_obj)
![](/Volumes/Daten02/Projekte/Snippets/2024-03-25_18-39.png) ![](/Volumes/Daten02/Projekte/Snippets/2024-03-25_18-39.png)
https://www.youtube.com/watch?v=N3U2noAHgBo&t=88s https://www.youtube.com/watch?v=N3U2noAHgBo&t=88s
## Farben für Mesh und Vertex
Preferences --> Themes --> 3D View
+104 -9
View File
@@ -25,11 +25,15 @@ Zum Beispiel hier ist eine **Verkäufe**-Tabelle:
Um alle Datensätze mit der Coin „AGK“ abzurufen, schreibt man: Um alle Datensätze mit der Coin „AGK“ abzurufen, schreibt man:
`SELECT * FROM sales WHERE coin = 'AGK'` ```sql
SELECT * FROM sales WHERE coin = 'AGK'
```
Um alle Datensätze mit `amount` kleiner oder gleich 20 abzurufen, schreibt man: Um alle Datensätze mit `amount` kleiner oder gleich 20 abzurufen, schreibt man:
`SELECT * FROM sales WHERE amount <= 20` ```sql
SELECT * FROM sales WHERE amount <= 20
```
@@ -65,7 +69,9 @@ Zum Beispiel betrachte man die folgende **people**-Tabelle:
| Polar | 23 | männlich | | Polar | 23 | männlich |
| Loopa | 18 | weiblich | | Loopa | 18 | weiblich |
`SELECT * FROM people WHERE NOT gender = 'male'` ```sql
SELECT * FROM people WHERE NOT gender = 'male'
```
Dies wird das Ergebnis sein: Dies wird das Ergebnis sein:
@@ -76,9 +82,11 @@ Dies wird das Ergebnis sein:
Das `NOT`-Schlüsselwort kehrt die Bedingung im Wesentlichen um. Zum Beispiel sind die folgenden Abfragen gleich: Das `NOT`-Schlüsselwort kehrt die Bedingung im Wesentlichen um. Zum Beispiel sind die folgenden Abfragen gleich:
`WHERE age > 20` ```sql
WHERE age > 20```
`WHERE NOT age <= 20` ```sql
WHERE NOT age <= 20```
### AND ### AND
@@ -96,7 +104,9 @@ Zum Beispiel ist hier eine `people`-Tabelle:
Die folgende Abfrage: Die folgende Abfrage:
`SELECT * FROM people WHERE gender = "female" AND age < 20` ```sql
SELECT * FROM people WHERE gender = "female" AND age < 20
```
bedeutet, dass man nach allen Datensätzen sucht, bei denen das Geschlecht „female“ ist und das Alter kleiner als 20 ist. bedeutet, dass man nach allen Datensätzen sucht, bei denen das Geschlecht „female“ ist und das Alter kleiner als 20 ist.
@@ -120,7 +130,9 @@ Zum Beispiel betrachtet man die folgende **people**-Tabelle:
| Polar | 23 | male | | Polar | 23 | male |
| Loopa | 18 | female | | Loopa | 18 | female |
`SELECT * FROM people WHERE gender = 'female' OR age < 20` ```sql
SELECT * FROM people WHERE gender = 'female' OR age < 20
```
Diese Abfrage bedeutet, dass man nach allen Datensätzen sucht, bei denen entweder das Geschlecht weiblich ist oder das Alter unter 20 liegt. Diese Abfrage bedeutet, dass man nach allen Datensätzen sucht, bei denen entweder das Geschlecht weiblich ist oder das Alter unter 20 liegt.
@@ -140,7 +152,9 @@ Das Erstellen einer Abfrage mit nur einer Bedingung ist nicht ausreichend. Manch
Die AND und OR Schlüsselwörter werden wie folgt verwendet: Die AND und OR Schlüsselwörter werden wie folgt verwendet:
`SELECT col1, col2 FROM table1 WHERE condition1 AND condition2 OR condition3 ...` ```sql
SELECT col1, col2 FROM table1 WHERE condition1 AND condition2 OR condition3 ...
```
Man kann so viele Bedingungen wie man will zusammen stapeln. Man kann so viele Bedingungen wie man will zusammen stapeln.
################### ###################
@@ -252,4 +266,85 @@ IN ist die vereinfachte Schreibweise für OR. Hier wird jeder Begriff, die per K
## BETWEEN ## BETWEEN
BETWEEN vereinfacht die Abfrage >= OR =<. D.h. Anstatt zu schreiben:
```sql
WHERE col1 >= 5 AND col1 <= 10
```
Kann man folgendes schreiben:
```sql
WHERE col1 BETWEEN 5 AND 10
```
Der `BETWEEN`-Operator ist inklusiv, was bedeutet, dass er die Grenzwerte (in diesem Fall 5 und 10) in die Ergebnisse einschließt. Dies macht die SQL-Abfragen sauberer und lesbarer, insbesondere bei der Arbeit mit Datumsbereichen oder numerischen Intervallen.
## LIKE
Das `LIKE`-Schlüsselwort wird verwendet, um Ähnlichkeiten von Zeichenketten zu prüfen. Beispielsweise, wenn wir alle Datensätze abrufen möchten, deren Name mit dem Buchstaben `a` beginnt, dann verwenden wir das `LIKE`-Schlüsselwort.
Zwei Hauptwildcards werden verwendet:
- `%` - steht für eine beliebige Anzahl von Zeichen
- `_` - steht für genau ein Zeichen
Zum Beispiel:
- `%a` - bedeutet jede Zeichenkette, die mit `a` endet
- `a%` - bedeutet jede Zeichenkette, die mit `a` beginnt
- `%a%` - bedeutet jeder String, der `a` enthält
- `_a%` - bedeutet, dass der Buchstabe `a` der zweite Buchstabe im String ist
- `%a__` - bedeutet, dass der String `a` an der drittletzten Stelle enthält
Um es zu verwenden, schreiben wir:
```sql
SELECT col1, col2, ...
FROM table1
WHERE col1 LIKE '%a__'
```
**Beispiel**
Suche aller Personen deren Name mit Gross-K beginnt und mit klein-a endet, sortiert nach Name in absteigender Reihenfolge
```sql
select * from people where name like 'K%a' order by name desc;
```
## Tabelle anlegen
CREATE TABLE Persons (
PersonID int PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
| **Datentyp** | **MySQL-Format** | **PostgreSQL-Format** | **INSERT INTO Beispiel** |
| :---------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :----------------------------------------------------------: |
| **Zeichenkette (TEXT, VARCHAR, CHAR usw.)** | Eingeschlossen in einfache Anführungszeichen | Eingeschlossen in einfache Anführungszeichen | `INSERT INTO tableName (columnName) VALUES ('John Doe');` |
| **Zahl (Ganzzahl, Dezimalzahl, Gleitkommazahl usw.)** | Keine Anführungszeichen | Keine Anführungszeichen | `INSERT INTO tableName (columnName) VALUES (25);` |
| **Boolescher Wert** | WAHR oder FALSCH (oder 1 und 0) | WAHR oder FALSCH | `INSERT INTO tableName (columnName) VALUES (TRUE);` |
| **Datum, Uhrzeit und Zeitstempel** | JJJJ-MM-TT HH:MM:SS | JJJJ-MM-TT HH:MM:SS | `INSERT INTO tableName (dateTimeColumn) VALUES ('2023-08-18 12:45:00');` |
## Bestimmte Zeilen aus einer Tabelle kopieren
Wenn man bestimmte Zeilen basierend aus einer Bedingung kopieren möchten, kann man die `SELECT`Anweisung mit . kombinieren `INSERT INTO`.
**Syntax** :
```sql
INSERT INTO table_name1
SELECT columns FROM table_name2 WHERE condition;
```