SQLite - Tipe Data

Tipe data SQLite adalah atribut yang menentukan tipe data dari objek apa pun. Setiap kolom, variabel, dan ekspresi memiliki tipe data terkait di SQLite.

Anda akan menggunakan tipe data ini saat membuat tabel Anda. SQLite menggunakan sistem tipe dinamis yang lebih umum. Di SQLite, tipe data dari suatu nilai dikaitkan dengan nilai itu sendiri, bukan dengan wadahnya.

Kelas Penyimpanan SQLite

Setiap nilai yang disimpan dalam database SQLite memiliki salah satu dari kelas penyimpanan berikut -

Sr.No. Kelas & Deskripsi Penyimpanan
1

NULL

Nilainya adalah nilai NULL.

2

INTEGER

Nilainya adalah bilangan bulat bertanda, disimpan dalam 1, 2, 3, 4, 6, atau 8 byte tergantung pada besarnya nilai.

3

REAL

Nilainya adalah nilai floating point, disimpan sebagai angka floating point IEEE 8-byte.

4

TEXT

Nilainya adalah string teks, disimpan menggunakan encoding database (UTF-8, UTF-16BE atau UTF-16LE)

5

BLOB

Nilai adalah sekumpulan data, disimpan persis seperti saat dimasukkan.

Kelas penyimpanan SQLite sedikit lebih umum daripada tipe data. Kelas penyimpanan INTEGER, misalnya, mencakup 6 tipe data integer berbeda dengan panjang berbeda.

Jenis Afinitas SQLite

SQLite mendukung konsep type affinitydi kolom. Kolom apa pun masih bisa menyimpan semua jenis data tetapi kelas penyimpanan yang disukai untuk kolom disebut denganaffinity. Setiap kolom tabel dalam database SQLite3 diberikan salah satu dari afinitas tipe berikut -

Sr.No. Afinitas & Deskripsi
1

TEXT

Kolom ini menyimpan semua data menggunakan kelas penyimpanan NULL, TEXT atau BLOB.

2

NUMERIC

Kolom ini mungkin berisi nilai menggunakan semua lima kelas penyimpanan.

3

INTEGER

Berperilaku sama seperti kolom dengan afinitas NUMERIK, dengan pengecualian dalam ekspresi CAST.

4

REAL

Berperilaku seperti kolom dengan afinitas NUMERIK kecuali bahwa itu memaksa nilai integer ke representasi floating point.

5

NONE

Kolom dengan afinitas NONE tidak memilih satu kelas penyimpanan daripada yang lain dan tidak ada upaya yang dilakukan untuk memaksa data dari satu kelas penyimpanan ke kelas lain.

Nama Jenis dan Afinitas SQLite

Tabel berikut mencantumkan berbagai nama tipe data yang dapat digunakan saat membuat tabel SQLite3 dengan afinitas yang diterapkan terkait.

Tipe data Afinitas
  • INT
  • INTEGER
  • TINYINT
  • SMALLINT
  • MEDIUMINT
  • BIGINT
  • BIG INT YANG TIDAK DITANDATANGANI
  • INT2
  • INT8
BILANGAN BULAT
  • CHARACTER(20)
  • VARCHAR(255)
  • BERBEDA KARAKTER (255)
  • NCHAR(55)
  • KARAKTER ASLI (70)
  • NVARCHAR(100)
  • TEXT
  • CLOB
TEKS
  • BLOB
  • tidak ada tipe data yang ditentukan
TIDAK ADA
  • REAL
  • DOUBLE
  • PRESISI GANDA
  • FLOAT
NYATA
  • NUMERIC
  • DECIMAL(10,5)
  • BOOLEAN
  • DATE
  • DATETIME
NUMERIK

Jenis Data Boolean

SQLite tidak memiliki kelas penyimpanan Boolean terpisah. Sebagai gantinya, nilai Boolean disimpan sebagai bilangan bulat 0 (salah) dan 1 (benar).

Jenis Data Tanggal dan Waktu

SQLite tidak memiliki kelas penyimpanan terpisah untuk menyimpan tanggal dan / atau waktu, tetapi SQLite mampu menyimpan tanggal dan waktu sebagai nilai TEXT, REAL atau INTEGER.

Sr.No. Kelas Penyimpanan & Format Tanggal
1

TEXT

Tanggal dalam format seperti "YYYY-MM-DD HH: MM: SS.SSS"

2

REAL

Jumlah hari sejak tengah hari di Greenwich pada tanggal 24 November 4714 SM

3

INTEGER

Jumlah detik sejak 1970-01-01 00:00:00 UTC

Anda dapat memilih untuk menyimpan tanggal dan waktu dalam salah satu format ini dan secara bebas mengonversi antar format menggunakan fungsi tanggal dan waktu bawaan.