473,396 Members | 2,024 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

MYSQL CONSOLIDATION

Can these lines of sql statements be consolidated into one sql statement
(possibly using reg exps??)

BEGIN CODE
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++
Update applications Set news_article = replace(news_article, '<FONT
face="Times New Roman" color=#000000 size=3>', '');
Update applications Set news_article = replace(news_article, '<P
class=MsoNormal style="MARGIN: 0cm 0cm 0pt">', '');
Update applications Set news_article = replace(news_article,
'<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office"
/>', '');
Update applications Set news_article = replace(news_article, '<o:p>', '');
Update applications Set news_article = replace(news_article, '</o:p>', '');
Update applications Set news_article = replace(news_article, '</P>', '');
Update applications Set news_intro = replace(news_intro, '<FONT face="Times
New Roman" color=#000000 size=3>', '');
Update applications Set news_intro = replace(news_intro, '<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt">', '');
Update applications Set news_intro = replace(news_intro, '<?xml:namespace
prefix = o ns = "urn:schemas-microsoft-com:office:office" />', '');
Update applications Set news_intro = replace(news_intro, '<o:p>', '');
Update applications Set news_intro = replace(news_intro, '</o:p>', '');
Update applications Set news_intro = replace(news_intro, '</P>', '');
Update applications Set news_article = replace(news_article, '<SPAN lang=FR
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language:
FR">', '');
Update applications Set news_article = replace(news_article, '<SPAN lang=FR
style="COLOR: black; mso-ansi-language: FR">', '');
Update applications Set news_article = replace(news_article, '</SPAN>', '');
Update applications Set news_article = replace(news_article, '<FONT
color=#000000>', '');
Update applications Set news_article = replace(news_article, '</FONT>', '');
Update applications Set news_article = replace(news_article, '<SPAN lang=FR
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language:
FR">', '');
Update applications Set news_article = replace(news_article, '<SPAN lang=FR
style="COLOR: black; mso-ansi-language: FR">', '');
Update applications Set news_article = replace(news_article, '</SPAN>', '');
Update applications Set news_article = replace(news_article, '<FONT
color=#000000>', '');
Update applications Set news_article = replace(news_article, '</FONT>', '');
Update applications Set news_intro = replace(news_intro, '<SPAN lang=FR
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language:
FR">', '');
Update applications Set news_intro = replace(news_intro, '<SPAN lang=FR
style="COLOR: black; mso-ansi-language: FR">', '');
Update applications Set news_intro = replace(news_intro, '</SPAN>', '');
Update applications Set news_intro = replace(news_intro, '<FONT
color=#000000>', '');
Update applications Set news_intro = replace(news_intro, '</FONT>', '');

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++
END CODE

Many Thanks


Jul 20 '05 #1
3 1658
Can these lines of sql statements be consolidated into one sql statement
(possibly using reg exps??)

BEGIN CODE
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++
Update applications Set news_article = replace(news_article, '<FONT
Update applications Set news_intro = replace(news_intro, '</SPAN>', ''); [...] Update applications Set news_intro = replace(news_intro, '<FONT
color=#000000>', '');
Update applications Set news_intro = replace(news_intro, '</FONT>', '');

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++
END CODE


Can't you pre-process your field -to remove the Html tags- before inserting
it to the DB?. I'm sure you'll find a library to handle the Html to Text
conversion.

The method you're using is probably slower, and surely, more likely to
produce errors. What if you have:
"<FONT color=#000000>" in your html (double space between FONT and color)?
The replacement won't be done.
Jul 20 '05 #2
Craig Keightley wrote:
Can these lines of sql statements be consolidated into one sql statement
(possibly using reg exps??)

BEGIN CODE
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++
Update applications Set news_article = replace(news_article, '<FONT
face="Times New Roman" color=#000000 size=3>', '');
Update applications Set news_article = replace(news_article, '<P
class=MsoNormal style="MARGIN: 0cm 0cm 0pt">', '');

....

MySQL supports a regular expression matching predicate, but is not a
substitution function. See http://dev.mysql.com/doc/mysql/en/Regexp.html.

I would solve this not in SQL, but in code. That is, write an
application that reads the values from your `applications` table,
performs the substitutions based on regular expressions, and then if any
substitutions were made, updates that record.

run query SELECT PrimaryKeyField, news_article from applications
loop over result set
{
loop over your list of patterns
{
s/pattern//, check for success
}
if any substitutions succeeded then
{
update application set news_article = ?
where PrimaryKeyField = ?
}
}

This isn't a one-line solution either, but you have more flexibility
with regular expressions, as you pointed out. And putting it into a
script might allow you to maintain the list of patterns more easily.

Don't break your back trying to turn every database task into a single
SQL statement. Sometimes it's better just to get it done!

Regards,
Bill K.
Jul 20 '05 #3
Combined it into one big ugly query by nesting replacements (removed some repeated replacements):
Update applications Set
news_article =
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
news_article,
'<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />', '' ),
'<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">', '' ),
'</P>', ''),
'<o:p>', ''),
'</o:p>', ''),
'<FONT face="Times New Roman" color=#000000 size=3>', '' ),
'<FONT color=#000000>', ''),
'</FONT>', ''),
'<SPAN lang=FR style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: FR">', ''),
'<SPAN lang=FR style="COLOR: black; mso-ansi-language: FR">', ''),
'</SPAN>', ''),
news_intro =
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
news_intro,
'<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />', ''),
'<FONT face="Times New Roman" color=#000000 size=3>', ''),
'<FONT color=#000000>', ''),
'</FONT>', ''),
'<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">', ''),
'</P>', ''),
'<o:p>', ''),
'</o:p>', ''),
'<SPAN lang=FR style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: FR">', ''),
'<SPAN lang=FR style="COLOR: black; mso-ansi-language: FR">', ''),
'</SPAN>', '');
You may also want to do this by PHP, so check "strip_tags" function.

