sql的基本语法
不区分大小写,唯一区分大小写的被单引号括起来的字符串值。
sqlite支持整型integer、长整型long、字符串varchar、浮点数float,但不支持布尔类型,布尔一般自动存成0或1.
要有主键
一般使用工具sqlite expert personal
-
创建数据库
sqlite3 DatabaseName.db
-删除表格
DROP TABLE IF EXISTS user_info;
-
创建表格
CREATE TABLE IF NOT EXISTS test.user_info (_id INTEGER PRIMARY KEY AUTOINCREMNET NOT NULL, name VARCHAR NOT NULL, age INTEGER NOT NULL, height LONG NOT NULL, weight FLOAT NOT NULL,married INTEGER NOT NULL,update_time VARCHAR NOT NULL);
-
修改表格
sqlite 只支持增加字段,不支持修改字段,也不支持删除字段ALTER TABLE user_info ADD COLUMN phone VARCHAR;
-
操作数据(增删改查)
-
添加记录 insert
INSERT INTO user_info (name,age,height,weight,married,update_time) VALUES ('zhangsan',20,170,29,0,'20221109');
-
删除记录 delete,查询条件可以通过'and'、 'or' 连接
DELETE FROM user_info WHERE name="zhagnsan";
-
修改记录 update tablename set ... where ....
UPDATE user_info SET married=1 WHERE name='zhangsan';
-
查询记录
SELECT name FROM user_info WHERE name='zhangsan'; SELECT * FROM user_info WHERE name LIKE '%san'
SELECT * FROM user_info WHERE name LIKE '%san' ORDER BY age ASC LIMIT 2 OFFSET 3; // 升序排列 取2条数据,偏移3条
-
数据库管理类SQLiteDatabase
它提供了操作数据库的api。常用的方法有3类:
- 管理类,用于数据库层面的操作。
openDatabase:打开指定路径的数据库
isOpen:判断数据库是否已打开;
close: 关闭数据库
getVersion: 获取数据库的版本号;
setVersion:设置数据库的版本号 - 事务类,用于事务层面的操作
beginTransaction: 开始事务;
setTransactionSuccess:设置事务的成功标志
endTransaction:结束事务。 - 数据处理类,用于数据表层面的操作。
execSQL:执行拼接好的sql控制语句;
delete:删除符合条件的记录
update:更新符合条件的记录;
insert:插入一条记录;
query:执行查询操作,返回结果集的游标;
rawQuery:执行拼接好的sql查询语句,返回结果集的游标。数据库帮助器类SQLiteOpenHelper
SQLiteOpenHelper是Android提供的数据库辅助工具,用于指导开发者进行SQLite的合理开发
使用步骤:- 新建一个继承自SQLiteOpenHelper的数据库操作类,重写onCreate和onUpgrade方法
- 封装保证数据库安全的必要办法
- 提供对表记录进行增删改查的操作方法。
实例一:创建删除数据库