Mysql 常用收集

查看版本,当前时间
select version(),current_date;

select now();
显示当前服务器存在的数据库:
show databases;

访问数据库:
use database_name;

创建库:
create database database_name;

通过mysql命令登陆时进入某个库:
mysql -h host -u user -p database_name

显示所有表:
show tables;

查看表结构信息:
describe table_name;
mysql 日期函数:
curdate()    当前时间
YEAR(crudate())  提取日期的年部分
RIGHT(curdate(),5) 提取日期的MM-DD (日历年)部分的最右面5个字符

 

=======================================================================================================
1.创建存储过程。
2.创建事件(定时执行存储过程)。
举例,如有表STUDENT 字段有id、name、age、login_time(登录时间);
每30秒更新登录时间为当前时间。
(1)创建STUDENT表。
(2)创建存储过程pro_student:
begin
update STUDENT set login_time=now();
end
保存
(3)创建事件e_student
CREATE EVENT if not exists e_student
          on schedule every 30 second
          on completion preserve
     do call pro_student();
3.如果没有生效则查看event和事件任务是否开启:
查看event是否开启: show variables like ‘%sche%’;
将事件计划开启: set global event_scheduler=1;
关闭事件任务: alter event e_test ON COMPLETION PRESERVE DISABLE;
开户事件任务: alter event e_test ON COMPLETION PRESERVE ENABLE;
在创建作业时报以下错误,
在打开数据库时客户端提示“Cannot proceed because system tables used by Event Scheduler were found damaged at server start”
造成此原因是MySQL服务器的当前版本不兼容所有数据库的表
解决方法
1、linux、windows下解决方法类似
$PATH /mysql_upgrade -u root -p
例如:/usr/local/mysql/bin/mysql_upgrade – u root -p     [回车输入密码即可]

$PATH mysql安装路径  我这里是用的(D:\wamp\bin\mysql\mysql5.1.30\bin)

执行完后停止mysqld后再重新启动mysqld一次,问题即可解决。

==========================================================================================

1.show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name
显示某一个存储过程的详细信息

条件语句 3.循环语句 :while循环 loop循环 repeat until循环 repeat until循环

 
========================================================================================

三.日期时间类
ADDTIME (date2 ,time_interval ) //将time_interval加到date2
CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //转换时区
CURRENT_DATE (  ) //当前日期
CURRENT_TIME (  ) //当前时间
CURRENT_TIMESTAMP (  ) //当前时间戳
DATE (datetime ) //返回datetime的日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或时间
DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上减去一个时间
DATEDIFF (date1 ,date2 ) //两个日期差
DAY (date ) //返回日期的天
DAYNAME (date ) //英文星期
DAYOFWEEK (date ) //星期(1-7) ,1为星期天
DAYOFYEAR (date ) //一年中的第几天
EXTRACT (interval_name  FROM date ) //从date中提取日期的指定部分
MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串
MAKETIME (hour ,minute ,second ) //生成时间串
MONTHNAME (date ) //英文月份名
NOW (  ) //当前时间
SEC_TO_TIME (seconds ) //秒数转成时间
STR_TO_DATE (string ,format ) //字串转成时间,以format格式显示
TIMEDIFF (datetime1 ,datetime2 ) //两个时间差
TIME_TO_SEC (time ) //时间转秒数]
WEEK (date_time [,start_of_week ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分

posted @ 2012-06-29 00:40  赤脚大仙~  阅读(1039)  评论(0编辑  收藏  举报
View Code