Hilarion
Jul 20 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: francescomoi | last post by:
Hi. I'm trying to build 'MySQL-python-1.2.0' on my Linux FC2: ---------------------------------- # export PATH=$PATH:/usr/local/mysql/bin/ # export mysqlclient=mysqlclient_r # python setup.py...
0
by: Randell D. | last post by:
Folks, I have installed MySQL v4 (client, server and development rpm's). I've tried and failed to use the recommended mysqladmin to set a root password after the installation (I have another post...
0
by: Donald Tyler | last post by:
Then the only way you can do it that I can think of is to write a PHP script to do basically what PHPMyAdmin is trying to do but without the LOCAL in there. However to do that you would need to...
4
by: mikey | last post by:
Hi all, I'm having great problems trying to install the latest MySQl RPM package onto my Red Hat Linux OS. There is already MySQL v 3.0 pre-installed with the RH Linux distribution disk but I...
0
by: Mike Chirico | last post by:
Interesting Things to Know about MySQL Mike Chirico (mchirico@users.sourceforge.net) Copyright (GPU Free Documentation License) 2004 Last Updated: Mon Jun 7 10:37:28 EDT 2004 The latest...
2
by: trihanhcie | last post by:
I m currently working on a Unix server with a fedora 3 as an os My current version of mysql is 3.23.58. I'd like to upgrade the version to 5.0.18. After downloading from MYSQL.COM the package on...
1
by: manish deshpande | last post by:
Hi, When i'm installing MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm by the following command: rpm -i MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm the following error is being shown: ...
10
by: bobtehdog | last post by:
Column Consolidation. My problem is this. I have to sort each of the def1-def23 columns from the old table into the def1-def6 columns from the new table preserving the other data in the records....
3
by: menzies | last post by:
Hi, I"m new to this forum, but I have been trying all day to install DBD::mysql onto my Intel MacBook. I've read lots of forums pages and none have gotten me to a successful 'make test' or a...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.