Datatyper
SQLite tilbyder flere datatyper, eller lagringsklasser, til at definere, hvilken type data der kan gemmes i en tabel. Selvom SQLite er dynamisk typet og ikke håndhæver strenge datatyper, genkender den fem primære affinitetstyper.
Oprettelse af en tabel med forskellige datatyper
Her er et eksempel på oprettelse af en tabel, der anvender forskellige SQLite-datatyper:
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 tillader lagring af enhver type data i enhver kolonne, uanset den deklarerede type ved oprettelsen af tabellen (undtagen for kolonner med INTEGER PRIMARY KEY). Den anvender også en tilgang, der hjælper med at fortolke og lagre data korrekt, hvilket sikrer, at alt fungerer problemfrit og effektivt.
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()
Dette eksempel demonstrerer, hvordan SQLite tillader indsættelse af forskellige typer data i den samme kolonne, selvom kolonnen er deklareret som INTEGER. For eksempel indsættes følgende data i kolonnen age (deklareret som INTEGER):
- Et heltal (
25); - En tekstværdi (
'Thirty'); - En floatværdi (
30.5).
SQLite begrænser ikke de datatyper, du kan indsætte i en kolonne, takket være dets dynamiske typningssystem. Denne tilgang muliggør lagring af forskellige datatyper i en enkelt kolonne uden fejl.
1. I SQLite, hvilken datatype bruges til at repræsentere fraværet af en værdi?
2. Hvad sker der, hvis du forsøger at indsætte en tekstværdi i en INTEGER-kolonne i SQLite?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
What are the five primary affinity types in SQLite?
Can you explain what dynamic typing means in SQLite?
Why does SQLite allow different data types in the same column?
Awesome!
Completion rate improved to 4.76
Datatyper
Stryg for at vise menuen
SQLite tilbyder flere datatyper, eller lagringsklasser, til at definere, hvilken type data der kan gemmes i en tabel. Selvom SQLite er dynamisk typet og ikke håndhæver strenge datatyper, genkender den fem primære affinitetstyper.
Oprettelse af en tabel med forskellige datatyper
Her er et eksempel på oprettelse af en tabel, der anvender forskellige SQLite-datatyper:
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 tillader lagring af enhver type data i enhver kolonne, uanset den deklarerede type ved oprettelsen af tabellen (undtagen for kolonner med INTEGER PRIMARY KEY). Den anvender også en tilgang, der hjælper med at fortolke og lagre data korrekt, hvilket sikrer, at alt fungerer problemfrit og effektivt.
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()
Dette eksempel demonstrerer, hvordan SQLite tillader indsættelse af forskellige typer data i den samme kolonne, selvom kolonnen er deklareret som INTEGER. For eksempel indsættes følgende data i kolonnen age (deklareret som INTEGER):
- Et heltal (
25); - En tekstværdi (
'Thirty'); - En floatværdi (
30.5).
SQLite begrænser ikke de datatyper, du kan indsætte i en kolonne, takket være dets dynamiske typningssystem. Denne tilgang muliggør lagring af forskellige datatyper i en enkelt kolonne uden fejl.
1. I SQLite, hvilken datatype bruges til at repræsentere fraværet af en værdi?
2. Hvad sker der, hvis du forsøger at indsætte en tekstværdi i en INTEGER-kolonne i SQLite?
Tak for dine kommentarer!