Code前端首页关于Code前端联系我们

mysqlite数据库的使用简单介绍 前言

terry 2年前 (2023-09-30) 阅读数 45 #Mysql
文章标签 Mysql

本文内容列表:

  • 1.如何安装和使用sqlite数据库,因为看完之后不知道要不要安装。
  • 2.如何使用sqlite数据库文件
  • 3、您好,我们也想使用MY SQL来实现数据库的增删改查。

如何安装和使用sqlite数据库,因为看完之后不知道该不该安装

无需安装SQLite数据库。

使用sqlite程序生成数据库文件。比如test.db(文件名自己设置,扩展名没有要求)

当然你的程序必须支持sqlite,比如配置中设置了php。

然后就可以在程序中调用sqlite函数来操作这个文件了。

如何使用sqlite数据库文件

在我的几个 Android 应用程序中,我需要访问现有数据库。这些数据库往往很大,甚至超过了资产文件大约 1 MB 的限制。并且数据库必须在新版本中更新。我看了网上的一些文章,特别是StackOverflow,并做了一些实验,感觉下面的代码基本满足了我的需求。

主要思想是:

1。将数据库分解为多个资产文件。

2。如果数据库不存在,需要打开数据库,请重新将资源文件合并为数据库文件。

3。当数据库版本发生变化时,在onUpgrade()方法中删除数据库文件。

代码是这样的:

//数据库的默认路径

private static FinalString DB_PATH = "/data/data/com.mypackage.myapp/databases/";

private static FinalString DB_NAME = " mydb.db";

私有静态finalint DB_VERSION = 2;

私有静态finalString DB_SPLIT_NAME = "mydb.db.00";

私有静态finalint DB_SPLIT_COUNT = 3;private SQLiteDatabasem_database;

private final Contextm_context;

/**

* 构造函数

* 存储输入的用于访问应用程序资产和资源文件的上下文参数。

* @param context

*/

public MyDB(Contextcontext) {

super(context, DB_NAME, null, DB_VERSION);

this.m_context} public static MyDBopenDatabaseReadOnly(Context context) ) {

MyDB db = new MyDB(context);

try {

db.createDataBase();

} catch (Exception/♝ e) TODO 自动生成的 catch 块

e .printStackTrace();

}

db.openDataBase(SQLiteDatabase.OPEN_READONLY);

返回db;❀上下文上下文){

MyDB db = new MyDB(context);

尝试{

db.createDataBase();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

db.openDataBase ( SQLiteDatabase.OPEN_READWRITE);

return db;

}❀}❀/保存现有数据库。

*/

public voidcreateDataBase() 抛出 IOException{

boolean dbExist =checkDataBase();

if (dbExist) {

/*

** 当你的数据库版本发生变化时,调用该方法可以保证调用onUpgrade()时,将

**传入写入的数据库中。

*/

SQLiteDatabase db =this.getWritableDatabase();

if (db != null) {

db.close();

}

}

} } checkDataBase();

