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循环
========================================================================================