Sqlite数据库常用操作

数据库简介

数据库是指以一定方式存储在一起,能为多个用户共享,具有尽可能小的冗余特性,是与应用程序彼此独立的数据集合

  • 相关术语–DB 数据库(database)
  • DBMS数据库管理系统
  • DBA数据库管理员
  • RDB关系式数据库

常见的商业数据库

  • 甲骨文Oracle
  • 微软的Sqlserver
  • IBM的DB2
  • 常见的开源数据库,Sun公司的Mysql,2009年sun公司被Oracle收购,所以mysql现在属于甲骨文旗下的产品
  • 开源的SQLite,轻量级嵌入式关系型数据库

数据库操作语言(SQL)

  • SQL(StructuredQueryLanguage)是一种针对数据库的结构化查询语言,用于实现数据库查询和程序设计,常用于关系数据库系统,实现数据存取、查询、更新等操作。

    常用的SQL语句

  • 数据操作语言(DML):SELECT、INSERT、DELETE、UPDATE

  • 数据定义语言(DDL):CREATETABLE

Sqlite数据库

SQLite是一个轻量级的开源数据库,源代码完全公开不受版权限制,实现了自给自足的、无服务器、零配置的SQL数据库引擎,也是最广泛使用关系式数据库

SQLite(www.sqlite.org)提供SQLite的已编译版本和源代码程序,目前支持如下平台:

–Linux

–MacOSX

–Windows

–WindowsPhone8

–WindowsRuntime

Sqlite工作原理

  • SQLite引擎不是程序与之通信的独立进程,而是以静态库或共享库的方式连接到程序中,而不同于客户端-服务器数据库连接方式,所以主要的使用方法是在编程语言内的直接API调用,当前主流的编程语言,如C/C+、java、python等都提供了sqlite操作的API接口

  • SQLite在资源消耗、实时性和可操作性有着出色的表现,整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中,通常SQLite的工作是在开始一个事务的时候锁定整个数据文件而实现

Sqlite主要特性

  • SQLite不需要一个单独的服务器进程或操作的系统(无服务器的)
  • SQLite可以不用配置,安装或管理十分简单
  • SQLite数据库是存储在一个单一的跨平台的磁盘文件
  • SQLite是非常小的,是轻量级的,完全配置时小于400KiB,省略可选功能配置时小于250KiB
  • SQLite是自给自足的,开发者不需要外部的依赖
  • SQLite支持SQL92标准的大多数查询语言的功能
  • SQLite事务是完全兼容ACID的,允许从多个进程或线程安全访问
  • 注:ACID即原子性、一致性、隔离性、持久性

Sqlite的操作指令

  • 进入SQLite的命令行界面后,可以输入两种指令,一种是自身配置和格式控制相关指令,这些指令都以“.”开头;另外一种指令是SQL语言(Sql语句),实现对数据库的增删改查等操作,这些指令以“;”结束
  • 输入.help或.h可以获取以“.”开头指令的帮助信息
  • 输入.exit或.quit退出SQLite的命令界面,回到系统的控制终端
  • 如果需要清屏,可以使用“ctrl+L”

以“.”开头的常用命令

  • .database //查看数据库的名字和对应的文件名
  • .table //查看数据表的名字
  • .schema //查看数据表创建时的详细信息
  • .mode //设置显示模式,如tab/list/column/html/…
  • .nullvalue //设置空白字段显示的字符串
  • .header on //显示数据表的表头

创建一个数据库:

创建数据库文件–

启动sqlite时一般需要指定数据库文件,将来和数据管理相关操作,如添加数据表,以及对数据表中数据的增删改查等都将保存在该的文件中,如果没有指定数据库文件,将会把数据临时存放在内存中,退出sqlite后数据不会保存–

通常数据库文件以.db作为后缀标记,如果指定文件不存在将会自动创建

sqlite3 test.db

创建一个数据表:

CREATE TABLE StuDent(Id INT PRIMARY KEY NOT NULL,Name TEXT NOT NULL,Scor REAL);

限制值唯一:PRIMARY KEY

限制值不能为空:NOT NULL

常用的类型:INT(整型)、TEXT(字符串)、REAL(浮点数)

设置显示表头:.header on;

设置显示模式:.mode tab;

创建数据表

语法格式:CREATETABLE表名(列名1类型[约束],列名2类型[约束],...);

常用的类型:INT(整型)、TEXT(字符串)、REAL(浮点数)

常用的约束:PRIMARYKEY(主键)表示该列数据唯一,可以加快数据访问.

NOTNULL(非空):该列数据不能为空

查询数据库:

select * from StuDent;

查询指定类型:

select Id,Scor from StuDent;

select Id,Scor from StuDent where Scor >= 60;

排序查询:

select * from StuDent order by Scor ASC;升序

select * from StuDent order by Id desc;降序

模糊查询:

select * from StuDent where Name like '张_';

select * from StuDent where Name like '张%';

新增数据

INSERT INTO StuDent(Id,Name,Scor) values(4,"小乔",60);

INSERT INTO StuDent(Id,Name) values(3,"张飞");

INSERT INTO StuDent values(3,"张飞",99);

删库:

DROP TABLE StuDent;

删除指定数据:DELETE FROM StuDent WHERE Id = 3

删除指定范围数据:

DELETE FROM StuDent WHERE Scor >= 80

DELETE FROM StuDent WHERE Scor >= 80 and Scor < 90;

DELETE FROM StuDent WHERE Scor >= 80 or Scor < 90;

修改数据:

全局修改:UPDATE StuDent SET Scor = Scor+10;

指定修改:UPDATE StuDent SET name = "张宇" where id = 3;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值