Tutorial klasik...login
Tutorial klasik SQLite
pengarang:php.cn  masa kemas kini:2022-04-13 17:05:02

Jenis data SQLite


Jenis data SQLite ialah atribut yang digunakan untuk menentukan jenis data mana-mana objek. Setiap lajur, pembolehubah dan ungkapan dalam SQLite mempunyai jenis data yang berkaitan.

Anda boleh menggunakan jenis data ini semasa membuat jadual. SQLite menggunakan sistem jenis dinamik yang lebih umum. Dalam SQLite, jenis data sesuatu nilai berkaitan dengan nilai itu sendiri, bukan bekasnya.

Kelas Storan SQLite

Setiap nilai yang disimpan dalam pangkalan data SQLite mempunyai salah satu daripada kelas storan berikut:

存储类描述
NULL值是一个 NULL 值。
INTEGER值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB值是一个 blob 数据,完全根据它的输入存储。

Kelas storan SQLite lebih kecil sedikit daripada Data jenis lebih umum. Kelas storan INTEGER, sebagai contoh, mengandungi 6 jenis data integer berbeza dengan panjang yang berbeza-beza.

Jenis Perkaitan SQLite

SQLite menyokong konsep perkaitan jenis pada lajur. Mana-mana lajur masih boleh menyimpan sebarang jenis data, tetapi kelas storan pilihan lajur ialah perkaitannya. Dalam pangkalan data SQLite3, setiap lajur jadual diberikan salah satu daripada jenis perkaitan berikut:

Affinity描述
TEXT该列使用存储类 NULL、TEXT 或 BLOB 存储所有数据。
NUMERIC该列可以包含使用所有五个存储类的值。
INTEGER与带有 NUMERIC affinity 的列相同,在 CAST 表达式中带有异常。
REAL与带有 NUMERIC affinity 的列相似,不同的是,它会强制把整数值转换为浮点表示。
NONE带有 affinity NONE 的列,不会优先使用哪个存储类,也不会尝试把数据从一个存储类强制转换为另一个存储类。

SQLite Affinity dan nama jenis

Jadual berikut menyenaraikan pelbagai nama jenis data yang boleh digunakan semasa membuat jadual SQLite3, dan juga menunjukkan Affinity aplikasi yang sepadan:

< /tr>
Jenis DataPerkaitan
  • 数据类型Affinity
    • INT

    • INTEGER

    • TINYINT

    • SMALLINT

    • MEDIUMINT

    • BIGINT

    • UNSIGNED BIG INT

    • INT2

    • INT8

    INTEGER
    • CHARACTER(20)

    • VARCHAR(255)

    • VARYING CHARACTER(255)

    • NCHAR(55)

    • NATIVE CHARACTER(70)

    • NVARCHAR(100)

    • TEXT

    • CLOB

    TEXT
    • BLOB

    • no datatype specified

    NONE
    • REAL

    • DOUBLE

    • DOUBLE PRECISION

    • FLOAT

    REAL
    • NUMERIC

    • DECIMAL(10,5)

    • BOOLEAN

    • DATE

    • DATETIME

    NUMERIC
    INT

  • INTEGER

  • < li>

    TINYINT

  • KECIL

  • MEDIUMINT
    存储类日期格式
    TEXT格式为 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。
    REAL从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。
    INTEGER从 1970-01-01 00:00:00 UTC 算起的秒数。
  • BESAR

    < /li>
  • UNTANDAI BIG INT
  • <🎜>INT2<🎜>
  • <🎜>INT8<🎜>
  • < /ul >
INTEGER
  • <🎜>WATAK(20)<🎜 >< /li>
  • <🎜>VARCHAR(255)<🎜>
  • <🎜>BERBAGAI WATAK(255)<🎜>
  • <🎜>NCHAR(55) <🎜 >
  • <🎜>WATAK ASLI(70)<🎜>
  • <🎜>NVARCHAR(100)<🎜>
  • <🎜>TEKS< 🎜>
  • <🎜>CLOB<🎜>
TEKS
  • <🎜>BLOB<🎜>
  • <🎜>tiada jenis data ditentukan<🎜>
TIADA< /td>
  • <🎜>REAL<🎜>
  • <🎜>GANDA< 🎜>
  • <🎜>KETEPATAN BERGANDA<🎜>
  • <🎜>Apung<🎜>
SEBENAR
  • <🎜>NUMERIC<🎜>
  • <🎜>PERPULUHAN(10,5) <🎜 >
  • <🎜>BOOLEAN<🎜>
  • <🎜>TARIKH<🎜>
  • <🎜>DATETIME<🎜>
  • < /ul >
NUMERIC
<🎜>Jenis data Boolean <🎜><🎜>SQLite tidak mempunyai kelas storan Boolean yang berasingan. Sebaliknya, nilai Boolean disimpan sebagai integer 0 (salah) dan 1 (benar). <🎜><🎜>Jenis data Tarikh dan Masa <🎜><🎜>SQLite tidak mempunyai kelas storan yang berasingan untuk menyimpan tarikh dan/atau masa, tetapi SQLite boleh menyimpan tarikh dan masa sebagai nilai TEKS, REAL atau INTEGER. <🎜><🎜><🎜>Anda boleh menyimpan tarikh dan masa dalam mana-mana format di atas, dan anda boleh menggunakan fungsi tarikh dan masa terbina dalam untuk menukar secara bebas antara format yang berbeza. <🎜><🎜><🎜>