数据库的学习
一、学习笔记
1、COUNT(*)与GROUP BY的使用:
COUNT(*)记录数据总和。
GROUP BY对数据进行分组。在SELECT语句中,GROUP BY子句放在WHERE子句之后,放在ORDER BY子句之前。
代码:SELECT CPU型号 ,count(*) FROM Content GROUP BY CPU型号 ORDER BY count(*) DESC
查询结果:
COUNT(*)列为该CPU的手机一共有多少个。
参考链接:
https://blog.csdn.net/lengyuezuixue/article/details/79219402
2、OEDER BY的使用:
ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。
代码:select 名称,cpu型号,PageUrl from Content where cpu型号='' order by 名称;
查询结果:
3、DISTINCT的使用:
DISTINCT子句与SELECT语句一起使用,用来消除所有重复记录,并仅获取唯一记录。当在表中有多个重复记录时可使用它来过滤重复的记录。
代码:SELECT DISTINCT "CPU型号" FROM CONTENT
查询结果:
问题:想查看合并了一共多少项于是更改代码为:SELECT DISTINCT "CPU型号" COUNT(*) FROM CONTENT
4、LIMT的使用:
LIMIT 子句用于限制由 SELECT 语句返回的数据数量。其中LIMIT 3 OFFSET 2的意思是说在查询结果中以第2条记录为基准(包括第2条),取3条记录,这样所取得的记录即为第2条记录到第5条记录。
代码:select 名称,CPU型号,count(*) FROM Content GROUP BY "CPU型号" ORDER BY count(*) DESC LIMIT 3 OFFSET 2
查询结果:
参考链接: https://blog.csdn.net/rhljiayou/article/details/7945039
二、思考题
1、将一个表的数据提取出来导入另一个表中?
过程:
第一步在在要复制的表上点右键选择转储SQL文件。如果只想导出结构选择仅结构,如果数据和结构都想导出选择结构和数据。这里以结构和数据都储存为例。(仅结构同理)。
选择保存的地址。
以记事本的格式打开
打开后的样子:
将内容复制到查询框:
点击运行即可。若要在同一包中记得将表明全部修改。以图为例即将表中的Conten全部修改。
2、查询规定行数范围的数据
LIMIT 子句用于限制由 SELECT 语句返回的数据数量。其中LIMIT 3 OFFSET 2的意思是说在查询结果中以第2条记录为基准(包括第2条),取3条记录,这样所取得的记录即为第2条记录到第5条记录。
代码:select 名称,CPU型号,count(*) FROM Content GROUP BY "CPU型号" ORDER BY count(*) DESC LIMIT 3 OFFSET 2
查询结果:
参考链接: https://blog.csdn.net/rhljiayou/article/details/7945039
3、查找名称中前两个字为“华为”的有多少条:
代码:SELECT 名称 FROM Content WHERE 名称 GLOB '华为*'
查询结果:
补充:
Glob匹配字句
SQLite 的 GLOB 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,GLOB 运算符将返回真(true),也就是 1。与 LIKE 运算符不同的是,GLOB 是大小写敏感的,对于下面的通配符,它遵循UNIX 的语法。
星号 (*)
问号 (?)
星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。
下面一些实例演示了 带有 '*' 和 '?' 运算符的 GLOB 子句不同的地方:
参考链接:http://blog.itpub.net/16900201/viewspace-1291550/