Kursinhalt
Datenbanken in Python
Datenbanken in Python
Datentypen
SQLite bietet mehrere Datentypen oder Speicherklassen, um die Art der Daten zu definieren, die in einer Tabelle gespeichert werden können. Obwohl SQLite dynamisch typisiert ist und keine strengen Datentypen erzwingt, erkennt es fünf primäre Affinity-Typen.
Erstellen einer Tabelle mit verschiedenen Datentypen
Hier ist ein Beispiel für das Erstellen einer Tabelle, die verschiedene SQLite-Datentypen verwendet:
SQLite ermöglicht es Ihnen, Daten jeglichen Typs in jeder Spalte zu speichern, unabhängig vom deklarierten Typ bei der Erstellung der Tabelle (außer für INTEGER PRIMARY KEY
-Spalten). Es verwendet auch einen Ansatz, der hilft, Daten korrekt zu interpretieren und zu speichern, um sicherzustellen, dass alles reibungslos und effizient funktioniert.
import sqlite3 conn = sqlite3.connect('data.db') cursor = conn.cursor() # Creating the table cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER ) ''') # Inserting different types of data into the `age` column cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)") # standard value cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 'Thirty')") # text value in `INTEGER` column cursor.execute("INSERT INTO users (name, age) VALUES ('Charlie', 30.5)") # float value in `INTEGER` column # Retrieving all records from the table cursor.execute("SELECT * FROM users") rows = cursor.fetchall() # Printing the results for row in rows: print(row) # Closing the database connection conn.close()
Dieses Beispiel zeigt, wie SQLite das Einfügen verschiedener Datentypen in dieselbe Spalte ermöglicht, selbst wenn die Spalte als INTEGER
deklariert ist. Zum Beispiel werden in die age
-Spalte (deklariert als INTEGER
) die folgenden Daten eingefügt:
- Eine Ganzzahl (
25
); - Ein Textwert (
'Thirty'
); - Ein Gleitkommawert (
30.5
).
SQLite beschränkt nicht die Datentypen, die Sie in eine Spalte einfügen können, dank seines dynamischen Typsystems. Dieser Ansatz ermöglicht das Speichern einer Vielzahl von Datentypen in einer einzigen Spalte ohne Fehler.
1. Welcher Datentyp wird in SQLite verwendet, um das Fehlen eines Wertes darzustellen?
2. Was passiert, wenn Sie versuchen, einen Textwert in eine INTEGER-Spalte in SQLite einzufügen?
Danke für Ihr Feedback!