您的位置:首页 > 数据库

SQL小结(二)

2015-05-29 21:48 330 查看
对查询分组后,使用聚集函数COUNT(*),以统计每个分组的行数目。星号表示对分组的所有列计数。

当需要过滤结果集中的数据group by语句在where语句之后运行,所以用having过滤条件。

AVG()返回集合中的平均值;SUM()返回集合中的所有值的和;COUNT()返回集合中的个数;MIN()返回集合中的最小值;MAX()返回集合中的最大值。

当使用not in或<>运算符比较时,必须确保值集中不包含null值,(使用WHERE``` IS NOT NULL)否则将返回空集。

对于隐式分组,当SELECT语句中只包含聚集函数时,无需指定group by语句。当不只有聚集函数时,应指定group by语句。、

EXISTS语句用于简单查询子查询能否返回至少一行,而子查询一般只需用select 1或select *语句输入。

合理运用select语句和集合语句可以建立一个临时结果集。再将其运用到复合查询中。

date_add()函数将括号中的数字加上日期。

例:date_add('2009-01-01', INTERVAL (ones.num +```) DAY)

SET AUTOCOMMIT = 0(Mysql关闭自动提交单个语句模式),一旦离开了自动提交模式,所有的SQL命令都会发生在同一个事务的范围,并且必须显示地对事务进行提交或者回滚。(每次登陆时关闭自动提交模式,并养成在事务内运行SQL语句的习惯)MYSQL使用start transaction启动事务commit结束事务,rollback回滚事务。

对于mysql和sql server,数据库的修改,无论是增加一个新表或新索引还是删除某表中的一列,都不能被回滚。

创建事务保存点,SAVEPOINT name,并且回滚ROLLBACK TO SAVEPOINT name;COMMIT;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL sql