存储过程:The stored procedure 结构 CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE stored_procedure_name ([proc_parameter[,...]]) [characteristic ...] routine_body proc_parameter(参数列表): [ IN(输入参数) | OUT(输出参数) | INOUT(即可输入也可输出) ] param_name(参数名称) type(…
这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` INT(11); DECLARE `@createSql` VARCHAR(2560); DECLARE `@createIndexSql1` VARCHAR(2560); DECLARE `@createIndexSql2` VARCHAR(2560); DECLARE `@createIndex…
创建随机字符串函数,便于创建名称 DROP function if EXISTS rand_string; #创建一个指定字符个数的函数 create function rand_string(n INT) #返回字符串,注意:此处关键字是returns 而不是return returns varchar(255) BEGIN #定义一个临时变量,给变量赋值'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' DECLARE chars_s…
一.概述 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集.其存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. 存储过程是数据库中的一个重要对象. 二.存储过程的特点 能完成较复杂的判断和运算 可编程行强,灵活 SQL编程的代码可重复使用 执行的速度相对快一些 减少网络之间的数据传输,节省开销     三.创建一个测试数据的存储过程 delimiter $$creat…
打开navicat连接上数据库,然后打开左上角函数,新建一个函数. BEGIN DECLARE i int; --声明变量 DECLARE groupid int; set i=LAST_INSERT_ID(); --拿到最后一个插入的id,避免id冲突 do --插入数据的多少 ; --随机函数 RAND()生成的是0~1之间的小数,乘以多少就可以放大多少倍,如起点不是0,则加上起点数 如20~80:RAND()*60+20 INSERT INTO `crm_project_list`(pro…
BEGIN DECLARE strClear VARCHAR(256); DECLARE done INT DEFAULT 0; #定义游标 DECLARE curOne CURSOR FOR select concat('truncate table ',table_name,';') from information_schema.TABLES where table_schema='test'; #绑定控制变量到游标,游标循环结束自动转为True DECLARE CONTINUE HAND…
设置一个定时任务:运行以下SQL -- 创建一个表test:字段endtime CREATE TABLE test (endtime DATETIME);   -- 创建函数 :向test插入endtime=当前时间 CREATE PROCEDURE test () BEGIN INSERT INTO test SET endtime = now(); END; -- 设置定时任务:每隔30分钟调用一次函数-test () CREATE EVENT SECOND ON COMPLETION PR…
需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作:若该字段不存在,则新增) 百度了n久,没有符合要求的例子,只有参考加自己琢磨,最终终于给弄出来了,以下是几个版本的更迭 第一版: DELIMITER $$ CREATE PROCEDURE insert_column() BEGIN FROM information_schema.columns WHERE table_schema='ltivalley' AND table_name='t_luck' AND column_…
mysql -uroot -p show databases; use scm; show tables; show procedure status; 其他命令: SHOW VARIABLES LIKE 'event_scheduler'; 看事件是否启动[用于定时执行时候检查] SET GLOBAL event_scheduler = ON; 命令行开启事件[如果没有开启就手动命令开启] SELECT HOST,USER,Event_priv FROM mysql.user; 本机权限 [执…
update ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 建议使用GRANT语句进行授权,语句如下: grant all privileges on *.* to root@'%' identified by "root"; --------------------------------------------------- GRANT SELECT,INSERT,UPDATE,DELETE,…