SQLite的使用(一):简介及原生SQL操作数据库

一、SQLite概述

SQLite 是一个轻量级的、嵌入式的、关系型数据库。它支持 SQL 语言,开源,可移植性好。它的数据是以单个文件形式存储的,存储位置为data/data/<项目文件夹>/database下。

二、常用类说明

SQLiteOpenHelper 抽象类:通过从此类继承实现用户类,来提供数据库创建、打开、关闭等操作。

SQLiteDatabase 数据库访问类:执行对数据库的插入记录、查询记录等操作。

Cursor 查询结构操作类:用来访问查询结果中的记录

2.1 SQLiteOpenHelper使用

SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) :构造方法,用来实例化对象

onCreate(SQLiteDatabase db):创建数据库时执行的方法

onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion):更新数据库时执行的方法

2.2 SQLiteDatabase使用

原生sql进行更新类操作

void execSQL(String sql);  执行无参的sql

void execSQL(String sql,Object[] bindArgs);执行带参数的sql

//DBHelper是自定义类,继承了SQLiteOpenHelper
        DBHelper dbHelper = new DBHelper(this,"ccshxt.db",null,1);
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        db.execSQL("delete from student");
        db.execSQL("insert into student(name,age) values(?,?)",new Object[]{"张三",22});
        db.close();

原生sql进行查询类操作

Cursor rawQuery(String sql,String[] selectionArgs) 执行带参数的select语句;

 String sql = "SELECT * FROM student WHERE _id > ?";
        Cursor cursor = db.rawQuery(sql,new String[]{"4"});
        while (cursor.moveToNext()){
            Log.d(TAG, "name : "+cursor.getString(cursor.getColumnIndex("name")));
        }
时间: 2025-01-12 06:26:30

SQLite的使用(一):简介及原生SQL操作数据库的相关文章

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect

#-----原理 Hibernate 运行期获得Dialect 2010-07-28 12:59:58|  分类: 软件开发 |举报 |字号 订阅 String dialect = ((SessionFactoryImpl) session.getSessionFactory()).getDialect() .getClass().getName(); //     //org.hibernate.dialect.MySQLDialect 如果是spring + hibernate则可以: St

Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库

1.首先简单介绍一下我们的数据库,thinkphp数据库下有一个tp_user表,然后有四个字段....id,username,password,sex 我们今天的任务就是在Thinkphp下将数据调出来.(增删查改) <?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { public function select(){ /*这是从数据库里读取数据 * 有select();find();getfield()三种方法 //$m=

sql操作数据库结构

1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型 ALTER TABLE table_name ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名 EXEC sp_rename '[dbo].[Table_1].[filedName1]', 'filedName2', 'COLUMN

Django框架08 /聚合查询、分组、F查询和Q查询、执行原生sql、设置 sql_mode

目录 Django框架08 /聚合查询.分组.F查询和Q查询.执行原生sql.设置 sql_mode 1.聚合查询 2.分组 3.F查询和Q查询 4.执行原生sql(了解) 5.展示sql的 6.设置 sql_mode Django框架08 /聚合查询.分组.F查询和Q查询.执行原生sql.设置 sql_mode 1.聚合查询 aggregate(*args, **kwargs) aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典.键的名称是聚合值

Hibernat 原生SQL运行结果集处理方法

hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的. Session.createSQLQuery(); 使用list()方法可以把Session.createSQLQuery()的结果集处理成List返回,将返回一个Object数组(Object[])组成的List,数组每个元素都是CATS表的一个字段值.Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型. 如果要避免过多的使用ResultSetMetadata,或者只是为了

Hibernate原生sql的查询,返回结果设置到DTO

原生sql的查询,返回结果设置到DTO: Query query = sessionFactoryRtData.getCurrentSession().createSQLQuery(hql.toString()).setResultTransformer(Transformers.aliasToBean(RTDataAttrDto.class));

entityframework学习笔记--009-使用原生sql语句操作数据

1 使用原生SQL语句更新--Database.ExecuteSqlCommand 假设你有一张如图9-1所示的Payment数据库表. 图9-1 1.1 实体类型: 1 public class Payment 2 { 3 public int PaymentId { get; set; } 4 public decimal Amount { get; set; } 5 6 public string Vendor { get; set; } 7 } 1.2 数据访问类: 1 public c

Hibernate5.2之原生SQL查询

Hibernate5.2之原生SQL查询 一. 介绍  在上一篇博客中笔者通过代码的形式给各位读者介绍了Hibernate中最重要的检索方式--HQL查询.在本博文中笔者将向各位读者介绍Hibernate中的原生SQL查询,虽为原生SQL查询,但是笔者认为Hibernate在针对不同的数据库在分页语句的处理上做的很不错,我们不用去关心使用的是何种的数据库.本博文会沿用<Hibernate5.2之HQL查询>中的POJO类和配置文件,请各位看官在阅读本博文之前请先阅读该文章,本篇文章会将HQL中

Hibernate的HQL和原生SQL返回简单对象

最近跟了一个技术经理,他有个要求就是所有的查询比结果都必需是对象,不是是map之类的,而且有很多对象的是很多实体相联合组成的对象,所有又专门研究了hibernate返回对象的知识 这次讨论的对象都是组合对象,就是很多实体相关联,取他们一部分字段的组合对象, Hql 首先扩展的对象 package com.hfview.bean; import java.util.ArrayList; import java.util.List; public class PersonEx { private S