Linux-轻量级数据库sqlite-015

1【sqlite】安装

1.让虚拟机能够上网
2.【apt-get】工具集配置好
3.【sudo apt-get install sqlite3】 
4.启动【sqlite3】 
    【sqlite3】 
5.输入【.quit】退出

2数据库简介

(1)SQLite是一个进程内的软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
(2)SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
(3)SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

2.1常见的几种数据结构及数据库

1.数组、链表、文件、数据库
	(1)存储位置及存储器:
			数组、链表:内存存放数据的方式(代码运行结束、关机数据丢失)
			文件、数据库:外存存放数据的方式(代码运行结束、关机数据不会丢失)
	(2)数据量及数据处理效率:
			文件:数据量很小,处理效率很低
			数据库:数据量很大,处理数据(增删改查)效率高

3【SQL】命令

1.打开/关闭数据库中列名称:【.headers on/off】
2. 设置输出模式:【.mode csv/column/html/insert/line/list/tabs/tcl】 
3. 查看表名称对应的表的格式:【.schema+表名称】 
		详解:有哪几列?每一列类型?
4.设置显示时的数据宽度 :【.width 宽度】
5.查看数据库文件中的所有表:【.tables】          

4【SQL】语言

(1)实现数据的:增、删、改、查
(2)大小写:不区分大小写
(3)注释:以两个连续的【-】字符开始,并扩展至下一个换行符或直到输入结束,以先到者为准。也可以以【/*】开始,并扩展至下一个【*/】字符对或直到输入结束,以先到者为准。
(4)一条语句:【;】结束为一条语句。

4.1使用【sqlite3】打开数据库文件

【sqlite3 数据库文件名】
示例:【sqlite3 ./student.db】 

4.2创建表

【create table】
示例:【sqlite> create table student (id integer primary key asc, name varchar(255), sex varchar(32), age integer, score integer);】

4.3插入数据

【insert into】
示例:
【sqlite> insert into student values (1001, "张三", "男", 19, 80);】
【sqlite> insert into student (id, name, score) values (1002, "李四", 100);】
【sqlite> insert into student values (1002, "王二", "女", 18, NULL);】

4.4查找数据

【select】
示例:
【sqlite> select * from student;】
【sqlite> select name, score from student;】

4.5内容匹配

【where】
示例:
【sqlite> select * from student where name like "%张%";】

4.6主键

key:键值
内键:在表中唯一标识一条数据称为内键
外键:与外部表进行标识的数据称为外键 

4.7删除

【delete from】
示例:
【delete from student where name="李四";】

4.8修改

【update】
示例:
【update student set sex="男",age=19 where name="王二";】

4.9排序

【order by】
示例:
【select * from order_manager order by ordertime desc;】

4.10多表联合查询

4.10.1交叉链接

【cross join】
示例:
【sqlite> select student.name as 学生姓名, lesson.name as 课程名
...> from student cross join lesson;】

4.10.2内链接

【inner join】
示例:
【sqlite> select score.id as 成绩编号, student.name as 学生姓名, score.score as 成绩
...> from score inner join student on score.stuid=student.id;】

4.10.3外链接

【outer join】
示例(1):
【sqlite> select score.id as 成绩编号, student.name as 学生姓名, score.score as 成绩
...> from student left outer join score on score.stuid=student.id;】

示例(2):
【sqlite> select score.id as 成绩编号, student.name as 学生姓名, score.score as 成绩
...> from student left outer join score on score.stuid=student.id
...> where name="张三"
...> order by 成绩 desc;】

源码示例(1):

/*练习:数据库完成对订单的管理
1.创建一张订单表,由 ID, 订单号, 货物信息, 生产厂商, 联系人, 联系电话, 订单时间:1    D202403120001
2.在表中插入随机给定的10条数据
3.查找订单信息
(1)查找 联系人为 "张三" 的所有订单号
【select ordername from order_manager where contactperson="张三";】
(2)查找订单号为 "D202403120001" 的所有订单信息
【select * from order_manager where ordername="D202403120001";】
(3)查找 订单时间截止到当天的所有订单号及联系人、联系电话
【select ordername,contactperson,contactphone from order_manager where ordertime < "20240310 24:00:00";】
(4)查找 货物信息包含 "手机" 内容的所有订单信息及货物信息
【select ordername,orderinfo from order_manager where orderinfo like "%手机%";】
(5)查找 生产厂商是"华为" 的所有货物信息包含 "平板" 的订单信息  
【select * from order_manager where factoryname="华为" and orderinfo like "%平板%";】
*/


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值