与MySQL存储过程中的基本功能和触发器有关的学习课程

与MySQL存储过程中的基本功能和触发器有关的学习课程
mysql存储过程的常用功能

第一.字符串类

字符集(STR) / /返回字符集

concat(string2 {,}…)/连接字符串

仪器(字符串,字符串) / /返回子字符串第一次出现在字符串中的位置,是没有回报的0

1例(string2) / /转换为小写

左(string2,长度) / /长度的字符string2在左

长度(字符串)字符串长度

load_file(file_name) / /从文件中读取

定位(子字符串,字符串{,start_position })是可以相同,但可以指定起始位置

负载(string2,长度,垫) / /重复垫加在字符串的开头,直到字符串的长度

LTrim(string2) / /删除前面的空间

重复(string2,计数) / /重复计数时间

取代(STR,search_str,replace_str) / /替换search_str STR在replace_str

RAPD(string2,长度,垫) / / STR的垫,直到长度

RTrim(string2) / /拆卸后的空间

strcmp(string1和string2) / /两字符串大小特征的比较,

子串(STR,位置{长}) / / STR由于位置、长度的字符,

注意:当字符串在MySQL中处理时,默认的第一个字符下标为1,即参数位置必须大于等于1。

MySQL >选择子串('abcd,0,2);
----------------------- + +
| substring('abcd,0,2)|
----------------------- + +
| |
----------------------- + +
1行集(0秒)
MySQL >选择子串('abcd,1,2);
----------------------- + +
| substring('abcd,1,2)|
----------------------- + +
| AB |
----------------------- + +
1行集(0.02秒)

修剪({ {都| } { }领导|尾随填充从} STRING2) / /删除指定字符位置

ucase(string2)/转换为大写

右(string2,长度) / / STRING2最后字符长度

空格(计数)计数空间的生成

两。数学课

ABS(2) / /绝对值

本(decimal_number) /十进制到二进制

吸(2) /围捕

转换(2,from_base,to_base) / /进制转换

楼(2)/向下舍入

格式(数量、decimal_places) / /保留小数

六角(代表) /十六米

注:hex()可以通过一个字符串并返回它的asc-11代码,如六('def '),返回4142143

还可以传递十进制整数,返回它们的十六进制代码,如十六进制(25)返回19。

至少(数量、2,包括最小值) / /

MOD(分子,分母) / /剩余

电源(数字,电源) /需求指数

兰德({种子})随机数

({ }轮数,小数) / /四到五家为小数,小数位数。

注意:返回类型都是整数,例如:

(1)违约变成塑料值。

选择圆(1.23);

------------- + +
|轮(1.23)|
------------- + +
1 | |
------------- + +
1行集(0秒)

选择圆(1.56);
------------- + +
|轮(1.56)|
------------- + +
2 | |
------------- + +
1行集(0秒)

(2)可以将十进制数字的数目设置为返回浮点数据。

MySQL >选择圆(1.567,2);

---------------- + +
|圆(1.567,2)|
---------------- + +
1.57 | |
---------------- + +
1行集(0秒)

标志(2) / /返回字符,阳性和阴性或0

sqrt(2)/平方
三。日期时间类

加入时间(日期2,time_interval) / / time_interval来把

convert_tz(datetime2,fromtz,totz) / /转换区

(current_date) / /当前日期

(current_time)/当前时间

(current_timestamp)/当前时间戳

日期(日期) / /日期归还日期

date_add(date2区间,d_value d_type)加日期2 / /日期或时间

date_format(datetime,formatcodes) / / formatcodes格式的日期

date_sub(date2区间,d_value d_type) / /减一时间日期2

DateDiff(DATE1,日期2) / /两日期差异

日期(日期)返回日期

dayname(日期) / /英语周

周(日)/周(1-7),1星期日

dayofyear(日期) / /一年中的第几天

提取物(interval_name日期) / /指定部分的提取日期日期

makedate(年、日) / /在最初的几天,一年又一年,一代日期字符串

创造时间(小时,分钟,秒) / /生成时间序列

名(日期)英语 / /月的名字

(现在)当前时间

sec_to_time(秒) / /秒数时间

str_to_date(字符串格式) / /字符串作为格式显示时间

timediff(datetime1,datetime2) / /两时间差

time_to_sec(时间) / /秒}

周({ date_time,start_of_week }) / /前几周

年(日期)/年

dayofmonth(DateTime) / /前几天月

小时(DateTime) / /小时

对last_day每月的最后日期(日期) / /日期

微秒(DateTime) / /微秒

月(DateTime) / /月

分钟(时间) / /分
附录:区间可用类型

一天,day_hour,day_minute,day_second,小时,分钟,hour_minute,hour_second,minute_second,月,第二年

mysql存储过程和触发器

1。创建存储过程

分隔符
下降过程是否存在` proc_test ` / /
创建程序` proc_test `(table_name varchar(20),Num int)
开始
SELECT * FROM table_name限制民;
结束
分隔符;
调用存储过程:

电话proc_test(用户',20);
删除存储过程:
下降过程产品定价

2。创建一个触发器

文法~

创建触发器——触发器必须有名字,最多有64个字符,后面可能有分隔符。它类似于在MySQL中命名其他对象的方式。

{在} - |触发器的执行时间设置:可以设置为之前或之后的事件。

{插入更新删除} - | |还可以设置触发事件:他们可以在实施过程中引发的插入,更新或删除。

触发器是一个表:当我们在这个表中插入、更新或删除操作时,我们触发触发器的激活。我们不能在同一个表中为同一事件安排两个触发器。

每个行触发器的执行间隔:每个行子句通知触发器每隔一行执行一次操作,而不是执行整个表一次。

触发器包含要触发的SQL语句:这里的语句可以是任何合法语句,包括复合语句,但这里的语句受与函数相同函数的限制。

-您必须有相当的权限来创建触发器(创建触发器),如果您已经是root用户,那么就足够了,这与SQL标准不同。
创建一个触发器:t_afterinsert_on_tab1
效果:添加TAB1表自动记录并将该记录添加到TAB2表

如果存在` t_afterinsert_on_tab1 `触发降;
创建触发器t_afterinsert_on_tab1
在` TAB1 `插入后
每一行
开始
插入TAB2(tab2_id)值(新。tab1_id);
结束;
创建一个触发器:t_afterdelete_on_tab1

效果:删除表表记录自动删除在TAB2表的相应记录

如果存在` t_afterdelete_on_tab1 `触发降;
创建触发器` t_afterdelete_on_tab1 `
在` TAB1 `删除后
每一行
开始
删除从` TAB2 `哪里tab2_id = old.tab1_id;
结束;
删除触发器:

{ } trigger_name schema_name删除触发器;
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部