(数据库)SQLite的使用

数据库的应用相当广泛,可以应用在Java、Android、IOS、Windows等所有主要的操作系统上

SQLite虽然是轻量级的小引擎,但是能够支持高达2TB大小的数据库,其以单个文件的形式存在,以B-Tree的数据结构形式存储在磁盘,具有轻量级、独立性、隔离性、跨平台、多语言及接口、安全性等特点。

多个进程可以再统一时间从统一数据库读取数据,但只有一个可以写入数据

关于SQLite的数据类型:SQlite支持NULL(空值)、INTEGER(整形值)、REAL(浮点值)、TEXT(字符串值)和BLOB(二进制对象)数据类型

动态数据类型(弱引用):当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储

数据库(database):相当于excel文件,是若干个数据表的载体,内部可以存在若干数据表

数据表(table):相当于excel文件中的某个工作表,用于存储数据

列/字段(column):即一竖排

行(row):即一横排

相关英文:design:设计、unique:唯一的、execute:执行、insert:插入、into:到...里面、delete:删除、auto:自动、increment:增长/增加、primary:主要的、primary key:主键、version:版本

SQL的语句是一系列固定的语句,格式规定,用来实现对数据库的所有内容进行管理。

接下来就是SQLite的使用了

SQLite主要有两个类:1.SQLiteDatabase   2.SQLiteOpenHelper

1.SQLiteDatabase:提供了一些管理SQLite数据库的类、提供创建,删除,修改,执行SQL命令,并执行其他常见的数据库管理任务的方法

这些就是主要的增删查改语句.

【创建数据表】

语法:create table 表名 (字段设计列表)

字段设计列表语法:字段名 字段数据类型 字段约束

各字段之间使用英文的逗号进行分隔

示例:create table teachers (name varchar(8) not null unique, tel varchar(16), email varchar(50)) //括号里的数字为限制输入最大字数

注意上面,每一项属性与属性之间一定要有空格

【增加数据】

语法:insert into 表名 (字段列表) values (值列表)

示例:

insert into teachers (name, tel, email) values (‘王五‘, ‘13800138001‘, ‘[email protected]‘)

insert into teachers (email, name, tel) values (‘[email protected]‘, ‘李四‘, ‘13800138006‘)

insert into teachers (name) values (‘张三‘)

【删除数据】

语法:delete from 表名 [where子句]

where子句的语法:where 字段 条件运算符 值 [关系运算符 字段 条件运算符 值]

条件运算符:=  <>  >=  <=

关系运算符:and  or  not

示例:

delete from teachers // 删除teacher表中的所有数据

delete from teachers where name=‘张三‘ // 删除name字段的值为‘张三‘的数据

delete from teachers where tel=‘010-66778899‘ // 删除tel字段的值为‘010-66778899‘的数据

delete from teacher where name=‘李四‘ and tel=‘10086‘ // 删除name字符的值为‘成恒‘,并且tel字段的值为‘10086‘的数据,以上2个条件必须同时满足

delete from teachers where name=‘李四‘ or tel=‘13800138007‘ // 删除name字符的值为‘李四‘,或者tel字段的值为‘13800138007‘的数据,以上2个条件满足其中任何1条均可

【修改数据】

语法:update 表名 set 字段赋值列表 [where子句]

字段赋值列表:字段名=字段值

示例:

update teachers set tel=‘010-66778899‘ // 设置每一条数据的tel字段的值为‘010-66778899‘

update teachers set email=‘[email protected]‘ where name=‘张三‘ // 设置name字段的值为‘张三‘的数据的email字段值为‘[email protected]‘

2.SQLiteOpenHelper:是SQLiteDatabase的帮助类,用于管理数据库的创建和版本更新,一般是建立一个类继承它,并重写onCreate()和onUpgrade()方法

上图就是SQLiteOpenHelper的主要方法

当1和2配合使用效果最佳

时间: 2024-10-31 21:51:11

(数据库)SQLite的使用的相关文章

Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题

