Blender und SQL erweitert
This commit is contained in:
+6
-1
@@ -182,4 +182,9 @@ bpy.context.scene.collection.objects.link(mesh_obj)
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -25,11 +25,15 @@ Zum Beispiel hier ist eine **Verkäufe**-Tabelle:
|
||||
|
||||
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:
|
||||
|
||||
`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 |
|
||||
| Loopa | 18 | weiblich |
|
||||
|
||||
`SELECT * FROM people WHERE NOT gender = 'male'`
|
||||
```sql
|
||||
SELECT * FROM people WHERE NOT gender = 'male'
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
`WHERE age > 20`
|
||||
```sql
|
||||
WHERE age > 20```
|
||||
|
||||
`WHERE NOT age <= 20`
|
||||
```sql
|
||||
WHERE NOT age <= 20```
|
||||
|
||||
### AND
|
||||
|
||||
@@ -96,7 +104,9 @@ Zum Beispiel ist hier eine `people`-Tabelle:
|
||||
|
||||
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.
|
||||
|
||||
@@ -120,7 +130,9 @@ Zum Beispiel betrachtet man die folgende **people**-Tabelle:
|
||||
| Polar | 23 | male |
|
||||
| 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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
`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.
|
||||
###################
|
||||
@@ -252,4 +266,85 @@ IN ist die vereinfachte Schreibweise für OR. Hier wird jeder Begriff, die per K
|
||||
|
||||
## 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;
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user