安卓开发之sql语句增删改查
package com.lidaochen.phonecall; import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class MyOpenHelper extends SQLiteOpenHelper { /**
*
* @param context 上下文
* name:数据库的名字
* factory 目的创建cursor对象
*
* version 数据库的版本 从1开始
*/
public MyOpenHelper(Context context)
{
super(context, "liDaochen.db", null, 4);
} /**
* Called when the database is created for the first time.
* 当数据库第一次创建的时候调用
* 那么这个方法特别适合做表结构的初始化 创建表就是写sql语句
*/
@Override
public void onCreate(SQLiteDatabase db)
{
// id 一般以_id
db.execSQL("create table info(_id integer primary key autoincrement,name varchar(20),phone varchar(20))");
} /**
* Called when the database needs to be upgraded
* 当数据库版本升级的时候调用
*
* 这个方法适合做 表结构的更新
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVwesion)
{
db.execSQL("alter table info add phone varchar(20)");
}
}
package com.lidaochen.phonecall; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View; public class MainActivity extends AppCompatActivity{
private MyOpenHelper myOpenHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myOpenHelper = new MyOpenHelper(getApplicationContext()); } // 打开或者创建数据库 如果是第一次就创建
// SQLiteDatabase db = myOpenHelper.getWritableDatabase();
// 打开或者创建数据库 如果是第一次就创建 如果磁盘满了就返回只读的
// SQLiteDatabase sqLiteDatabase = myOpenHelper.getReadableDatabase() // 点击按钮增加一条记录
public void add(View v)
{
// 获取数据库对象
SQLiteDatabase db = myOpenHelper.getWritableDatabase();
// 执行增加一条sql语句
db.execSQL("insert into info(name,phone) values(?,?)", new Object[]{"张三", "13888888"});
// 数据库用完需要关闭
db.close();
}
// 删除
public void delete(View v)
{
// 获取数据库对象
SQLiteDatabase db = myOpenHelper.getWritableDatabase();
// 执行删除一条sql语句
db.execSQL("delete from info where name=?", new Object[]{"张三"});
// 数据库用完需要关闭
db.close();
}
// 更新
public void update(View v)
{
// 获取数据库对象
SQLiteDatabase db = myOpenHelper.getWritableDatabase();
// 执行删除一条sql语句
db.execSQL("update info set phone=? where name=? ", new Object[]{"138888888", "张三"});
// 数据库用完需要关闭
db.close();
}
// 查找
public void find(View v)
{
// 获取数据库对象
SQLiteDatabase db = myOpenHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("select * from info", null);
if (cursor != null && cursor.getCount() > 0)
{
while (cursor.moveToNext())
{
// columnIndex代表列的索引
String name = cursor.getString(1);
String phone = cursor.getString(2);
System.out.println(name + ": " + phone);
}
}
}
}
安卓开发之sql语句增删改查的更多相关文章
- 安卓开发之sql语句增删改查2(利用谷歌封装好的API进行增删改查)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, nam ...
- sql语句增删改查(转)
一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例 ...
- sql语句增删改查(方便你我Ta)
又自学,把SQL的一些常用语句复习了一遍. 整理如下: 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strde ...
- SQL 语句(增删改查)
一.增:有4种方法1.使用insert插入单行数据: --语法:insert [into] <表名> [列名] values <列值> 例:insert into Strden ...
- sql语句增删改查与子查询
修改表 修改表 语法: Alter table <旧表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02 ...
- 详解数据库引擎与SQL语句增删改查(非常详细,带例)
数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...
- 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)
SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...
- 基本 SQL 之增删改查(一)
上篇文章,我们介绍了数据的基本 DDL 语句,你应当具备基本的创建数据库.数据表的 SQL 语句,以及表字段的基本数据类型的熟知. 那么本篇就来总结总结大家日常最频繁接触到的 DDM 语句,也就是基本 ...
随机推荐
- JAVA 基础编程练习题23 【程序 23 求岁数】
23 [程序 23 求岁数] 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁.问第 4 个人岁数,他说比第 3 个 人大 2 岁.问第三个人,又说比第 2 人大两岁.问第 ...
- CDH集群部署hive建表中文乱码
背景:部署CDH集群的 hive 服务,选用 mysql 作为 hive 元数据的存储数据库,通过 hive cli 建表时发现中文注释均乱码. 现象:hive端建表中文注释乱码. 定位: 已经确认过 ...
- 配置Xmanager远程登录
1.修改/etc/gdm/custom.conf文件找到下面的语句:[security]AllowRemoteRoot=true[xdmcp]Enable=true修改custom.conf后,必须重 ...
- opengl读取灰度图生成三维地形
准备第三方库 glew.freeglut.glm.opencv 准备灰度图片和草地贴图 最终效果 代码包括主程序源文件mainApp.cpp.顶点着色器shader.vs.片元着色器shader.fs ...
- Re0:在 .NetCore中 EF的基本使用
整理一下目前在用的EFCore 记得好像是因为懒得写sql,于是开始试着用EF 先根据数据库生成一个好东西,嗯 Scaffold-DbContext "Data Source=localho ...
- numpy中np.random.seed()的详细用法
在进行机器学习和深度学习中,我们会经常用到np.random.seed(),利用随机数种子,使得每次生成的随机数相同. numpy.randn.randn(d0,d1,...,dn) randn函数根 ...
- manjar 搭建aria2c下载器
从添加或删除软件管理程序里安装 aria2. 在一个地方创建一个文本文件,名为 「aria2.conf」 : rpc-user=我是用户名 rpc-passwd=我是密码 enable-rpc=tru ...
- idea查看源码没有注释的问题
进入idea的设置 勾选这两个 然后重新导入 页面的右上角有个下载download source的提示,点击下载即可 然后页面就要源码注释了
- 33.TCP协议概念/scapy模块doos攻击
TCP协议概念/scapy模块: 1,TCP/IP四层协议: 2,TCP数据包的构成: TCP FLAGS:TCP数据包标志位 U:URG,紧急比特 A:ACK,确认比特 P:PSH,推送比特 S:S ...
- NOIP 2015:信息传递
题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日.之后每一 ...