做一个需要嵌入式数据库Sqlite 的unity3d项目,在pc机上运行良好,需要发布到Android平台上,于是,各种坑爹...会遇到找不到数据库文件的问题.当在pc机上使用sqlite时,当执行SqliteConnection dbConnection = new SqliteConnection("data source = test.db");语句时,如果有这个数据库文件则建立连接,如果没有则创建出这个文件,然后建立连接.当在Android平台上时,扯淡的事情就开始了,总之便不

Android - 插入数据库(SQLite)错误

插入数据库(SQLite)错误 本文地址: http://blog.csdn.net/caroline_wendy Error: android.database.sqlite.SQLiteException: no such table: step (code 1): ,  while compiling: INSERT INTO step(duration,date,counter) VALUES (?,?,?). 错误:插入数据库错误,没有找到表,插入表的地方写入参数,而参数地方传入空值.

android listview级联三菜单选择地区,本地数据库sqlite级联地区,item选中不变色

前言:因为找了N多网上的资源都没有好的解决方案,别人都是只给思路没给具体源码,真TMD纠结,干嘛求别人,自己动手才是真,最痛恨那些所谓大牛的作风,给了点点代码就让别人去想,你让我们这种小白情何于堪!!!!!!此例是基于listview来实现本地sqlite实现的! 二话不说,程序猿求的是有图有真相有源码!大家下载后有什么问题可以找到本人:QQ508181017 核心代码如下 1.数据库操作类 package com.icq.demo.db; import java.util.ArrayList;

Qt数据库(sqlite) — 总结

#include <QtSql>QT += sql QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录 第一:QSqlDatabase类QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");  采用QSQLITE数据库,QMYSQL数据库有问题?db.setHostName("localhost"); //设置数据库主机名

Anroid——第三方数据库SQLite——SQLiteOpenHelper+SQLiteDatabase

Anroid--第三方数据库SQLite--SQLiteOpenHelper+SQLiteDatabase <span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import com.j256.ormlite.android

Android数据库SQLite表内设置外键

Android数据库SQLite表内设置外键 介绍 Android默认的数据是SQLite,但SQLite3.6.19之前(在2.2版本中使用的是3.6.22,因此如果你的应用只兼容到2.2版本就可以放心使用外键功能)是不支持外键的,如果有两张表需要关联,用外键是最省事的,但不支持的话怎么办呢?这里就有一个解决办法,就是用事务将两张表关联起来,并且最后生成一张视图. 现有两张表 Employees Dept 视图 ViewEmps:显示雇员信息和他所在的部门 创建数据库 自定义一个辅助类继承SQ

[Sqlite] 移动嵌入式数据库Sqlite的日常SQL操作语句汇总

序言:     嵌入式数据库Sqlite的基本sql使用汇总,使用测试起来,与关系型数据库mysql在语法上有很多的相似之处,先准备测试数据: CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2)); INSERT INTO "COMPANY" VALUES(1,'Paul',32,'California',20000); INSERT

[Sqlite] 移动嵌入式数据库Sqlite日报SQL操作语句汇总

前言:     嵌入式数据库Sqlite基本sql使用摘要.使用测试,与关系数据库mysql在语法上有非常多的类似之处,先准备測试数据: CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2)); INSERT INTO "COMPANY" VALUES(1,'Paul',32,'California',20000); INSERT IN

Android开发之数据库Sqlite

在Android中使用的数据库是开源数据库Sqlite数据库,下面主要详细的介绍Sqlite的使用: 一 SQLite简介 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软件时创建出应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数据表结构进行更新.那么,我们如何才能实现在用户初次使用或升级软件时自动在用户的手机上创建出应用需要的数据库表呢?总不能让我们在每个需

ios UI数据库 sqlite小型数据库的增、删、改、查、排序

#import "table.h" @implementation table // 1.创建表 每一列之间用',',如果存在就不创建 create table if not exists t_class( class_id integer primary key autoincrement, class_name varchar, person_count integer default 0) // 1.1// 删除表 drop table if exists t_person //