标签归档:sql

mysql开启慢查询及常用mysql命令

  1. 查看是否开启慢查询命令:show variables like ‘%slow%’;
  2. 开启慢查询命令:set slow_query_log=’ON’;
  3. 设置慢查询语句的时间命令:set global long_query_time=2;
  4. 查看当前运行的语句命令:show full processlist;
  5. 查看表的索引命令:show index FROM table_name;
  6. 创建索引目录:ALTER TABLE table_name  ADD INDEX index_name (column_list);
  7. 查看执行计划命令:explain SELECT * FROM table_name where id = 10000;
  8. 导出:先进入mysql的文件夹 cd /usr/local/mysql/,再执行命令: mysqldump -u user -p dbname > dbname.sql,注意:user 代表用户名,dbname 代表数据库名称
  9. 查看某个数据库所有表的记录数:use information_schema;   select table_name,table_rows from tables where TABLE_SCHEMA = ‘dbname’;
  10. 启动mysql:service mysqld start (5.0版本是mysqld);service mysql start (5.5.7版本是mysql)
  11. 查看mysql的bin-log日志:show binary logs;
  12. 清理mysql的bin-log日志:如,清理mysql-bin.000018之前的日志:purge binary logs to ‘mysql-bin.000018’;
  13. 查看数据库某个表的引擎:show table status from db_name where name=’table_name’;
  14. 修改数据库某个表的引擎:alter table table_name engine=innodb;
  15. show status like ‘Handler_read%’;  注意:handler_read_key:这个值越高越好,越高表示使用索引查询到的次数; handler_read_rnd_next:这个值越高,说明查询低效

值得你收藏的网站

以下是个人整理的常用网站,希望对大家有帮助!

  1. CSDN:http://www.csdn.net/
  2. FineUI:http://fineui.com/
  3. Open资讯:http://www.open-open.com/
  4. jquery api:http://api.jquery.com/
  5. Bootstrap中文网:http://www.bootcss.com/
  6. 开源中国:http://www.oschina.net/
    继续阅读

采用sql over()方法获取最大值的记录

以下是摘自一位博友的文章:

–有id,name,createDate的一张表testTable
–根据name分组,获取每组中createDate最大的那条记录(整条)查询出来
———————————————-

创建一张表,语句如下:

  1. CREATE TABLE [dbo].[testTable]
  2. (
  3. [id] [intNOT NULL IDENTITY(1, 1),
  4. [name] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL,
  5. [counts] [intNULL,
  6. [createDate] [datetime] NULL
  7. )
  8. GO
  9. — Constraints and Indexes
  10. ALTER TABLE [dbo].[testTable] ADD CONSTRAINT [PK_testTable] PRIMARY KEY CLUSTERED ([id])
  11. GO

继续阅读

SQL Server 2005 中行列转换(Pivot 和 UNPivot的使用)

这是一位博友写的一篇博客,针对sql2005  系统提供两个新的关键字 PIVOT 和UNPIVOT可用来作此类操作.
语法规则
<pivot_clause> ::=
( aggregate_function ( value_column )
FOR pivot_column
IN ( <column_list> )
)
<unpivot_clause> ::=
( value_column FOR pivot_column IN ( <column_list> ) )
table_source PIVOT <pivot_clause>
指定基于 table_source 对 pivot_column 进行透视。table_source 是表或表表达式。输出是包含 table_source 中 pivot_column 和 value_column 列之外的所有列的表。table_source 中 pivot_column 和 value_column 列之外的列被称为透视运算符的组合列。
PIVOT 对输入表执行组合列的分组操作,并为每个组返回一行。此外,input_table 的 pivot_column 中显示的 column_list 中指定的每个值,输出中都对应一列。
有关详细信息,请参阅“备注”部分和使用 PIVOT 和 UNPIVOT。
aggregate_function
系统或用户定义的聚合函数。聚合函数应该对空值固定不变。对空值固定不变的聚合函数在求聚合值时不考虑组中的空值。
不允许使用 COUNT(*) 系统聚合函数。
value_column
PIVOT 运算符的值列。与 UNPIVOT 一起使用时,value_column 不能是输入 table_source 中的现有列的名称。

FOR pivot_column
PIVOT 运算符的透视列。pivot_column 必须属于可隐式或显式转换为 nvarchar() 的类型。此列不能为 image 或 rowversion。
使用 UNPIVOT 时,pivot_column 是从 table_source 中提取的输出列的名称。table_source 中不能有该名称的现有列。

继续阅读