mysql自定义函数-随机生成人员姓名

这篇博客介绍了如何在MySQL中创建一个自定义函数`rand_name`,该函数能够随机生成姓名。函数首先定义了姓和名的字符串,然后通过随机数选择一个姓和一个或两个名,最后组合成完整的姓名。通过调用这个函数,可以快速生成测试数据或者用于其他需要随机姓名的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​   由于对自定义函数的使用比较少,这里仅做个记录,方便以后使用的时候直接从这里面进行摘录使用。

创建自定义函数

-- mysql自定义函数-随机生成姓名
DELIMITER $$
DROP FUNCTION IF EXISTS `rand_name`$$
CREATE DEFINER=`root`@`%` FUNCTION `rand_name`() RETURNS VARCHAR(64) CHARSET utf8
BEGIN
/*姓的随机范围568个*/
DECLARE rand_surname TEXT DEFAULT 
'赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许
何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章
云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳
酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常
乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹
姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞
熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危
江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍
虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓
郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁
荀羊於惠甄曲家封芮羿储靳汲邴糜松井段富巫
乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫
宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶
郜黎蓟薄印宿白怀蒲邰从鄂索咸籍赖卓蔺屠蒙
池乔阴鬱胥能苍双闻莘党翟谭贡劳逄姬申扶堵
冉宰郦雍卻璩桑桂濮牛寿通边扈燕冀郏浦尚农
温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎
戈廖庾终暨居衡步都耿满弘匡国文寇广禄阙东
欧殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚
那简饶空曾毋沙乜养鞠须丰巢关蒯相查后荆红
游竺权逯盖益桓公万俟司马上官欧阳夏侯诸葛
闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳
淳于单于太叔申屠公孙仲孙轩辕令狐钟离宇文
长孙慕容鲜于闾丘司徒司空丌官司寇仉督子车
颛孙端木巫马公西漆雕乐正壤驷公良拓跋夹谷
宰父谷梁晋楚闫法汝鄢涂钦段干百里东郭南门
呼延归海羊舌微生岳帅缑亢况郈有琴梁丘左丘
东门西门商牟佘佴伯赏南宫墨哈谯笪年爱阳佟
第五言福百家姓终';
/*名的随机范围401个常用汉字。*/
DECLARE rand_name TEXT DEFAULT
'的一了是我不在人们有来他这上着个地到大里说去子得也和那要下看天时过出小么起你都把好还多
没为又可家学只以主会样年想能生同老中从自面前头到它后然走很像见两用她国动进成回什边作对
开而已些现山民候经发工向事命给长水几义三声于高正妈手知理眼志点心战二问但身方实吃做叫当
住听革打呢真党全才四已所敌之最光产情路分总条白话东席次亲如被花口放儿常西气五第使写军吧
文运在果怎定许快明行因别飞外树物活部门无往船望新带队先力完间却站代员机更九您每风级跟笑
啊孩万少直意夜比阶连车重便斗马哪化太指变社似士者干石满决百原拿群究各六本思解立河爸村八
难早论吗根共让相研今其书坐接应关信觉死步反处记将千找争领或师结块跑谁草越字加脚紧爱等习
阵怕月青半火法题建赶位唱海七女任件感准张团屋爷离色脸片科倒睛利世病刚且由送切星晚表够整
认响雪流未场该并底深刻平伟忙提确近亮轻讲农古黑告界拉名呀土清阳照办史改历转画造嘴此治北
必服雨穿父内识验传业菜爬睡兴';
/*姓*/
DECLARE surname VARCHAR(2) ;
/*姓的随机数1-576*/
DECLARE surname_num INT(3) DEFAULT FLOOR(RAND()*568)+1;
/*名*/
DECLARE `name` VARCHAR(14) ;
/*名的随机数1-401*/
DECLARE `name_num` INT(3) DEFAULT FLOOR(RAND()*401)+1;
DECLARE `name_num2` INT(3) DEFAULT FLOOR(RAND()*401)+1;
/*名的字数,这里设置为1-2个字。*/
DECLARE `name_no` INT(3) DEFAULT FLOOR(RAND()*2)+1;
#姓
SELECT SUBSTRING(rand_surname,surname_num,1) INTO surname;
IF
name_no=1
THEN
#名
SELECT SUBSTRING(rand_name,name_num,1) INTO `name`;
ELSE
#名
SELECT CONCAT(SUBSTRING(rand_name,name_num,1),SUBSTRING(rand_name,name_num2,1)) INTO `name`;
END IF;
RETURN CONCAT(surname,`name`);
END$$
DELIMITER;

调用自定义函数

-- 测试函数
SELECT rand_name();
### LlamaIndex 多模态 RAG 实现 LlamaIndex 支持多种数据类型的接入与处理,这使得它成为构建多模态检索增强生成(RAG)系统的理想选择[^1]。为了实现这一目标,LlamaIndex 结合了不同种类的数据连接器、索引机制以及强大的查询引擎。 #### 数据连接器支持多样化输入源 对于多模态数据的支持始于数据收集阶段。LlamaIndex 的数据连接器可以从多个异构资源中提取信息,包括但不限于APIs、PDF文档、SQL数据库等。这意味着无论是文本还是多媒体文件中的内容都可以被纳入到后续的分析流程之中。 #### 统一化的中间表示形式 一旦获取到了原始资料之后,下一步就是创建统一而高效的内部表达方式——即所谓的“中间表示”。这种转换不仅简化了下游任务的操作难度,同时也提高了整个系统的性能表现。尤其当面对复杂场景下的混合型数据集时,良好的设计尤为关键。 #### 查询引擎助力跨媒体理解能力 借助于内置的强大搜索引擎组件,用户可以通过自然语言提问的形式轻松获得所需答案;而对于更复杂的交互需求,则提供了专门定制版聊天机器人服务作为补充选项之一。更重要的是,在这里实现了真正的语义级关联匹配逻辑,从而让计算机具备了一定程度上的‘认知’功能去理解和回应人类意图背后所蕴含的意义所在。 #### 应用实例展示 考虑到实际应用场景的需求多样性,下面给出一段Python代码示例来说明如何利用LlamaIndex搭建一个多模态RAG系统: ```python from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader, LLMPredictor, PromptHelper, ServiceContext from langchain.llms.base import BaseLLM import os def create_multi_modal_rag_system(): documents = SimpleDirectoryReader(input_dir='./data').load_data() llm_predictor = LLMPredictor(llm=BaseLLM()) # 假设已经定义好了具体的大型预训练模型 service_context = ServiceContext.from_defaults( chunk_size_limit=None, prompt_helper=PromptHelper(max_input_size=-1), llm_predictor=llm_predictor ) index = GPTSimpleVectorIndex(documents, service_context=service_context) query_engine = index.as_query_engine(similarity_top_k=2) response = query_engine.query("请描述一下图片里的人物表情特征") print(response) ``` 此段脚本展示了从加载本地目录下各类格式文件开始直到最终完成一次基于相似度排序后的top-k条目返回全过程。值得注意的是,“query”方法接收字符串参数代表使用者想要询问的内容,而在后台则会自动调用相应的解析模块并结合先前准备好的知识库来进行推理计算得出结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值