学习笔记——SQLite介绍

简介:Google为android的较大数据的处理提供了SQLlite, 他在数据存储、管理、维护、等各方面都相当出色功能也非常强大。

   

  1.创建数据库    

      Android 为了让我们能够更加方便地管理数据库,专门提供了一个SQLiteOpenHelper 帮助类,借助这个类就可以非常简单地对数据库进行创建和升级
    

        相关方法介绍

 1 package com.example.winxin2;
 2 
 3 import android.content.ContentValues;
 4 import android.content.Context;
 5 import android.database.Cursor;
 6 import android.database.sqlite.SQLiteDatabase;
 7 import android.database.sqlite.SQLiteDatabase.CursorFactory;
 8 import android.database.sqlite.SQLiteOpenHelper;
 9 
10 
11 public class DBAcitivity extends SQLiteOpenHelper{
12     
13     
14     public static final String CREATE_MESSAGE ="create table mess(" +
15             "id int primary key,"+
16             "tou1 varchar(30)," +
17             "userName varchar(30)," +
18             "lastMessage varchar(30)," +
19             "datetime varchar(30))"; 
20     
21     public DBAcitivity(Context context) {
22         super(context, "message.db", null, 1);      //super(上下文,数据库,游标,数据库版本)
23         
24     }
25 
26     //一般用于初始化,
27     @Override
28     public void onCreate(SQLiteDatabase db) {
29         db.execSQL(CREATE_MESSAGE);  //下面也可以加入sql语句
30     }
31 
32     //升级数据库版本时调用
33     @Override
34     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
35         // TODO Auto-generated method stub
36         
37     }
38     
39     
40     
41 }


调用在mainactivity.java代码如下

 1 public class MainActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         
 7         
 8         setContentView(R.layout.activity_main);
 9         
10        DBAcitivity dbc = new DBAcitivity(MainActivity.this);
11        dbc.getWritableDatabase();
12     }
13     
14    
15 }

 这就是一个简单的创建了一个message.db的数据库。

  

sqlliteDatabase增删改查的方法

    

(int) delete(String table,String whereClause,String[] whereArgs)
删除数据行的便捷方法

(long) insert(String table,String nullColumnHack,ContentValues values)
添加数据行的便捷方法

(int) update(String table, ContentValues values, String whereClause, String[] whereArgs)
更新数据行的便捷方法

(void) execSQL(String sql)
执行一个SQL语句,可以是一个select或其他的sql语句

(void) close()
关闭数据库

(Cursor) query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
查询指定的数据表返回一个带游标的数据集

(Cursor) rawQuery(String sql, String[] selectionArgs)
运行一个预置的SQL语句,返回带游标的数据集(与上面的语句最大的区别就是防止SQL注入)

如何使用 

    使用execSQL方式来实现 String sql = "insert into user(username,password) values ('Jack Johnson','iLovePopMuisc');    

    //插入操作的SQL语句 db.execSQL(sql);//执行SQL语句。   可以添加增删改查等sql语句

详细sqliteDatabase操作请http://www.2cto.com/kf/201306/218135.html(转载)。

  

原文地址:https://www.cnblogs.com/mark0812/p/6113882.html