MySQL: UPDATE column WHERE column STARTS WITH " " (Blankspace) - mysql

I need to search and UPDATE my database for column values starting with a blankspace..
SQL
UPDATE table
SET column substring(column, 1)
WHERE column has blankspace
How can i do this?
EDIT
Oh yeah.
Reason is to erase blankspace...

Use LTRIM() function to remove starting blank spaces.
Try this:
UPDATE table SET column = LTRIM(column)

I think you should be explicit and use like:
UPDATE table
SET column = substring(column, 1)
WHERE column like ' %';

Related

Delete some characters from a column in MySQL

I have ONE column in MySQl table which contains this format:
https://open.spotify.com/track/AAABBBCCC
and I'd like to leave just AAABBBCCC, and not the entire column! The last parte is always the same.
Is that possible? Thanks and sorry for my english!
You can use SQL REPLACE function to do that.
UPDATE your_table_name
SET your_column_name = REPLACE(your_column_name, 'https://open.spotify.com/track/', '')
For more information you can read SQL statement to remove part of a string
Use REPLACE to delete the wanted text from your column:
UPDATE Table1 SET Column1 = REPLACE(Column1,'https://open.spotify.com/track/','')

How to edit all the data in an entire column?

In my MySQL database, I have a lot of data with the timestamp in this format:
2017.07.13 - 12:00:00:000
I want to change it to be in this format:
2017-07-13T12:00:00:000-0400
I know I need SELECT to get the data from the table and UPDATE to change it to a new record. But I don't know how to edit the timestamp using SQL commands.
How can I edit a string using SQL commands?
You don't need to run a select prior to an update. The update has the data already available. You could do something like this:
update table
set column = concat(replace(replace(column, ' - ', 'T'), '.', '-'), '-0400')
to alter the format of your all dates in the column column of the table table.
Demo: http://sqlfiddle.com/#!9/2699e9/2 (using select because the update wouldnt show anything)
https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_concat
https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_replace
https://dev.mysql.com/doc/refman/5.7/en/update.html
If you only want to update 1 specific row use a where clause to limit the update affects.
Should work (tested in SQL-Server)
Update tableName SET col = Replace(col," - ","T") + '-0400'
If + is not work for mysql then try CONCAT
Update: Solution for MySQL is
UPDATE tableName SET col = CONCAT(REPLACE(REPLACE(col, ' - ', 'T'), '.', '-'), '-0400')

Adding text to each column of MYSQL Database

I have a database table in MYSQL with around 1000 rows. In the table I have a column called 'overview'. In each row, this column has some value and at the end of that value I have a specific line (text) starting with: 'Source...'
Now what I want is, I want to remove this line from each column and replace it with some other text content.
I believe it can be accomplished with some smart query.
You can simply use REPLACE in your query like this
UPDATE your_table SET col_name = REPLACE(col_name , ‘Source...’, ‘new_val’)
WHERE col_name LIKE '%Source...';
Check Out the SQLFIDDLE.
MySQL database has a handy and simple string function REPLACE() that allows table data with the matching string (from_string) to be replaced by new string (to_string).
The syntax of REPLACE is:
REPLACE (text_string, from_string, to_string)
In your case, you can do this way:
UPDATE `tableName` SET `column` = REPLACE(column , 'Source...', 'Replaced Value')
Use Replace
update TBL
set overview = Replace(picture, 'Source..', 'replacement')
keep a backup of the table before anything.Or you can do it on a copy.
you can do this by following:
update table_name set col_name = replace(column_name , ‘Source...’, ‘Replaced String...’);

MySQL: Mass Replace using a regex?

I'm trying to replace all instances of   with a simple space EXCEPT if it's surrounded by DIV tags. I've tried tinkering with the NOT REGEXP and NOT RLIKE within the replace query, like this:
UPDATE table SET column = replace(column,NOT REGEXP '> <',' ');
But it gives a syntax error. Anyone have any suggestions?
How about three separate updates...
UPDATE table SET column = replace(column, '> <', '%%LOL$$');
UPDATE table SET column = replace(column, ' ', ' ');
UPDATE table SET column = replace(column, '%%LOL$$', '> <');
Something like this should work:
UPDATE table SET column = REPLACE(column, ' ', ' ') WHERE column NOT LIKE '%div> </%'

update replace command in mysql

All,
In a field named(path) in The table named is recn i have the follwoing data /home/user1/Computer-Science-10_1-10_7-17//html/Compu.html
how do i replace
/home/user1/Computer-Science-10_1-10_7-17//html/Compu.html with /home/user1/path/files/Computer-Science-10_1-10_7-17//html/Compu.html in mysql
Also There are many rows like /home/user1 which i have to replace with /home/user1/path/files
Thanks.....
Is this what you want?
UPDATE mytable SET mycolumn
= REPLACE(mycolumn, '/home/user1','/home/user1/path/files');