Android 数据库(2)-----SQLite使用
来源:互联网 发布:商场女装品牌推荐 知乎 编辑:程序博客网 时间:2024/04/24 05:52
SQLite 使用
1、SQLite的SQL语句
SQLite引擎和一般的client/service数据库管理系统不同,没有一个应用程序与之通信的独立进程。SQLite库连接到程序中,成为了程序的一部分,应用程序可以直接使用api访问SQLite的功能可以减少延迟(没有进程间通信)
SQL语句
1.创建数据库 sqlite3 name.db2.创建表 create [temp | temporary] table 表名 (字段1 类型 约束条件 , ... , 字段n 类型);SQLite数据类型有 Null , Integer ,REAL(浮点数) , TEXT(字符) , BLOB 约束条件有 NOT NULL(非空) , UNIUE(唯一),PRIMARY KEY(主键),FOREIGN KEY(外键),CHECH(条件检查),DEFAULT(默认值)create table stuents ( id integer primary key autoincrement, //主键 自动增长 name vchar(20) check(length(name) > 3), //条件检查名字字符大于3 tel_no vchar(11) not null unique, //不为空 ,电话号唯一 cls_id integer not null, // 班级号不为空);3.插入数据 insert into 表名 (字段列表) values(与字段列表对应的值)4.查询数据select [distinct] columns from table //distinct 去重 where predictatein //条件限制 group by columns having predicate order by columns //排序 limit count,offset; //数量限定select * from book limit 1 offset 2; //得到ID为3的数据select * from book where name like "l%" //找到名字以l开头的5.更新数据update table set update_list where predicate;update book set name='bean' where name='cat'; //名字为cat的数据改为bean6.删除数据delete from table where predicate
Linux下使用sqlite实践
chenqain@chenqain-PC:/home/sqlite/test$ sqlite3 book.db SQLite version 3.21.0 2017-08-03 15:50:10Enter ".help" for usage hints.sqlite> CREATE TABLE book (name text , age integer);sqlite> insert into book values('leo',18);sqlite> insert into book values('cat',18);sqlite> select * from book where name='leo';leo|18sqlite>
2.SQLite的使用
2.1创建数据库
Android提供了SQLiteOpenHelper,我们可以很方便的使用它来进行数据库的创建和升级
public class SQLDataBaseHelper extends SQLiteOpenHelper { private static final String TAG = "SQLDataBaseHelper"; //建表语句 public static final String CRATE_BOOK = "create table book(" + "id integer primary key autoincrement," + " author text," + "price real," + "pages integer," + "name text)"; //表的名字 public static final String NAME = "Book.db"; //@parm name 数据库名字 @parm version 版本号 @parm factory 设为null public SQLDataBaseHelper(Context context, String name, String factory, int version) { super(context, name, factory, version); } //当数据库不存在时执行 @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CRATE_BOOK) ; //创建数据库 Log.e(TAG, "onCreate: " + "create table ok" ); } //在升级时使用,只有改变版本号就会执行,在里面先drop掉前面的表然后创建新的表 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
2.2.CURD
SQLDataBaseHelper dbHelper = new SQLDataBaseHelper(this , "Book.db" , null , 1);//使用下面的方法当发现没有Book.db就会执行SQLDataBaseHelper的onCreate()方法创建出数据库SQLiteDatabase db = dbHelper.getWritableDatabase();
Create
/** *insert(String table, String nullColumnHack, ContentValues values) * @parm table 表名 * @parm values 数据的一个包装体 **/ SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name","a dog name bean"); values.put("author","leo"); values.put("price",12); values.put("pages",345); db.insert("Book",null,values);
Update
/** *update(String table, ContentValues values, String whereClause, String[] whereArgs * @parm table 表名 @value 要更新的值 * @parm whereClause 列名约束条件表达式 @parm whereArgs 具体约束值 */ SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("price",18); db.update("Book",values1,"author = ?",new String[]{"leo"});
Retrieve
SQLiteDatabase db3 = dbHelper.getWritableDatabase(); //查询了所有数据 Cursor cursor = db3.query("Book",null,null,null,null,null,null);
Delete
SQLiteDatabase db2 = dbHelper.getWritableDatabase(); db2.delete("Book","id = ?",new String[]{"1"});
阅读全文
0 0
- Android 数据库(2)-----SQLite使用
- Android 使用SQLite数据库
- Android 使用SQLite数据库
- Android 使用SQLite数据库
- Android使用SQlite数据库
- Android 使用SQLite数据库
- Android使用SQlite数据库
- Android 使用数据库SQLite
- Android SQLite数据库使用
- Android SQLite数据库使用
- Android 使用数据库 SQlite
- Android使用SQlite数据库
- Android-SQLite数据库使用
- Android使用SQLite数据库
- android sqlite数据库使用
- Android SQLite数据库使用
- SQLite数据库(2):ANDROID工程中的使用
- Android使用的SQLite数据库
- java实现分组算法,根据每组多少人来进行分组
- 机器学习入门-深度学习
- apk打包流程
- keras知识点笔记
- AC自动机
- Android 数据库(2)-----SQLite使用
- 深层次理解JNI中的GetArray<PrimitiveType>Elements()函数
- bashshell if read for while until 的使用
- 多因子模型之因子(信号)测试平台----计算因子值
- ubuntu python 安装遇到的坑
- ECMAScript
- 笔试常见算法小结
- 创建JAVASCRIPT对象3种方法
- 创建Zigbee Z-Stack 3.0.1 BSP(四)--移植UltraIot开发板LED