-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathweek3.txt
More file actions
88 lines (65 loc) · 2.67 KB
/
Copy pathweek3.txt
File metadata and controls
88 lines (65 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Ava1oN
Table of Contents
─────────────────
1 Week 03
.. 1.1 SQL - Data Type
..... 1.1.1 前言
..... 1.1.2 NULL
1 Week 03
═════════
1.1 SQL - Data Type
───────────────────
1.1.1 前言
╌╌╌╌╌╌╌╌╌╌
因为一个内部优化,没带有小数部分的浮点值和并存储在纵列有着真实的类
(affinity)被写入硬盘以整数的形式,为了花更小的空间并且在读取的时候自动
地转换回浮点数。这个优化是完全不可见的。只有通过检查数据文件raw
bit(未经修改的字节)才能看出来。
1.1.2 NULL
╌╌╌╌╌╌╌╌╌╌
⁃ NULL是一个合法的值在任何的纵列。NULL是在任何数据类的领域之外的。
⁃ NULL通常代表了信息的缺乏或者不适用值
⁃ 不建议使用null
1. nothing
2. false
3. 0
[code] CREATE TABLE biaoge (name TEXT, number INTEGER); INSERT INTO
biaoge ('Ziyan Long', NULL); [/code]
INTEGER
⁃ 有符INT有最多8bytes长(64bits) 1bytes = 8bits
REAL
⁃ 能够以小数(decimal)或者指数表示法表示
⁃ ex: 1.5 or 5.6E12.4
TEXT
⁃ 字符要用单引号
⁃ exmaple: 'I''m a string'
Date and Time
⁃ 文本: '年-月-日 小时:分钟:秒'
⁃ INTEGER 以unix时间
BLOB
⁃ 被用于存储任意二进制数据(通常有:图片,视频,或者其他非文字数据)
⁃ 没有储存限制
⁃ 很少用到在INSERT语句,更多用在变成语言api的parameterized(参数的)查询
(query).
NUMERIC
⁃ sqlite有另外一个类 NUMERIC
⁃ 一个纵列能有NUMERIC类可以包含值去使用全部5种存储类.当文本数据被插入
到NUMERIC纵列的时候,那个储存类属于文本会被转换成INT或者REAL.
⁃ 如果前15个小数位被保留,那么TEXT和REAL之间的转换是无损的和可逆的.
⁃ 如果text的无损转换不可能,那么值将会存成text,不尝试去转换.
Non SQLITE DATA TYPES
⁃ Memo 能存有超多字符
⁃ Enum 受限字符串
#Sql - Python and Database
How to 描绘represent a database in python
⁃ Project2要求
⁃ sqlite的输入和输出都需要一样风格
⁃ 剩下的需实现内容都是建议以一种方式实现
Sqlite to python类型等换: NULL `= None INTEGER =' int REAL `= float
fTEXT =' str BLOB == bytes
Type Checking
⁃ 如果一个纵列被公告去有个类,那么每个元素在那个纵列都必须一致(conform)
或者被转换成xxx类
⁃ sqlite不介意错误匹配的类发生, 爆炸自己负责
⁃ example:
CREATE TABLE BIAO (name text); INSERT INTO BIAO value(5);