Datatyper
SQLite tillhandahåller flera datatyper, eller lagringsklasser, för att definiera vilken typ av data som kan lagras i en tabell. Även om SQLite är dynamiskt typad och inte tillämpar strikta datatyper, känner den igen fem primära affinitetstyper.
Skapa en tabell med olika datatyper
Här är ett exempel på hur man skapar en tabell som använder olika 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 tillåter att du lagrar data av vilken typ som helst i vilken kolumn som helst, oavsett den deklarerade typen när tabellen skapades (förutom kolumner med INTEGER PRIMARY KEY
). Den använder också en metod som hjälper till att tolka och lagra data korrekt, vilket säkerställer att allt fungerar smidigt och 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()
Detta exempel visar hur SQLite tillåter att olika typer av data infogas i samma kolumn, även om kolumnen är deklarerad som INTEGER
. Till exempel, i kolumnen age
(deklarerad som INTEGER
), infogas följande data:
- Ett heltal (
25
); - Ett textvärde (
'Thirty'
); - Ett flyttal (
30.5
).
SQLite begränsar inte vilka datatyper du kan infoga i en kolumn tack vare dess dynamiska typningssystem. Detta tillvägagångssätt möjliggör lagring av olika datatyper i en och samma kolumn utan fel.
1. Vilken datatyp används i SQLite för att representera avsaknaden av ett värde?
2. Vad händer om du försöker infoga ett textvärde i en INTEGER-kolumn i SQLite?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4.76
Datatyper
Svep för att visa menyn
SQLite tillhandahåller flera datatyper, eller lagringsklasser, för att definiera vilken typ av data som kan lagras i en tabell. Även om SQLite är dynamiskt typad och inte tillämpar strikta datatyper, känner den igen fem primära affinitetstyper.
Skapa en tabell med olika datatyper
Här är ett exempel på hur man skapar en tabell som använder olika 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 tillåter att du lagrar data av vilken typ som helst i vilken kolumn som helst, oavsett den deklarerade typen när tabellen skapades (förutom kolumner med INTEGER PRIMARY KEY
). Den använder också en metod som hjälper till att tolka och lagra data korrekt, vilket säkerställer att allt fungerar smidigt och 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()
Detta exempel visar hur SQLite tillåter att olika typer av data infogas i samma kolumn, även om kolumnen är deklarerad som INTEGER
. Till exempel, i kolumnen age
(deklarerad som INTEGER
), infogas följande data:
- Ett heltal (
25
); - Ett textvärde (
'Thirty'
); - Ett flyttal (
30.5
).
SQLite begränsar inte vilka datatyper du kan infoga i en kolumn tack vare dess dynamiska typningssystem. Detta tillvägagångssätt möjliggör lagring av olika datatyper i en och samma kolumn utan fel.
1. Vilken datatyp används i SQLite för att representera avsaknaden av ett värde?
2. Vad händer om du försöker infoga ett textvärde i en INTEGER-kolumn i SQLite?
Tack för dina kommentarer!