Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Datentypen | Mehr Über SQLite
Datenbanken in Python

bookDatentypen

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.

1234567891011121314151617181920212223242526272829
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()
copy

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?

question mark

Welcher Datentyp wird in SQLite verwendet, um das Fehlen eines Wertes darzustellen?

Select the correct answer

question mark

Was passiert, wenn Sie versuchen, einen Textwert in eine INTEGER-Spalte in SQLite einzufügen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

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

bookDatentypen

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.

1234567891011121314151617181920212223242526272829
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()
copy

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?

question mark

Welcher Datentyp wird in SQLite verwendet, um das Fehlen eines Wertes darzustellen?

Select the correct answer

question mark

Was passiert, wenn Sie versuchen, einen Textwert in eine INTEGER-Spalte in SQLite einzufügen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2
some-alt