数据库

--创建表                              主键

create table student(id integer PRIMARY KEY AUTOINCREMENT ,name varchar(20),age integer )

--主键  PRIMARY KEY

--自动增长  AUTOINCREMENT

--删除表

drop table student

--修改表的结构

alter table student add sex varchar(20)

--添加数据

insert into student (name,age) values ('shadan',18)

insert into student (name,age) values ('shabi',25)

--删除记录(where 条件)

--delete from student   全部删除

delete from student where name='shabi'

Android对象删除  SQLiteDatabase db = getWritableDatabase();

db.delete("TimeRecordTB", "Date = ?", new String[]{date});//由于date的数据中有空格 ,所有不能用sql的语句

db.close();

--修改(把shabi改为sibi)

update  student set name='sibi', age=58 where name='shadan'    (这是SQL语句修改)

Android对象用id修改name SQLiteDatabase db = getWritableDatabase();

ContentValues values = new ContentValues();

values.put("DisplayName",  contacts.getName());  db.update("ContactTB", values,"Id=?",new String[]{id});

--查询(*所以的字段)

select * from student

--查询多个字段

select name,age from student

--查询年龄为25的人

select * from student where age=18

--查询年龄25  name=shabi

select * from student where age=25 and name='shabi'

- 倒序读取  "select * from 表名 order by id desc"

- 读取所有   "select * from 表名"

- 删除所有  "delete from 表名"

- 删除      "delete from 表名 where 标识字段 = %s" 如果表标识字段中有空格,不能用语句来删除,用Android的数据库对象删

- 修改       "update 表名 set 被修改的字段=修改后的结果 where  标识字段 = %s"

- 类型一定要转成string类型保存

- false true是关键字 修改的时候要用 "\"" +false+"\""转成string

-

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

for (int i = oldVersion; i < newVersion; i++) {

switch (i) {

case 1:

onUpgradeToVersion2(db);

break;

case 2:

//                    onUpgradeToVersion3(db);

break;

case 3:

//                    onUpgradeToVersion4(db);

break;

case 4:

//                    onUpgradeToVersion5(db);

break;

case 5:

//                    onUpgradeToVersion6(db);

break;

}}}

@Override

public void onCreate(SQLiteDatabase db) {

/*

"create table if not exists 表的名字"

+"(Id integer primary key autoincrement," //id是自动增长的

+"字段名 varchar,"

+"字段名 varchar)";

*/

String Contact = "create table if not exists ContactTB"

+ "(Id integer primary key autoincrement,"

+ "DisplayName varchar,"

+ "Number varchar,"

+ "Server varchar)";

db.execSQL(Contact);

//数据库更新版本

onUpgradeToVersion2(db);

}



private void onUpgradeToVersion3(SQLiteDatabase db) {

//表末添加尾字段

String Wang_1 = "ALTER TABLE WangchangTB ADD COLUMN Heheda VARCHAR";

String Wang_2 = "ALTER TABLE MeetingRoomTB ADD COLUMN Hehedani VARCHAR";

db.execSQL(Wang_1);

db.execSQL(Wang_2);

}

private void onUpgradeToVersion6(SQLiteDatabase db) {

//删除表

String s6 = "drop table if exists WangchangTB";

db.execSQL(s6);

}

private void onUpgradeToVersion5(SQLiteDatabase db) {

//表删除字段时,先根据原来的表创建一个临时的表(比原来的表少一个要删除的字段),并复制数据

//删除原来的表

//将临时的表名称改为原来的表

String wang5 = "create table MeetingRoomTBtow as select Id,RoomNumber,Compere,RoomMembers,MeetState from MeetingRoomTB";

String s1 = "drop table if exists MeetingRoomTB";

String s2 = "alter table MeetingRoomTBtow rename to MeetingRoomTB";

db.execSQL(wang5);

db.execSQL(s1);

db.execSQL(s2);

}

