| 关键词: nbsp 数据库 语句 values 数据 Teacher ContentValues SQLiteDatabase SQL 方法 |
在编程中经常会遇到数据库的操作,而Android系统内置了SQLite,它是一款轻型数据库,遵守事务ACID的关系型数据库管理系统,它占用的资源非常低,能够支持Windows/Linux/Unix等主流操作系统,同时能够跟很多程序语言如C#、PHP、Java等相结合.下面先回顾SQL的基本语句,再讲述Android的基本操作.一. adb shell回顾SQL语句 首先,我感觉自己整个大学印象最深的几门课就包括《数据库》,所以想先回顾SQL增删改查的基本语句.而在Android SDK中adb是自带的调试工具,它存放在sdk的platform-tools目录下,通过adb shell可以进入设备控制台,操作SQL语句.[html] view plaincopyG: cd G:\software\Program software\Android\adt-bundle-windows-x86_64-20140321\sdk\platform-tools adb shell cd /data/data/com.example.sqliteaction/databases/ sqlite3 StuDatabase.db .table .schema 如下所示我先创建了SQLiteAction工程,同时在工程中创建了StuDatabase.db数据库.输入adb shell进入设备控制台,调用"sqlite3+数据库名"打开数据库,如果没有db文件则创建. 然后如下图所示,可以输入SQL语句执行增删改查.注意很容易写错SQL语句,如忘记")"或结束";"导致cmd中调用出错.[sql] view plaincopy--创建Teacher表 create table Teacher (id integer primary key, name text); --向表中插入数据 insert into Teacher (id,name) values('10001', 'Mr Wang'); insert into Teacher (id,name) values('10002', 'Mr Yang'); --查询数据 select * from Teacher; --更新数据 update Teacher set name='Yang XZ' where id=10002; --删除数据 delete from Teacher where id=10001; 二. SQLite数据库操作 下面讲解使用SQLite操作数据库: 1.创建打开数据库 使用openOrCreateDatabase函数实现,它会自动检测是否存在该数据库,如果存在则打开,否则创建一个数据库,并返回一个SQLiteDatabase对象. 2.创建表 通过定义建表的SQL语句,再调用execSQL方法执行该SQL语句实现建立表.[java] view plaincopy//创建学生表(学号,姓名,电话,身高) 主键学号 public static final String createTableStu = "create table Student (" + "id integer primary key, " + "name text, " + "tel text, " + "height real)"; //SQLiteDatabase定义db变量 db.execSQL(createTableStu); 3.插入数据 使用insert方法添加数据,其实ContentValues就是一个Map,Key字段名称,Value值. SQLiteDatabase.insert( String table, //添加数据的表名 String nullColumnHack,//为某些空的列自动复制NULL ContentValues values //ContentValues的put()方法添加数据 );[java] view plaincopy//方法一 SQLiteDatabase db = sqlHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("id", "10001"); values.put("name", "Eastmount"); values.put("tel", "15201610000"); values.put("height", "172.5"); db.insert("Student", null, values); //方法二 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除 |