SQLite

发布于:2025-02-11 ⋅ 阅读:(80) ⋅ 点赞:(0)


sqlite

1、什么是信息?

信息是指对现实世界存在方式或运动状态的反映。
什么是数据?
数据是指存储在某一媒体上,能够被识别的物理符号:
数据的概念在数据处理领域已经被大为拓宽,不仅包括字符组成的文本形式的数据
信息与数据的关系:
信息与数据是相互依赖存在的,数据是信息的载体,信息是数据的内涵。
数据处理是指数据及信息相互转换的过程。
从数据处理的角度而言,信息是一种被加工成特定形式的数据。

数据管理的几个阶段
人工管理->文件管理->数据库管理系统

2、 数据库模型

数据库管理系统根据数据模型对数据进行存储和管理
数据模型应满足三方面要求:
一是能比较真实地模拟现实世界:
二是容易为人所理解,
三是便于在计算机上实现
数据结构、数据操作和完整性约束是构成数据模型的三要素
完整性约束:
数据完整性约束指的是为了防止不符合规范的数据进入数据库。
在用户对数据进行插入、修改、删除等操作时,DBMS 自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。

3、sqLite 数据库

SQLite 是一个开源的、内嵌式的关系型数据库,第一个版本诞生于 2000年5月,目前最高版本为 SQLite3。
下载地址:http://www.sqlite.org/download.html
学习网站:http://www.runoob.com/sqlite/sqlite-tutorial.htm!

安装方法(ubuntu12.04 下):
字符界面

sudo apt-get install sqlite3

图形界面

sudo apt-get install sqliteman

SQLite 特性:
零配置 可移植 灵活
自由的授权
可靠 紧凑 简单 易用

4、 SQL 语句基础

SQL是一种结构化査询语言(Structured Query Language)的缩写,SOL 是一种专门用来与数据库通信的语言
SQL 目前已成为应用最广的数据库语言:
SQL已经被众多商用数据库管理系统产品所采用,不同的数据库管理系统在其实践过程中都对 SOL规范作了某些改编和扩充。故不同数据库管理系统之间的 SOL语言不能完全相互通用。
SQLite 数据类型
一般数据采用固定的静态数据类型,而 SOLite 采用的是动态数据类型,会根据存入值自动判断。

SQLite 具有以下五种基本数据类型:
1、integer:带符号的整型(最多 64 位)。
2、real:8字节表示的浮点类型。
3、text:字符类型,支持多种编码(如 UTF-8、UTF-16),大小无限制。
4、blob:任意类型的数据,大小无限制。 BLOB(binary large object)二进制大对象,使用二进制保存数据
5、null表示空值

5、对数据库文件 SQL 语句:

1、创建、打开数据库:
sqlite3 *.db
提示:
当*.db 文件不存在时,sqlite 会创建并打开数据库文件。
当*.db 文件存在时,sqlite 会打开数据库文件。
2、退出数据库命令:
.quit 或 .exit
SQL 的语句格式:
所有的 SQL语句都是以分号结尾的,SQL语句不区分大小写。两个减号"- -”则代表注释。

关系数据库的核心操作:
一、创建、修改、删除表
二、添加、修改、删除行
三、查表
对数据库中表及内容操作的语句:

6、创建表:create 语句

语法: create table 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,…);

创建一表格该表包含3列,列名分别是:“id”、“addr” “name”
在终端下输入:

sqlite> create table persons (id integer, name text, addr text);

7、创建表:create 语句(设置主键)

在用 sglite 设计表时,每个表都可以通过 primary key 手动设置主键,每个表只能有一个主键,设置为
主键的列数据不可以重复。
语法:create table 表名称(列名称1数据类型 primary key,列名称 2 数据类型,列名称3 数据类型,…);
在终端下输入:

sqlite>create table persons(id integer primary key,name text,addr text);

8、查看表: .table

查看数据表的结构:
.schema[表名]
在这里插入图片描述

9、修改表: alter语句

在已有的表中添加或删除列以及修改表名。
在这里插入图片描述
在这里插入图片描述

10、删除表:drop table 语句

用于删除表(表的结构、属性以及表的索引也会被删除)
语法:
drop table 表名称:

11、插入新行:insert into 语句(全部赋值)

给一行中的所有列赋值。
语法
insert into 表名 values (列值 1,列值 2,列值 3,列值 4,…);
注意:
当列值为字符串时要加上""号。
在终端下输入:

sqlite>create table persons (id integer,name text, addr text);
sqlite>insert into persons values(1,'lucy','beijing');

12、插入新行:insert into 语句 (部分赋值)

给一行中的部分列赋值
语法: insert into 表名(列名 1,列名 2,…) values (列值 1,列值 2,…);
在终端下输入:

sqlite> insert into persons(id,name) values(l,'peter');

13、修改表中的数据: update 语句

使用 where 根据匹配条件,查找一行或多行,根据查找的结果修改表中相应行的列值(修改哪一列由
列名指定)。
语法:
update 表名 set 列1= 值1 [,列 2= 值2,…][匹配条件];
匹配: where 子句
where 子句用于规定匹配的条件。
在这里插入图片描述
匹配条件语法:
(基础)
where 列名 操作符 列值
在终端下输入:

sqlite> update persons set id=2,addr='tianjing' where name='peter ';

14、删除表中的数据:delete 语句

使用 where 根据匹配条件,查找一行或多行,根据查找的结果删除表中的查找到的行。
语法:
delete from 表名[匹配条件]:
注意:
当表中有多列、多行符合匹配条件时会删除相应的多行。
在终端下输入:

sqlite>delete from persons where name='peter';

15、查询:select 语句(基础)

用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。
语法:

1select*from 表名「匹配条件]:
2select 列名 1[,列名 2,...] from 表名[匹配条件];

提示:星号(*)是选取所有列的通配符。
在终端下输入:

sqlite>select *from persons where id=1;

16、匹配条件语法:(提高)

数据库提供了丰富的操作符配合 where 子句实现了多种多样的匹配方法
如:

一、in 操作符
二、and 操作符
三、or 操作符
四、between and 操作符
五、like 操作符
六、not 操作符

in 允许我们在 where 子句中规定多个值。
匹配条件语法:
where 列名 in(列值 1,列值 2…)
例:

select*firom 表名 where 列名 in (1,值 2,...);

and 可在 where 子语句中犯两个或多个条件结合起来(多个条件之间是与的关系)。
匹配条件语法:
where 列1=值1[and 列2= 值 2 and …]

1、select * from 表名 where 列1 = 值1[and 列2= 值 2 and …];
2、select 列名1[,列名2,…] from 表名 where 列1= 值1 [and 列2= 值2 and …];
在终端下输入:

sqlite> select * from persons where id=l and addr='beijing';

匹配条件语法:
where 列名between A and B

例:
1、select*from 表名 where 列名 between A and B;
2、select 列名1[,列名2,fiom 表名 where 列名 between A and B:
注:
匹配字符串时会以 ascii 顺序匹配。
在终端下输入:

sqlite>s