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 datatyper 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 gør det muligt at gemme 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
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
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 datatyper 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 gør det muligt at gemme 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!