Datentypen
SQLite stellt verschiedene Datentypen, sogenannte Speicherklassen, zur Verfügung, um die Art der Daten zu definieren, die in einer Tabelle gespeichert werden können. Obwohl SQLite dynamisch typisiert ist und keine strikten Datentypen erzwingt, erkennt es fünf primäre Affinity-Typen.
Erstellen einer Tabelle mit verschiedenen Datentypen
Hier ein Beispiel für das Erstellen einer Tabelle, die verschiedene SQLite-Datentypen verwendet:
CREATE TABLE example (
id INTEGER PRIMARY KEY, -- Integer (auto-increment if PRIMARY KEY)
name TEXT NOT NULL, -- Text field (mandatory)
price REAL, -- Floating-point number
data BLOB, -- Binary data
created_at TEXT DEFAULT NULL -- Text field with NULL as default
);
SQLite ermöglicht das Speichern von beliebigen Datentypen in beliebigen Spalten, unabhängig vom deklarierten Typ bei der Tabellenerstellung (außer bei INTEGER PRIMARY KEY
-Spalten). Zudem wird ein Ansatz verwendet, der eine korrekte Interpretation und Speicherung der Daten unterstützt, sodass alles reibungslos und effizient funktioniert.
1234567891011121314151617181920212223242526272829import 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 erlaubt, selbst wenn die Spalte als INTEGER
deklariert ist. Zum Beispiel werden in die Spalte age
(deklariert als INTEGER
) folgende Daten eingefügt:
- Eine Ganzzahl (
25
); - Ein Textwert (
'Thirty'
); - Ein Fließkommawert (
30.5
).
SQLite beschränkt nicht die Datentypen, die in eine Spalte eingefügt werden können, dank seines dynamischen Typsystems. Dieser Ansatz ermöglicht das Speichern verschiedener 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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain what "affinity types" mean in SQLite?
What happens if I try to insert incompatible data into an INTEGER PRIMARY KEY column?
Can you give more examples of how dynamic typing works in SQLite?
Awesome!
Completion rate improved to 4.76
Datentypen
Swipe um das Menü anzuzeigen
SQLite stellt verschiedene Datentypen, sogenannte Speicherklassen, zur Verfügung, um die Art der Daten zu definieren, die in einer Tabelle gespeichert werden können. Obwohl SQLite dynamisch typisiert ist und keine strikten Datentypen erzwingt, erkennt es fünf primäre Affinity-Typen.
Erstellen einer Tabelle mit verschiedenen Datentypen
Hier ein Beispiel für das Erstellen einer Tabelle, die verschiedene SQLite-Datentypen verwendet:
CREATE TABLE example (
id INTEGER PRIMARY KEY, -- Integer (auto-increment if PRIMARY KEY)
name TEXT NOT NULL, -- Text field (mandatory)
price REAL, -- Floating-point number
data BLOB, -- Binary data
created_at TEXT DEFAULT NULL -- Text field with NULL as default
);
SQLite ermöglicht das Speichern von beliebigen Datentypen in beliebigen Spalten, unabhängig vom deklarierten Typ bei der Tabellenerstellung (außer bei INTEGER PRIMARY KEY
-Spalten). Zudem wird ein Ansatz verwendet, der eine korrekte Interpretation und Speicherung der Daten unterstützt, sodass alles reibungslos und effizient funktioniert.
1234567891011121314151617181920212223242526272829import 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 erlaubt, selbst wenn die Spalte als INTEGER
deklariert ist. Zum Beispiel werden in die Spalte age
(deklariert als INTEGER
) folgende Daten eingefügt:
- Eine Ganzzahl (
25
); - Ein Textwert (
'Thirty'
); - Ein Fließkommawert (
30.5
).
SQLite beschränkt nicht die Datentypen, die in eine Spalte eingefügt werden können, dank seines dynamischen Typsystems. Dieser Ansatz ermöglicht das Speichern verschiedener 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!