SQLite学习笔记(一)

概述

本文结构如下所示:

  • SQL 是什么
  • SQLite 数据类型
  • SQLite 创建/销毁/修改表
  • SQLite 常用命令

一、SQL 是什么

SQL 全称为 Structured Query Language,即结构化查询语言,所以和 C、Java 一样,它是一门语言,一门专门用来与数据库“沟通”的语言。下面是几个重要的数据库术语以及它们的概念:

术语 含义
数据库(Database) 数据库是一个以某种有组织的方式储存的数据集合。我们可以把数据库想象成一个文件柜,这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。
表(Table) 表示某种特定类型数据的结构化清单。每个表的表名都是唯一的。表具有一些特性,这些特性定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。描述表的这组信息就是所谓的模式(schema)。
列(Column) 表中的一个字段,所有的表都是由一个或多个列组成的。
数据类型(Datatype) 所允许的数据的类型。每个表列都有对应的数据类型,它限制(或允许)该列中存储的数据。
行(Row) 表中的一个记录即为行,表中的数据是按行存储的。
主键(Primary key) 一列(或一组列),其值能够唯一标识表中每一行。

表中的任何列都可以作为主键,它需要满足以下条件:

  • 任意两行都不能具有相同的主键值;
  • 每一行都必须具有一个主键值(主件列不允许 NULL 值);
  • 主键列的值不允许修改或更新;
  • 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

二、SQLite数据类型

SQLite 支持以下5大数据类型:

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

但实际上,SQLite 也支持以下的数据类型:

数据类型 描述
smallint 16 位整数
float 32 位浮点型数
double 64 位浮点型数
char(n) n 长度的字串,n 的大小不能超过 254
varchar(n) 长度不固定且其最大长度为 n 的字串,n 的大小不能超过 4000
date 包含了 年份、月份、日期
time 包含了 小时、分钟、秒
timestamp 包含了 年、月、日、时、分、秒、毫秒

这里仅仅列出了日常中较常使用的几种数据类型,更多的数据类型可以参考 SQL数据类型。此外,最后的三种数据类型 date、time、timestamp 我们往往用它们来记录日志或者时间戳事件,如下所示:

CREATE TABLE Times
(
	id integer PRIMARY KEY,
	date NOT NULL DEFAULT current_date,
	time NOT NULL DEFAULT current_time,
	timestamp NOT NULL DEFAULT current_timestamp
);
INSERT INTO Times (id) VALUES(1);
INSERT INTO Times (id) Values(2); 

采用 SELECT 查看 Times 表,结果如下所示:

sqlite> SELECT * FROM Times;
id   
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值