private void onUpgradeToVersion2(SQLiteDatabase db) {

//创建表,参会者的信息

String Attendance = "create table if not exists AttendanceTB"

+ "(Id integer primary key autoincrement,"

+ "meetNumber varchar,"

+ "name varchar,"

+ "isSpeaker varchar,"

+ "isOpenMicrophone varchar,"

+ "isOpenCamera varchar,"

+ "type varchar)";

db.execSQL(Attendance);

}

-数据库的操作


/*

增 ....这里的类型一定要转成string类型

*/

public synchronized  boolean addAttendance2db(AttendanceInfo attendanceInfo){

SQLiteDatabase db = getWritableDatabase();

ContentValues values = new ContentValues();

values.put("meetNumber", attendanceInfo.getMeetNumber());

values.put("name", attendanceInfo.getName());

values.put("isSpeaker", attendanceInfo.isSpeaker()+"");

values.put("isOpenCamera", attendanceInfo.isOpenCamera()+"");

values.put("type", attendanceInfo.isType()+"");

values.put("isOpenMicrophone", attendanceInfo.isOpenMicrophone()+"");

try {

db.insert("AttendanceTB", null, values);

} catch (Exception e) {

e.printStackTrace();

return false;

}finally {

db.close();

}

return true;

}

//增加整个集合

public synchronized boolean addAttendance2db(List list) {

SQLiteDatabase db = getWritableDatabase();

ContentValues values = new ContentValues();

try {

for(AttendanceInfo attendanceInfo : list) {

values.put("meetNumber", attendanceInfo.getMeetNumber());

values.put("name", attendanceInfo.getName());

values.put("isSpeaker", attendanceInfo.isSpeaker()+"");

values.put("isOpenCamera", attendanceInfo.isOpenCamera()+"");

values.put("type", attendanceInfo.isType()+"");

values.put("isOpenMicrophone", attendanceInfo.isOpenMicrophone()+"");

db.insert("AttendanceTB", null, values);

}

} catch (Exception e) {

e.printStackTrace();

return false;

}finally {

db.close();

}

return true;

}

/**

* 删除参会者

*/

public synchronized boolean deleteAttendance2db(String number){

SQLiteDatabase db = getWritableDatabase();

try {

String sql = String.format("delete from AttendanceTB where name = %s", number);

db.execSQL(sql);

} catch (Exception e) {

e.printStackTrace();

return false;

} finally {

db.close();

}

return true;

}

/**

* 删除所有

*/

public synchronized boolean deleteAttendance2db(){

SQLiteDatabase db = getWritableDatabase();

try {

String sql = String.format("delete from AttendanceTB ");

db.execSQL(sql);

} catch (Exception e) {

e.printStackTrace();

return false;

} finally {

db.close();

}

return true;

}

//改

public synchronized boolean setMeetContactsInfo(MeetContacts contacts) {

SQLiteDatabase db = getWritableDatabase();

try {

String sql = String.format("update MeetContactsTB set State="+contacts.getStateTemp()+" where ContactsId="+contacts.getId());

db.execSQL(sql);

} catch (Exception e) {

e.printStackTrace();

return false;

} finally {

db.close();

}

//通知局部刷新

SMUIManager.instance().sendMessage(NotifyMessage.NOTIFY_ITEM_RANGE_CHANGED_CONTACTS, null);

return true;

}

/*

*根据联系人号码,查询联系人

*/

public synchronized MeetContacts findMeetContactInfo(String numberID) {

SQLiteDatabase db = getReadableDatabase();

Cursor cursor = null;

try {

String sql = String.format(Locale.getDefault(), "select * from MeetContactsTB where ContactsId="+numberID);

cursor = db.rawQuery(sql, null);

while (cursor.moveToNext()) {

MeetContacts meetContacts = new MeetContacts();

meetContacts.setName(cursor.getString(cursor.getColumnIndex("Name")));

meetContacts.setId(cursor.getString(cursor.getColumnIndex("ContactsId")));

return meetContacts;

}

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

try {

cursor.close();

} catch (Exception e) {

e.printStackTrace();

}

try {

db.close();

} catch (Exception e) {

e.printStackTrace();

}

}

return null;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容