if (!dbExist) {

你好,我们也想用MY SQL来实现数据库的增删改查

1。 ---数据库创建---

如果要对数据库进行增删改查,必须先创建数据库。 Android中的数据库使用sqlite。我们通过调用 SQLiteOpenHelper 类来创建数据库。的和可操作的。

[Java] 简单复印打印 看到了吗?请参阅代码中的代码片段派生到我的代码片段包 com.iigt.crud;

import android.content.Context;

import android.database.sqlite。 SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MySqlite extends SQLiteOpenHelper {public MySqlite(Context context) {

//context:上下文,name:数据库文件名factory:用于创建游标对象,默认为null //version:数据库的版本号,从1开始,如果改变则调用onUpgrade方法。 4.0以后只能升级不能 super(Context, "info.db", null,1);

}

//第一次创建数据库时会调用oncreate方法;特别适合初始化表结构,必须执行sql语句; SQLiteDatabase db 可用于执行sql语句 @Override

public void onCreate(SQLiteDatabase db) { // 通过SQLiteDatabase执行sql语句创建表 db.execSQL("创建表 info(_id 整型主键自增, name varchar(20), Phone varchar(11))"); }

//只有数据库版本号发生变化时才执行onUpgrade;特别适合表结构的改变 @Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //添加phone字段

//db.execSQL("alter table info add phone varchar( 11) ");}

}

2. ---操作类---

定义了数据库之后,我们就定义我们使用的有一个函数,它是在数据库中存储数据的,我们通常称之为DAO函数。不过,在定义DAO函数之前,必须先定义一个bean类,否则你想要操作的数据将无法获得。下面是bean和DAO。

[java] plain copy print?查看 CODE 上的代码片段 派生到我的代码片段包 com.iigt.bean;

public class InfoBean {

public String name;

public String Phone;

}

DAO的代码如下:

[Java] 看到简单的copy print了吗?查看代码片段 派生到我的代码片段包 com.iigt.dao;

import android.content .Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;导入 com.iigt.bean.InfoBean;

导入 com.iigt.crud.MySqlite;

公共类 InfoDao {

private MySqlite mySqliteOpenHelper;

public InfoDao(Context context){

//创建Helper类对象

mySqliteOpenHelper = new MySqlite(context);}

//调用方法 getReadableDatabase '创建数据库 SQLiteDatabase db = mySqliteOpenHelper.getWritableDatabase(); //sql:sql语句,bindArgs:sql语句中占位符的值 db.execSQL("Info(name,phone)values(?,?);", new Object[]{bean.name,bean .phone } );//关闭数据库对象

db.close();

}

public void del(Stringname){

SQLiteDatabase db = mySqliteOpenHelper.c(ReadableQdb.exe); ("从信息中删除 name=?;", new Object[]{name});db.close();

}

public void update(InfoBean Bean){

SQLiteDatabase db = mySqliteOpenHelper. getReadableDatabase();db.execSQL("更新信息集phone=? where name=?;", new Object[]{bean.phone,bean .name});db.close();

}

public void query(String name){

//执行Sql语句需要sqliteDatabase对象

//调用getReadableDatabase方法创建数据库 SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase(); //sql:sql语句,SelectionArgs:查询条件占位符值,返回游标对象 Cursorcursor = db.rawQuery("select _id, name,phone from info where name = ?;", new String[] { name }); //解析游标中的数据

if(cursor != nullcursor.getCount() 0){//判断游标中是否有数据 //循环结果集,获取每一行的内容

while(cursor.moveToNext()){ //条件光标能否定位到下一行 //获取数据

int id =cursor.getInt(0);

String name_str =cursor.getString( 1);

String 电话=cursor.getString(2);

System.out.println("_id:"+id+";姓名:"+name_str+";电话:"+电话);}

cursor.close();//关闭结果集

}

//关闭数据库对象

db.close();

}

}

3. --- 操作接口 ---

定义操作数据库的操作接口。操作界面包括添加、删除、修改、查询。 2"

android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizo​​ntal_margin" android:paddingRight="@dimen/activity_horizo​​ntal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical_margin" 工具:上下文=".MainActivity"

按钮

android:id="@+id/bt_add"

android:layout_width="fill_parent"

android:layout_height="wrap_content"android :text="@字符串/添加" /

按钮

android:id="@+id/bt_del"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text= “@string/del”/

按钮

android:id="@+id/bt_update"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android: text="@string/update" /

按钮

android:id="@+id/bt_query"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/query" /

/LinearLayout

IV. ---主要功能---

(1) 创建布局界面,包含“添加、删除、修改检查”4个控件。

(2)获取这四个控件,根据每个控件的ID判断点击的是哪个事件(3)如果判断点击的是add事件,则应该添加,所以必须调用add函数(4)必填首先创建一个javabean及其操作类DAO(5)dao是向数据库添加数据,创建并初始化数据库(6)在dao类中定义对数据库的增、删、改、查询方法【Java】】参见“简单复印打印”?查看代码片段:派生到我的代码片段包 com.iigt.crud;

导入 android.app.Activity;

导入 android.content.Context;

导入 android.database。 sqlite.SQLiteDatabase;导入android.os.Bundle;

导入android.view.View;

导入android.view.View.OnClickListener;导入com.iigt.bean.InfoBean;

导入。道.infodao;

导入com.adddlatabase。 *;

prublic class Inactivity extends Activity Implicistener(savedInstanceState);

setContentView(R.layout.activity_main);

mContext = this;

//创建Helper类对象

Mysqlite mysqliteophelohelpere = new mysqlite(mcontext) 调用可怕的 datdatatable 方法) .setonclickere(this) ;findViewById(R.id.bt_del).setOnClickListener(this);findViewById(R.id.bt_update).setOnClickListener(this);findViewById( R.id.bt_query).setOnClickListener(this);}

@Override

public void onClick(View v) {

InfoDao infoDao = new InfoDao(mContext);//创建Dao对象用于加法、删除、修改、请求切换(v.getId()) {

case R.id.bt_add :

InfoBean bean = new InfoBean();

bean.name = "张三";

bean.phone = "110";

infoDano.add(bean );

InfoBean bean1 = new InfoBean();

bean1.name = "李思";

bean1.phone = 120";

infoDao.add(bean1);;

case R. id.bt_del:

infoDao.del("张三");

infoDao.del("李四" );

break;

case R.. bt_update:

InfoBean bean2 = new InfoBean();

bean2.name = "张三";

bean2.phone = "119";

infoDao.update(bean2); ;

案例 R. id.bt_query:

infoDao.query("张三");

infoDao.query("李四");

break;

默认:

break;

}}

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门