
没有系统学习过mysql,今日想查询前n条记录,习惯性的输入sqlserver的selecttop n的形式
语句,报错,一查,原来mysql通过limit可以实现相关
功能,而且功能更加强大,GOOD。以下是limit在mysql中的使用详解:语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字
参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。mysql>SELECT * FROM table LIMIT 5,10// 检索记录行 6-15 ,注意,10为偏移量//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:mysql>SELECT * FROM table LIMIT 95,-1// 检索记录行 96-last.//如果只给定一个参数,它表示返回最大的记录行数目:mysql>SELECT * FROM table LIMIT 5//检索前 5 个记录行 //也就是说,LIMIT n 等价于 LIMIT 0,n。-- 打开sql 执行记录功能
set global log_output='TABLE'-- 输出到表
set global log=ON -- 打开所有命令
执行记录功能general_log, 所有语句: 成功和未成功的.
set global log_slow_queries=ON -- 打开慢查询 sql 记录
slow_log, 执行成功的: 慢查询语句和未使用索引的语句
set global long_query_time=0.1 -- 慢查询时间限制(秒)
set global log_queries_not_using_indexes=ON -- 记录未使用索引的sql 语句
-- 查询sql 执行记录
select * from mysql.slow_log order by 1 -- 执行成功的:慢查询语句,和未
使用索引的语句
select * from mysql.general_log order by 1 -- 所有语句: 成功和未成功的.-- 关闭sql 执行记
评论列表(0条)