Jenis data dalam SQLite berbeza berbanding sistem pengurusan pangkalan data yang lain. Di SQLite, anda dapat menyatakan jenis data secara normal, tetapi anda masih dapat menyimpan nilai apa pun dalam jenis data apa pun.
Dalam tutorial ini, anda akan belajar-
- Kelas Penyimpanan
- Jenis Perkaitan
- Contoh menyimpan jenis data di SQLite
SQLite ditaip kurang. Tidak ada jenis data, anda boleh menyimpan jenis data yang anda suka di lajur mana pun. Ini dipanggil jenis dinamik.
Dalam jenis statik, seperti dalam sistem pengurusan pangkalan data lain, jika anda menyatakan lajur dengan bilangan bulat tipe data, anda hanya dapat memasukkan nilai bilangan bulat tipe data. Walau bagaimanapun, dalam jenis dinamik seperti di SQLite, jenis lajur ditentukan oleh nilai yang dimasukkan. Dan kemudian SQLite menyimpan nilai tersebut bergantung pada jenisnya.
Kelas Penyimpanan SQLite
Di SQLite terdapat kaedah penyimpanan yang berbeza bergantung pada jenis nilai, kaedah penyimpanan yang berbeza ini disebut kelas penyimpanan di SQLite.
Berikut adalah kelas penyimpanan yang terdapat di SQLite:
- NULL - kelas storan ini digunakan untuk menyimpan sebarang nilai NULL.
- INTEGER - sebarang nilai angka disimpan sebagai nilai bilangan bulat yang ditandatangani (Ia boleh menyimpan nilai integer positif dan negatif). Nilai INTEGER dalam SQLite disimpan dalam simpanan 1, 2, 3, 4, 6, atau 8 bait bergantung pada nilai nombor.
- SEBENAR - kelas penyimpanan ini digunakan untuk menyimpan nilai titik terapung, dan ia disimpan dalam simpanan 8-byte.
- TEKS - menyimpan rentetan teks. Ia juga menyokong pengekodan yang berbeza seperti UTF-8, UTF-16 BE, atau UTF-26LE.
- BLOB - digunakan untuk menyimpan fail besar, seperti gambar atau fail teks. Nilai disimpan sebagai susunan bait sama dengan nilai input.
Jenis Perkaitan SQLite
Jenis pertalian adalah jenis data yang disyorkan disimpan dalam lajur. Namun, anda masih dapat menyimpan semua jenis data seperti yang anda mahukan, jenis ini disyorkan tidak diperlukan.
Jenis ini diperkenalkan dalam SQLite untuk memaksimumkan keserasian antara SQLite dan sistem pengurusan pangkalan data yang lain.
Sebarang lajur yang dinyatakan dalam pangkalan data SQLite diberikan jenis pertalian bergantung pada jenis data yang dinyatakan. Berikut adalah peningkatan hubungan jenis dalam SQLite:
- TEKS.
- NOMBOR.
- INTEGER.
- BENAR.
- BLOB.
Inilah cara SQLite menentukan pertalian lajur dari jenis datanya yang dinyatakan:
- Perkaitan INTEGER diberikan jika jenis yang dinyatakan mengandungi rentetan " INT ".
- Pertalian TEXT diberikan, jika lajur mengandungi pada tipe datanya salah satu rentetan berikut " TEXT ", " CHAR , atau" CLOB ". Sebagai contoh, jenis VARCHAR akan diberikan pertalian TEXT.
- Perkaitan BLOB diberikan jika lajur tidak mempunyai jenis yang ditentukan atau jenis data adalah BLOB.
- Perkaitan REAL diberikan jika jenisnya mengandungi salah satu rentetan berikut " DOUB ", " REAL , atau" FLOAT ".
- Perkaitan NUMERIK diberikan untuk jenis data lain.
Terdapat juga jadual di halaman yang sama yang menunjukkan beberapa contoh pemetaan antara jenis data SQLite dan hubungannya yang ditentukan oleh peraturan berikut:
Contoh Menyimpan jenis Data di SQLite:
Menyimpan nombor dengan bilangan bulat SQLite:
Mana-mana lajur jenis data mengandungi perkataan "INT", ia akan diberikan pertalian jenis INTEGER. Ia akan disimpan di kelas simpanan INTEGER.
Semua jenis data berikut ditetapkan sebagai pertalian jenis INTEGER:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUM INT.
Perkaitan jenis INTEGER dalam SQLite dapat menyimpan sebarang nombor bulat yang ditetapkan (positif atau negatif) dari 1 bait hingga maksimum 8 bait.
Menyimpan nombor dengan SQLite REAL:
Nombor REAL adalah nombor dengan ketepatan titik terapung berganda. SQLite menyimpan nombor nyata sebagai tatasusunan 8 bait. Berikut adalah senarai jenis data dalam SQLite yang boleh anda gunakan untuk menyimpan nombor REAL:
- BENAR.
- BERGANDA.
- KEPUTUSAN BERGANDA.
- KAPAL.
Menyimpan data besar dengan SQLite BLOB:
Hanya ada satu cara untuk menyimpan fail besar ke dalam pangkalan data SQLite, dan ia menggunakan jenis data BLOB. Jenis data ini digunakan untuk menyimpan file besar seperti gambar, file (dari jenis apa pun), dll. Fail diubah menjadi array byte dan kemudian disimpan dalam ukuran yang sama dengan file input.
Menyimpan SQLite Booleans:
SQLite tidak mempunyai kelas penyimpanan BOOLEAN yang berasingan. Walau bagaimanapun, nilai BOOLEAN disimpan sebagai INTEGER dengan nilai 0 (sebagai palsu) atau 1 (seperti benar).
Menyimpan tarikh dan masa SQLite:
Anda boleh menyatakan tarikh atau masa tarikh di SQLite menggunakan salah satu jenis data berikut:
- TARIKH
- MASA TARIKH
- TIMESTAMP
- MASA
Perhatikan bahawa, tidak ada kelas penyimpanan DATE atau DATETIME yang terpisah di SQLite. Sebaliknya, sebarang nilai yang dinyatakan dengan salah satu jenis data sebelumnya disimpan di kelas penyimpanan bergantung pada format tarikh nilai yang dimasukkan seperti berikut:
- TEKS - jika anda memasukkan nilai tarikh dalam format rentetan ISO8601 ("YYYY-MM-DD HH: MM: SS.SSS").
- REAL - jika anda memasukkan nilai tarikh dalam angka Julian hari, jumlah hari sejak tengah hari di Greenwich pada 24 November 4714 SM Kemudian nilai tarikh akan disimpan sebagai REAL.
- INTEGER sebagai Waktu Unix, bilangan saat sejak 1970-01-01 00:00:00 UTC.
Ringkasan:
SQLite menyokong pelbagai jenis data. Tetapi, pada masa yang sama, sangat fleksibel mengenai jenis data. Anda boleh meletakkan jenis nilai dalam jenis data apa pun. SQLite juga memperkenalkan beberapa konsep baru dalam jenis data seperti jenis pertalian dan kelas penyimpanan, tidak seperti sistem pengurusan pangkalan data yang lain.