Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tietotyypit | Lisätietoa SQLite:sta
Tietokannat Pythonissa

bookTietotyypit

SQLite tarjoaa useita tietotyyppejä eli tallennusluokkia, joilla määritellään, millaista dataa tauluun voidaan tallentaa. Vaikka SQLite käyttää dynaamista tyypitystä eikä pakota tiukkoja tietotyyppejä, se tunnistaa viisi ensisijaista affiniteettityyppiä.

Taulun luominen eri tietotyypeillä

Alla esimerkki taulun luomisesta, jossa käytetään erilaisia SQLite-tietotyyppejä:

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 sallii minkä tahansa tyyppisen datan tallentamisen mihin tahansa sarakkeeseen riippumatta siitä, mikä tyyppi sarakkeelle on määritelty taulua luotaessa (paitsi INTEGER PRIMARY KEY -sarakkeet). SQLite käyttää myös lähestymistapaa, joka auttaa tulkitsemaan ja tallentamaan datan oikein, varmistaen että kaikki toimii sujuvasti ja tehokkaasti.

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

Tämä esimerkki havainnollistaa, kuinka SQLite sallii erilaisten tietotyyppien lisäämisen samaan sarakkeeseen, vaikka sarake olisi määritelty INTEGER-tyyppiseksi. Esimerkiksi age-sarakkeeseen (määritelty INTEGER-tyyppiseksi) lisätään seuraavat tiedot:

  • Kokonaisluku (25);
  • Tekstiarvo ('Thirty');
  • Liukuluku (30.5).

SQLite ei rajoita sarakkeeseen lisättävien tietojen tyyppiä, kiitos sen dynaamisen tyyppijärjestelmän. Tämä lähestymistapa mahdollistaa useiden eri tietotyyppien tallentamisen samaan sarakkeeseen ilman virheitä.

1. Mitä tietotyyppiä käytetään SQLitessa ilmaisemaan arvon puuttumista?

2. Mitä tapahtuu, jos yrität lisätä tekstiarvon INTEGER-sarakkeeseen SQLite-tietokannassa?

question mark

Mitä tietotyyppiä käytetään SQLitessa ilmaisemaan arvon puuttumista?

Select the correct answer

question mark

Mitä tapahtuu, jos yrität lisätä tekstiarvon INTEGER-sarakkeeseen SQLite-tietokannassa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 4.76

bookTietotyypit

Pyyhkäise näyttääksesi valikon

SQLite tarjoaa useita tietotyyppejä eli tallennusluokkia, joilla määritellään, millaista dataa tauluun voidaan tallentaa. Vaikka SQLite käyttää dynaamista tyypitystä eikä pakota tiukkoja tietotyyppejä, se tunnistaa viisi ensisijaista affiniteettityyppiä.

Taulun luominen eri tietotyypeillä

Alla esimerkki taulun luomisesta, jossa käytetään erilaisia SQLite-tietotyyppejä:

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 sallii minkä tahansa tyyppisen datan tallentamisen mihin tahansa sarakkeeseen riippumatta siitä, mikä tyyppi sarakkeelle on määritelty taulua luotaessa (paitsi INTEGER PRIMARY KEY -sarakkeet). SQLite käyttää myös lähestymistapaa, joka auttaa tulkitsemaan ja tallentamaan datan oikein, varmistaen että kaikki toimii sujuvasti ja tehokkaasti.

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

Tämä esimerkki havainnollistaa, kuinka SQLite sallii erilaisten tietotyyppien lisäämisen samaan sarakkeeseen, vaikka sarake olisi määritelty INTEGER-tyyppiseksi. Esimerkiksi age-sarakkeeseen (määritelty INTEGER-tyyppiseksi) lisätään seuraavat tiedot:

  • Kokonaisluku (25);
  • Tekstiarvo ('Thirty');
  • Liukuluku (30.5).

SQLite ei rajoita sarakkeeseen lisättävien tietojen tyyppiä, kiitos sen dynaamisen tyyppijärjestelmän. Tämä lähestymistapa mahdollistaa useiden eri tietotyyppien tallentamisen samaan sarakkeeseen ilman virheitä.

1. Mitä tietotyyppiä käytetään SQLitessa ilmaisemaan arvon puuttumista?

2. Mitä tapahtuu, jos yrität lisätä tekstiarvon INTEGER-sarakkeeseen SQLite-tietokannassa?

question mark

Mitä tietotyyppiä käytetään SQLitessa ilmaisemaan arvon puuttumista?

Select the correct answer

question mark

Mitä tapahtuu, jos yrität lisätä tekstiarvon INTEGER-sarakkeeseen SQLite-tietokannassa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
some-alt