热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLite数据库的一些基本操作

什么是SQLiteSQLite是一个小型的、无数据类型的、开源的,可嵌入的关系型数据库,它支持事务操作。1.数据类型1.1 SQLite使用动态数据类型,根据存入的值自动进行判断,

什么是SQLite

SQLite 是一个小型的、无数据类型的、开源的,可嵌入的关系型数据库,它支持事务操作。

1.数据类型

1.1  SQLite使用动态数据类型,根据存入的值自动进行判断,对于每一个值都属于下面存储类型之一

NULL:空值;

INTEGER:整型

REAL:浮点数类型

TEXT:值为文本字符串

BLOB:存储Blob数据,该类型数据和输入的数据完全相同;

1.2  为了最大化SQLite和数据库引擎之间的数据库兼容,SQLite提出类型亲缘性(Type Affinity)的概念,在表字段声明后,SQLite会根据字段声明的类型选择一种亲缘类型。

2. sql语句(几个重要的参数 表名,字段名,数据类型 约束条件)

2.1 创建表

create table 表名 (字段名称 数据类型 约束 ……)

create table person(_id Integer primary key,name varchar(10),age Integer not null)

2.2 删除表

create table 表名

create table person

2.3 插入数据

insert into 表名 (字段名称1,字段名称2)values (值1,值2);

insert into person(_id,age) values (1,20)

insert into person values (2,”gzc”,20);

2.4 修改数据

update 表名 set 字段=新值 where 修改的条件

update person set name =”gzc” ,age = 23 where _id =1

2.5 删除数据

delete from 表名 where 删除的条件

delete from person where _id = 2

2.6 查询语句

select 字段名 from 表名 where 查询条件 group by 分组的字段 having 筛选的条件 order by 排序的字段

select _id,name from person

select * from person where _id = 1

select * from person where _id <>1

select * from person where _id=1 and age <18

select * from person where age between 10 and 20

select * from person where name like &#8220;%陈%&#8221;

select * from person where name like &#8220;_陈%&#8221;&#8221;_&#8221;代表一个字符 &#8220;%&#8221; 代表多个字符

select * from person where name is null

select * from person where age >20 order by _id

//增

sqlite> create table student(id integer , name varchar(3),age int);//创建一个table

create table student(id integer primary key autoincrement,age int,name varchar(30));

sqlite> .table//显示所有

sqlite> insert into student values(1,&#8221;jack&#8221;,18); //添加

sqlite> insert into student(stuNo,name)values(3,&#8217;tom&#8217;);

alter table student add column job Stirng; //增加某一列;

//删

delete from student;//删除所有数据;

delete from student where id = 1;//删除id = 1 的所有数据;

drop table student;

//改

update student set name = job,age = 12 where id = 1;

update student set name = &#8216;lucy&#8217; where id = 52;

//查

select * from student //查询全部;

sqlite> select name from student; //按照name选择

sqlite> select * from student where stuNo>2;//按照stuNo选择

sqlite> select * from student where stuNo>2 and name = &#8216;tom&#8217;;

sqlite> select * from student where stuNo>2 or name = &#8216;tom&#8217;;

sqlite> select * from student where stuNo in(2,3);//选择某一个区间的值

sqlite> select * from student where stuNo not in(2,3);//选择不再某个区间的值

select * from student order by stuNo desc;//降序

select * from student order by stuNo asc;//升序

聚合函数

select count(*) from student; //查询所有记录数;

select count(age) from student; //查询某个字段的集合;

select sum(age) from student;//求和

select min(stuNo) from student;//求最小值

select max(stuNo) from student;//求最大值

select avg(age) from student;//求平均值

select * from student where name like&#8217;j%&#8217;;//以j开头;

select * from student where name like&#8217;%k&#8217;;//以k结尾;

select * from student where name like&#8217;%o%&#8217;;//中间含有o;

select * from student where id in(5,7);

select * from student where id>=5 and id<=7;

select * from student where id between 5 and 7;


推荐阅读
  • MySQL 数据库基础学习 一、SQL的作用及分类 二、数据类型 三、存储引擎  (建库建表、数据插入等))
    MySQL 数据库基础学习 一、SQL的作用及分类 二、数据类型 三、存储引擎 (建库建表、数据插入等)) ... [详细]
  • MySQL千万级数据的大表优化解决方案【mysql特性】
    mysql数据库中的表数据量几千万后,查询速度会很慢,日常各种卡慢,严重影响使用体验。在考虑升级数据库或者换用大数据解决方案前,必须优化现有mysql数据库 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 点此学习更多SQL相关函数与字符串处理函数mysql函数一、简明总结ASCII(char)        返回字符的ASCII码值BIT_LENGTH(str)      返回字 ... [详细]
  • 分析OpenSurf(2)
    ①积分图像的实现首先在Integral.cpp里面找到Integral(),如下:IplImage*Integral(IplImage*source) ... [详细]
  • mysql innodb myisam,mysql从MyISAM迁移到InnoDB引擎过程及优化
    由于开发需要使用InnoDB引擎的事务功能,需要将原有的MyISAM引擎更换为InnoDB,InnoDB行级锁也可以避免MyISAM的锁表, ... [详细]
  • 最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了。blob ... [详细]
  • 本来想移植DM9000网卡的驱动,无奈硬件出了点问题,通过杜邦线链接开发板和DM9000网卡模块,系统上电,还没加载网卡驱动 ... [详细]
author-avatar
素人1963_497
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有