前言部分
本文非原创 文章摘自:http://m.blog.csdn.net/blog/wsxzk123/17282325
数据库工具:MesaSQLite
一.创建数据库
1.创建数据库
MesaSQLite工具 File-NewDataBase 创建出新的数据库(Newdb.rdb),这里我要的是.db的文件,自己手动把文件名改为.db。
2.创建table
进入MesaSQLite,选中structure,
选中+增加一个表格(city)
也可以:createtable city (countryName varchar) 直接创建会覆盖掉原来的内容或者显示语法错误
或者用create table if not exists city(countryName varchar) 如果不存在就创建
例如 数据库名Newdb 表格名city
3.增加数据库表格中的字段
二.查找
1)、查找表达式
select Distinct from 数据表 where 查询条件 order by field ASC|DESC group by field having 条件表达式
2)、distinct:表示查询的字段去除重复数; 可以是 * 表示从查询数据表中的所有字段
也可以查找列 (多列用,号隔开比如
select
ppc_id, ppc_name from category as 'XX' 表示给该查询字段取一个别名。
3)、from,where,order by注意一点就是用模糊搜索的时候
“%建” 是查找 xxxx建的
“ 建%“是查找建xxxx的
”%建%“是查找含有建字的
排序用order by xx desc|asc
4)、group by、having
having count(*) > 1 表示过滤掉小于等于1
三.增删改
增加:insert
insertinto city (serial,name,cityID,cityAddress,level,amount)values(12,'苏州',103,'江苏省',1,10)
增加一列:
altertable countryadd abbreviation varchar
删除:delete 删除一列 (drop table)可以删掉某个表
原来的表格数据如上:
更改:update 例如: update cityset name = "大理" ,cityID = 106,cityAddress = '云南省'where name = '苏州' and cityAddress = '江苏省'and cityID = 103
原来的数据如上:
SQLite 有有限地 ALTER TABLE 支持。你可以使用它来在表的末尾增加一列,可更改表的名称。对列的删改、重命名操作,无法通过alter table的方式
只能通过一种间接的办法去做了,不管是重命名列还是删除列。
比如说你要修改的表名是A,方法步骤如下:
1.新建一个临时表T,这个T和表A具有相同的列。
2.把A中所有的数据都通过insert语句插入到T中
3.删除表A
4.新建表A,这时表A的列名就是你想要的结果,以前想修改的列名是什么,这时候就定义成什么,以前要删除的某个列,那么在定义的时候就不定义它。
5.恢复数据,把数据通过insert语句插入A,结构是insert into A select ... from tablen T
6.删除临时表T。
引擎会自动产生一个sqlite_sequence表,用于记录每个表的自增长字段的已使用的最大值,用户可以看到,并可以用使用Update、Delete和Insert操作,但不建议这么使用,这会让引擎混乱。如果使用rowid,也会有这么一个内部表,用户可以维护rowid值,但看不到。
MesaSQLite联表查询
先给出2个表单
方式1:inner join
格式为
from (((表1 inner join 表2 on 表1.字段号=表2.字段号) inner join 表3 on
表1.字段号=表3.字段号) inner join 表4 on 表1.字段号=表4.字段号) inner join 表5 on
表1.字段号=表5.字段号 where ......
select *from (cityinnerjoin countryon
city.abbreviation = country.abbreviation )where country.countryName = 'China'
选出的结果总包含了2个表的信息,select table
name,*from可以控制输出所需要的table信息
方式2:
left join
select *from cityleftjoin
countryon city.abbreviation = country.abbreviationwhere country.countryName = 'China'
方法3
多重select