Datatyper
SQLite tilbyr flere datatyper, eller lagringsklasser, for å definere hvilken type data som kan lagres i en tabell. Selv om SQLite er dynamisk typet og ikke håndhever strenge datatyper, gjenkjenner den fem primære affinitetstyper.
Opprette en tabell med ulike datatyper
Her er et eksempel på hvordan man oppretter en tabell som bruker forskjellige 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 lar deg lagre data av enhver type i enhver kolonne, uavhengig av den deklarerte typen da tabellen ble opprettet (med unntak av kolonner med INTEGER PRIMARY KEY
). Den benytter også en tilnærming som bidrar til å tolke og lagre data korrekt, slik at alt fungerer smidig 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 eksemplet viser hvordan SQLite tillater innsetting av ulike datatyper i samme kolonne, selv om kolonnen er deklarert som INTEGER
. For eksempel blir følgende data satt inn i age
-kolonnen (deklarert som INTEGER
):
- Et heltall (
25
) - En tekstverdi (
'Thirty'
) - En flyttallsverdi (
30.5
)
SQLite begrenser ikke hvilke datatyper du kan sette inn i en kolonne, takket være sitt dynamiske typingssystem. Denne tilnærmingen gjør det mulig å lagre ulike datatyper i én kolonne uten feil.
1. I SQLite, hvilken datatype brukes for å representere fravær av en verdi?
2. Hva skjer hvis du prøver å sette inn en tekstverdi i en INTEGER-kolonne i SQLite?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 4.76
Datatyper
Sveip for å vise menyen
SQLite tilbyr flere datatyper, eller lagringsklasser, for å definere hvilken type data som kan lagres i en tabell. Selv om SQLite er dynamisk typet og ikke håndhever strenge datatyper, gjenkjenner den fem primære affinitetstyper.
Opprette en tabell med ulike datatyper
Her er et eksempel på hvordan man oppretter en tabell som bruker forskjellige 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 lar deg lagre data av enhver type i enhver kolonne, uavhengig av den deklarerte typen da tabellen ble opprettet (med unntak av kolonner med INTEGER PRIMARY KEY
). Den benytter også en tilnærming som bidrar til å tolke og lagre data korrekt, slik at alt fungerer smidig 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 eksemplet viser hvordan SQLite tillater innsetting av ulike datatyper i samme kolonne, selv om kolonnen er deklarert som INTEGER
. For eksempel blir følgende data satt inn i age
-kolonnen (deklarert som INTEGER
):
- Et heltall (
25
) - En tekstverdi (
'Thirty'
) - En flyttallsverdi (
30.5
)
SQLite begrenser ikke hvilke datatyper du kan sette inn i en kolonne, takket være sitt dynamiske typingssystem. Denne tilnærmingen gjør det mulig å lagre ulike datatyper i én kolonne uten feil.
1. I SQLite, hvilken datatype brukes for å representere fravær av en verdi?
2. Hva skjer hvis du prøver å sette inn en tekstverdi i en INTEGER-kolonne i SQLite?
Takk for tilbakemeldingene dine!