!!mysql中单双反引号区别
反引号 `
反引号一般在Esc键的下方,和~在一起。它是为了区分MySQL的保留字与普通字符而引入的符号。
create table desc 报错
create table `desc` 成功
一般我们建表时都会将表名,库名都加上反引号来保证语句的执行度。
单引号 ’ 和双引号 “
在标准 SQL 中,字符串使用的是单引号。
如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义)。
MySQL对 SQL 的扩展,允许使用单引号和双引号两种。
1.更改结束符
delimiter $
2.创建存储过程
CREATE DEFINER=killcat
@%
PROCEDURE insert_agent_daysalary
(
IN i_user_id INT,
IN i_is_tester TINYINT,
IN i_username VARCHAR(20),
IN i_sparent_id INT,
IN i_parent VARCHAR(20),
IN i_forefathers VARCHAR(1024),
IN i_sdate DATE,
IN i_daysalary DECIMAL(11,2),
IN i_turnover DECIMAL(20,6),
IN i_team_turnover DECIMAL(20,6),
IN i_daysalary_percentage DECIMAL(4,1),
IN i_commission DECIMAL(20,6),
IN i_team_commission DECIMAL(20,6),
IN i_bet_commission DECIMAL(20,6),
IN i_team_bet_commission DECIMAL(20,6)
)
BEGIN
INSERT INTO chunqiupr
.user_daysalary
SET
user_id
=i_user_id,
is_tester
=i_is_tester,
username
=i_username,
sparent_id
=i_sparent_id,
parent
=i_parent,
forefathers
=i_forefathers,
sdate
=i_sdate,
daysalary
=i_daysalary,
created_at
=now(),
updated_at
=now(),
turnover
=i_turnover,
team_turnover
=i_team_turnover,
daysalary_percentage
=i_daysalary_percentage,
commission
=i_commission,
team_commission
=i_team_commission,
bet_commission
=i_bet_commission,
team_bet_commission
=i_team_bet_commission
on DUPLICATE KEY UPDATE
user_id
=i_user_id,
is_tester
=i_is_tester,
username
=i_username,
sparent_id
=i_sparent_id,
parent
=i_parent,
forefathers
=i_forefathers,
sdate
=i_sdate,
daysalary
=i_daysalary,
turnover
=i_turnover,
team_turnover
=i_team_turnover,
daysalary_percentage
=i_daysalary_percentage,
commission
=i_commission,
team_commission
=i_team_commission,
bet_commission
=i_bet_commission,
team_bet_commission
=i_team_bet_commission;
END;$
3.改回结束符
delimiter ;
4.查询存储过程是否建立成功
select ‘insert_agent_daysalary’ from mysql.proc where db
= ‘chunqiupr’ and type
= ‘PROCEDURE’;
select name from mysql.proc where db
= ‘chunqiupr’ and type
= ‘PROCEDURE’;
5.删除存储过程
drop PROCEDURE insert_agent_daysalary;