【查漏补缺】Python数据库条件查询、删除处理201~220

201.【查】利用as为字段指定别名的查询:select 字段1 as 别名1, 字段2 as 别名2 from 表名 where 条件;

说明:字段1 as 别名1,字段2 as 别名2这里的字段书写顺序将会是查询出来的字段的顺序。

202.【删】把数据从数据库中删除称为物理删除;把数据通过字段来标记是否删除而不是从数据库中删除,称为逻辑删除。

203.【删】delete from 表名删除整张数据表。delete from 表名 where 条件根据条件删除数据表中的数据。这都属于物理删除,极不推荐!

204.当字段的类型为bit类型时,bit表示一位,只能存储0或1。也可以扩大存储空间bit(2)表示2位,以此类推。

205.【查】可用表名.字段名查询:select 表名.字段1, 表名.字段2 from 表名 where 条件;

206.【查】利用as为”表”指定别名的查询:select 表别名.字段1, 表别名.字段2 from 表名 as 表别名 where 条件;

注意:一旦为表起了别名,则再用表名.字段名查询时,就只能用表的别名了。若强制使用表原名,则报错:不认识的表名!

207.【查】查询时去重:select distinct 字段1 from 表名 where 条件;

208.【查】模糊查询用字段 like 值或字段 rlike 正则%表示任意0个或多个。_表示1个。
select 字段1 from 表名 where 字段1 like 值;

209.【查】范围查询in或not in:非连续的where 字段 in (value1, value2, value3);;或where 字段 not in (value1, value2, value3);;

210.【查】在某个范围连续查用between...and...not between...and...,例如:where 字段 between value1 and value2;
或者where 字段 not between value1 and value2;;

注意不存在not (between...and...),这种写法报错!

211.【查】条件空判断:is null 或 is not null

212.【查】排序,默认按照主键升序排列。如果想要根据某字段升序或降序,则可以用:升序:where 条件 order by 字段1,字段2,字段3 asc;或降序:where 条件 order by 字段1,字段2,字段3 desc;

说明:order by 字段1,字段2,字段3会在字段1的值相同时按照字段2排序,以此类推,最后如果排序的一段的值都相同,则根据主键排序。

213.【查】符合条件的共计有几个select count(*) as 别名 from 表名 where 条件;

214.【查】select function(字段1或表达式) as 别名 from 表名 where 条件;这里的函数function()可以有:count()、max()、min()、avg()、round()

215.因为编译器一般都是c需要实现的,而c语言的小数是有误差的。所有带小数的值都是四舍五入的结果,也就是有误差。为了避免,我们可以在存值时先将数据放大100倍或1000、10000倍再去存储。因为整数是没有误差的。特别在银行,要特别注意这一点。

216.【查】分组:group by 字段。按某字段分组后,再查询就是在各个组中处理了。例如计算各个部门(department)有多少人:select department, count(*) from 表名 group by department;
再如,统计各个部门都有谁:select department, group_concat(name) from 表名 group by department;

217.分组后,就可以这么理解:把分组后的每一组看成一条记录。此时,select后面必须是唯一标记改组的才行,用分组的字段最靠谱,因为分组就是用该字段来进行的。
select department, group_concat(name) from 表名 group by department;

218.如果要从该组中获取更多信息,则要用:group_concat(字段1, 字段2, "其他描述文字也可以")group_concat()中写什么,最后会拼接在一起,所以为了最后结果更直观,我们可以根据实际情况加上其他描述文字。

219.having 条件用来对分组后的组进行条件过滤。select department, group_concat(name) from 表名 group by department having 条件;

220.where 条件是对表中的记录进行条件过滤;having 条件用来对分组后的组进行条件过滤,要注意两者之间不同。
select department, group_concat(name) from 表名 where 条件 group by department having 条件;

    原文作者:TensorFlow开发者
    原文地址: https://www.jianshu.com/p/4d976096a661
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