刚刚开年,风轻云淡。
昨天领导叫我用SQLite数据库写一个便签。于是,我便写了。
用数据库写便签,无外乎就是对数据库的增删改查的一些操作,UI界面随自己心意而定。
我今天主要也是说一些数据库的操作。话不多说,我们进入正题。
1.SQLite简介
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
二.SQLiteDatabase的介绍
Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。
SQLiteDatabase的常用方法
Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。
SQLiteDatabase的常用方法
创建数据库
创建数据库工具类
增删改查
创建数据库
构造方法创造数据库
super(context , "user" , null , 1);
参数一;上下文对象
参数二:数据库名称
参数三:游标工厂
参数四:当前数据库的版本
创建表
“create table 表名 (name verchar(20) ,age verchar(10) ,sex verchar(10))”
String sql = “create table 表名 (name verchar(20) ,age verchar(10) ,sex verchar(10))”
db.execSQL(sql);
创建数据库工具类
主要用来封装对数据的操作(增删改查)
声明数据库类的对象
声明数据库帮助类
public class MySqliteHelpe{
MySqlite mySqlite = null ;
SQLiteDatabase db = null ;
public MySqliteHelpe(Context context){
mySqlite = new MySqlite(context);
db = mySqlite.getReadableDatabase()
}
public void addUser(){
String sql = "insert info User__info (name , age) values ('coco' , '12')";
db.execSQL(sql);
}
public void findUser(){
String sql = "select * from user_info where name = ?";
Cursor cursor = db.rawQuery(sql , new String[]{"coco"});
cursor.moveToFirst();
while(cursor.isAfterLast){
String name = cursor.getString(cursor.getColumIndex("name"));
String age = cursor.getString(cursor.getColumIndex("age"));
cursor.maveToNext();
}
}
}
删除: delete from table1 范围 delete from user_info where name = 'coco' ;
更新: update table1 set filed1 = values where 范围
查找: select * from table1 where name =
数据库属于耗时操作
重点
数据库存储数据操纵流程
1,创建数据库:
创建一个类extends SQLiteOpenHelper 用构造方法创建数据库 创建表
2,创建数据库帮助类 主要封装对数据库的一些操作
public class
MySqliteHelp {
MySqlite mySqlite = null ; SQLiteDatabase db = null ; public MySqliteHelp(Context context ){ mySqlite = new MySqlite(context); db = mySqlite.getReadableDatabase();
}
|
创建数据库帮助类 主要用来封装对数据的操作(增删改查)
声明数据库类的对象 声明数据库帮助类
|
public void
addUser(String name){
String sql = "insert into user_info (name) values ('"+name+"')"; db.execSQL(sql); } /*
|
添加用户的方法 用到的语句
insert into 表名 (列名)values (‘“+传进来的数据+”’)
db.execSQL(sql) 这句话的意思应该是执行上一句话
|
public int
deleteUser(String name){
int sum = 0 ; ArrayList<String> arrayList = new ArrayList<>(); String sqq = "select * from user_info"; Cursor cursor = db.rawQuery(sqq , null); while(cursor.moveToNext()){ String user_name = cursor.getString(cursor.getColumnIndex("name")); arrayList.add(user_name); } cursor.close(); for(int i = 0 ; i<arrayList.size() ; i++){ String ss = arrayList.get(i).toString(); if(ss.equals(name)){ sum = 1; String sql = "delete from user_info where name = '"+name+"'"; db.execSQL(sql); break; } } return sum ; }
| |
public int
setUser(String name_on
,String name_off){
int sum = 0; ArrayList<String> arrayList = new ArrayList<>(); String sqq = "select * from user_info "; Cursor cursor = db.rawQuery(sqq , null); cursor.moveToFirst(); while(cursor.moveToNext()){ String ss = cursor.getString(cursor.getColumnIndex("name")); arrayList.add(ss); } cursor.close(); for(int i = 0 ; i<arrayList.size(); i++){ if(arrayList.get(i).toString().equals(name_on)){ sum = 1 ; String sql = "update user_info set name = '"+name_off+"' where name = '"+name_on+"'"; db.execSQL(sql); } } return sum ; } }
| |
public int
selectUser(String name){
int sum = 0 ; ArrayList<String> arrayList = new ArrayList<>(); String sql = "select * from user_info"; Cursor cursor = db.rawQuery(sql,null); cursor.moveToFirst(); while(cursor.moveToNext()){ String select_name = cursor.getString(cursor.getColumnIndex("name")); arrayList.add(select_name); } cursor.close(); for(int i = 0 ; i < arrayList.size(); i++){ if(arrayList.get(i).toString().equals(name)){ sum = 1; } } return sum ; }
| |
public
ArrayList<String>
findUser(){
String sql = "select * from user_info"; Cursor cursor = db.rawQuery(sql , null); cursor.moveToFirst(); ArrayList<String> arrayList = new ArrayList<>(); while(cursor.moveToNext()){ String name = cursor.getString(cursor.getColumnIndex("name")); arrayList.add(name); } return arrayList; }
|
附上GitHub地址:https://github.com/DingMr/NoteDemo
付出不一定有收获,你的点赞是我写下去的动力。