zoukankan      html  css  js  c++  java
  • 学习笔记——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(转载)。

      

  • 相关阅读:
    I NEED A OFFER!
    水题 Codeforces Round #303 (Div. 2) A. Toy Cars
    模拟 HDOJ 5099 Comparison of Android versions
    模拟 HDOJ 5095 Linearization of the kernel functions in SVM
    贪心 HDOJ 5090 Game with Pearls
    Kruskal HDOJ 1863 畅通工程
    Kruskal HDOJ 1233 还是畅通工程
    并查集 HDOJ 1232 畅通工程
    DFS/并查集 Codeforces Round #286 (Div. 2) B
    水题 Codeforces Round #286 (Div. 2) A Mr. Kitayuta's Gift
  • 原文地址:https://www.cnblogs.com/mark0812/p/6113882.html
Copyright © 2011-2022 走看看