Mysql 从SQL中的字段中选择特定单词

Mysql 从SQL中的字段中选择特定单词,mysql,sql,select,Mysql,Sql,Select,我已经创建了下表 create table MYTABLE (address text); 我已经在我的表中插入了下一行 INSERT INTO MYTABLE VALUES('Smartlink House, Plot # 5, Kurla-Bandra Complex Road, Tel : +xxxxxxxx Email : helpdesk@digisol.com'); 现在,我想从上一行获取电子邮件和电话号码。 请不要告诉我在单独的列中插入电子邮件和电话号码,因为我已经用上述方式

我已经创建了下表

create table MYTABLE (address text);
我已经在我的表中插入了下一行

INSERT INTO MYTABLE VALUES('Smartlink House, Plot # 5, 
Kurla-Bandra Complex Road,
Tel : +xxxxxxxx
Email : helpdesk@digisol.com');
现在,我想从上一行获取电子邮件和电话号码。 请不要告诉我在单独的列中插入电子邮件和电话号码,因为我已经用上述方式创建了数据库。

您必须安装MySQL UDF

SET @telRegEx= "/(?<=Tel : ).*/i";
SET @emailRegEx= "/(?<=Email : ).*/i";

SELECT 
    PREG_CAPTURE(@telRegEx, address_text) as tel,
    PREG_CAPTURE(@emailRegEx, address_text) as email
FROM 
    MYTABLE

SET@telRegEx=“/(?创建另一个名为my_table1的表,列数为'n',但创建两列,数据类型与my_table中的电话号码和电子邮件相同。然后按照示例代码进行操作


在my_table1(电话号码1,电子邮件1)中插入select(电话号码,电子邮件)从my_table

中,我想正则表达式将是您最好的选择,或者使用任何语言进行提取。正确的答案当然是更改数据库设计,因为它目前是错误的。为什么您不为电子邮件和电话创建单独的列?也许您的问题应该是如何更改我的数据库在不丢失数据的情况下。因此,你要求一群程序员告诉你如何做一些你知道是错误的并且应该更改的事情?我不认为你会在这里得到一个让你满意的答案,我想人们会告诉你正确地做这件事,或者找出与你自己相匹配的字符串唯一的解决办法:解雇设计错误的人请在答题前阅读问题,并请一位秘书将数据输入精心设计的表格中