mysql触发器之姓名转姓名拼音
人员表people 字段:id,peopleNumber,name,namePinyin,sex,birthday,nation。
namePinyin不用填写,根据name自动生成。
wordlib为字库表,内容为文字拼音对照
创建表
create table people(
id int auto_increment primary key,
peopleNumber varchar(18),
name varchar(20),
namePinyin varchar(50),
sex varchar(4),
birthday date,
nation varchar(30)
)character set utf8;
插入触发器
drop trigger if exists insert_pinyin;
delimiter //
create trigger insert_pinyin before insert on people
for each row
begin
declare num int default 1;
declare single_word varchar(2);
declare single_py varchar(10);
declare total_py varchar(50) default ''; while num <= char_length(new.name) do
set single_word = substr(new.name,num,1);
select pinyin into single_py from wordlib where word = single_word;
set total_py = concat(total_py,single_py);
set num = num + 1;
end while;
set new.namePinyin = total_py;
end
//
delimiter ;
更新触发器
drop trigger if exists update_pinyin;
delimiter //
create trigger update_pinyin before update on people
for each row
begin
declare num int default 1;
declare single_word varchar(2);
declare single_py varchar(10);
declare total_py varchar(50) default ''; while num <= char_length(new.name) do
set single_word = substr(new.name,num,1);
select pinyin into single_py from wordlib where word = single_word;
set total_py = concat(total_py,single_py);
set num = num + 1;
end while;
set new.namePinyin = total_py;
end
//
delimiter ; insert into people (name,sex,peopleNumber,birthday,nation) values('张三','男','','','汉族')
mysql触发器之姓名转姓名拼音的更多相关文章
- MySQL触发器之审计功能(转)
[导读] 最近ITPUB技术论坛特意组织网络性讨论活动,关于数据库审计的话题,分享各自公司如何实现数据库审计.个人经验和构想,以及数据库审计的技巧,刚好有网友发了一个典型的审计需求,要帮他分析,以及教 ...
- MySQL数据库获取多个汉字拼音的首字母函数
需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组中每个汉字的拼音首字母就可以实现了,如果是固定的几组汉字,人为的拼一下就可以 了,不过项目中有多处功能需要这个效 ...
- mysql数据库中查询汉字的拼音首字母
本人提供的方法有如下特点: 1.代码精简,使用简单,只要会基本的SQL语句就行2.不用建立mysql 函数等复杂的东西3.汉字库最全,可查询20902个汉字 方法如下: 1.建立拼音首字母资料表Sql ...
- 使用MySQL数据库将汉字转换成拼音的一个C语言小程序
环境: mysql:mysql-5.1.65 centos:centos 6.5 编译命令: gcc -o chinesetopinyin chinesetopinyin.c -L/usr/lib/m ...
- Jquery 触发器之treigger()方法简介
trigger是个很神奇的东西,它可以模拟简单的用户输入操作.并触发点击click, mouseover, keydown 等事件. 具体使用方法如下: $("button").c ...
- MySQL通过函数获取字符串汉字拼音首字母大写字符串
DELIMITER $$ DROP FUNCTION IF EXISTS `Fun_GetPY`$$ CREATE FUNCTION `HIS`.`Fun_GetPY` (in_string VARC ...
- Oracle触发器之替代触发器
替代触发器 替代视图增删改操作.视图可以认为成逻辑上的一张表,类似于把一个sql语句的执行结果永久的像表存储到数据 库中,视图一般用来做查询. 创建视图的语法: create view 视图名称 as ...
- Jenkins(8)构建触发器之定时构建和轮询 SCM
前言 跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行. jenkins的定时任务是用的crontab语法 定时构建语法 ...
- Mysql查询优化器之关于子查询的优化
下面这些sql都含有子查询: mysql> select * from t1 where a in (select a from t2); mysql> select * from (se ...
随机推荐
- Codeforces Round #364 (Div. 2) C.They Are Everywhere
C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- hdu_4826_Labyrinth_2014百度之星(dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4826 题意:中文题,不解释 题解:dp搞,第一列只能从上往下走,所以先算出第一列的dp数组,然后开两个 ...
- PHP正则表达式试题
1.POSIX正则表达式扩展在PHP哪个版本被废弃了 2.请写出匹配任意数字,任意空白字符,任意单词字符的符号? 3.执行一个正则表达式匹配的函数是什么?返回的结果有哪些? 4.执行一个全局正则表达式 ...
- Fatal error: Class ‘mysqli’ not found in解决办法
在使用[$conn = new \mysqli($servername, $username, $password,$dbname);]连接msql数据库的时候 出现错误:[Fatal error: ...
- 这几天用到的 Linux 命令
下面总结一下这几天用到的linux 命令,记录一下: 13 netstat -atunlp 26 apt-get install python-pip 27 pip install shadowsoc ...
- Spring Boot 系列教程17-Cache-缓存
缓存 缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找.由于缓存的运行速度比内存快得多,故缓存的作用就是帮 ...
- CentOS下载及版本选择-CentOS LiveCD、LiveDVD和BinDVD区别
1.CentOS系统镜像有两个,安装系统只用到第一个镜像即CentOS-6.x-i386-bin-DVD1.iso(32位)或者CentOS-6.x-x86_64-bin-DVD1.iso(64位), ...
- php实现echo json_encode正确显示汉字
<?php header('Content-type: text/html; charset=utf-8'); /* function showmessage($msg = '', $redir ...
- ACM暑期训练总结
ACM暑期集训总结报告 不知不觉,ACM暑期集训已经过去了一个月了(其实我还差几天才够一个月,因为最后几天要回家办助学贷款,所以没坚持到最后,当了个逃兵.....[汗])也到了结束的时候.在这一个月中 ...
- 极光推送,极光IM使用指南(AndroidStudio)
到官网创建一个应用,然后下载上面的例子程序,对照集成文档,把libs里的jar和so文件放入到本项目的libs下面,记得把jar要as a library,然后配置清单文件,对照着Demo来,配置好之 ...