已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLite-数据库,数据库,SQL是StructuredQueryLanguage(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。,SQL能做什么?SQL面向数据库执行查询SQL可从数据库取回数据SQL可在数据库中插入新的记录SQL可更新数据库中的数据SQL可从数据库删除记录SQL可创建新数据库SQL可在数据库中创建新表SQL可在数据库中创建存储过程SQL可在数据库中创建视图SQL可以设置表、存储过程和视图的权限,操作的对象:表,数据存储在被称为表(tables)的数据库对象中。表是相关的数据项的集合,它由列和行组成。,一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。下面的例子是一个名为Persons的表:,上面的表包含三条记录(每一条对应一个人)和五个列(Id、姓、名、地址和城市)。您需要在数据库上执行的大部分工作都由SQL语句完成,语法,Select语句,SELECT语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。SQLSELECT语法SELECT列名称FROM表名称,选取所有列表项:SELECT*FROMPersons,Where子句,语法:SELECT列名称FROM表名称WHERE列运算符值,如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句。,如果只希望选取居住在城市Beijing中的人,我们需要向SELECT语句添加WHERE子句:SELECTFROMPersonsWHERECity=Beijing,INSERTINTO语句INSERTINTO语句用于向表格中插入新的行。,语法INSERTINTO表名称VALUES(值1,值2,.)我们也可以指定所要插入数据的列:INSERTINTOtable_name(列1,列2,.)VALUES(值1,值2,.),在指定列插入数据,Update语句Update语句用于修改表中的数据。,语法:UPDATE表名称SET列名称=新值WHERE列名称=某值,DELETE语句DELETE语句用于删除表中的行。,语法DELETEFROM表名称WHERE列名称=值,删除所有行可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETEFROMtable_name,Android的SQLite数据库,SQLite,是一款轻型的关系型数据库,它支持大多数SQL语法,本质上,SQLite的操作只是一种更为便捷的文件操作。在Android中用SQLiteDatebase代表数据库,一旦获取了SQLiteDatebase的实例对象,就可以管理,操作数据库了!有两种方法获取SQLiteDatebase的实例对象。,SQLiteDatebase操作数据库的基本方法,使用SQLiteDatabase的静态方法获取SQLiteDatabase实例,通过db我们就能操作数据库了。,Stringsql=createtableperson(_idintegerprimarykeyautoincrement,nameverchar(30),infoverchar(30);db.execSQL(sql);,查询数据:,Cursor-游标,Cursor是每行的集合。数据库的查询结果都封装在cursor中游标中使用moveToFirst()定位第一行。你必须知道每一列的名称。你必须知道每一列的数据类型。Cursor是一个随机的数据源。所有的数据都是通过下标取得。,Cursor重要方法,close()关闭游标,释放资源copyStringToBuffer(intcolumnIndex,CharArrayBufferbuffer)在缓冲区中检索请求的列的文本,将将其存储getColumnCount()返回所有列的总数getColumnIndex(StringcolumnName)返回指定列的名称,如果不存在返回-1getColumnIndexOrThrow(StringcolumnName)从零开始返回指定列名称,如果不存在将抛出IllegalArgumentException异常。getColumnName(intcolumnIndex)从给定的索引返回列名getColumnNames()返回一个字符串数组的列名getCount()返回Cursor中的行数moveToFirst()移动光标到第一行moveToLast()移动光标到最后一行moveToNext()移动光标到下一行moveToPosition(intposition)移动光标到一个绝对的位置moveToPrevious()移动光标到上一行,Cursor,插入语句db.execSQL(“insertintopersonvalues(null,?,?)”,newString“李白”,”是个诗人”);,删除语句db.execSQL(“deletefrompersonwherenamelike?”,newString“李白”);,更新语句db.execSQL(updatepersonsetname=?,info=?wherename=?,newString“协同”,”工作室”,“李白”);,Adroid即支持直接执行SQL语句,也可利用一些封装好的方法操作数据库,本质是一样的。,使用Android为我们提供的方法操作数据库,这对数据库的语法要求较低。,插入数据的方法:,更新数据的方法:,删除数据的方法:,SQLiteOpenHelper,SQLiteOpenHelper是Android提供的管理数据库的工具类,用于对数据库的创建和版本更新。该类同样也能提供一个SQLiteDatebase来操作数据库。1.创建一个SQLiteOpenHelper子类。2.在该子类重写onCreat()方法,onUpgrade()方法。3.在Activity中实例化该子类,即可调用。4.通过实例化该子类得到SQLiteDatebase对象,SQLiteOpenHelper,publicclassContactDBHelperextendsSQLiteOpenHelper/*重写三个这三个函数:*publicContactDBHelper(Contextcontext,Stringname,CursorFactory*factory,intversion)*publicvoidonCreate(SQLiteDatabasedb)*publicvoidonUpgrade(SQLiteDatabasearg0,intarg1,intarg2)*/,在Activity中实例化一个该SQLite
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木门及门框施工方案(3篇)
- 楼梯浇筑后施工方案(3篇)
- 汛期专期施工方案(3篇)
- 溪谷采摘活动策划方案(3篇)
- 监控摄像电源施工方案(3篇)
- 秋季饮食活动方案策划(3篇)
- 纯土回填施工方案(3篇)
- 营销人员面试准备方案(3篇)
- 设备公司营销方案策划(3篇)
- 转运土方的施工方案(3篇)
- 搬运无损伤地面施工方案
- 城市供水管网工程施工方案
- DB36∕T 1926-2023 井冈蜜柚采后商品化处理技术规程
- 内瘘静脉狭窄个案护理
- 长郡集团2025年上期初三期末考试历史试卷
- 草原防火宣传课件
- (零诊)成都市2023级(2026届)高中毕业班摸底测试英语试卷(含答案)
- 2025年中海油招聘笔试参考题库附带答案详解
- 2025年全国新高考I卷高考全国一卷真题英语试卷(真题+答案)
- 实验室认证质量管理制度
- 合同转包协议书范本
评论
0/150
提交评论