The answer by Marjan Venema is technically valid and should be followed when possible. Alas, Marjan answers from the point of view of a theorist, or a purist database administrator who likes to make things cleanly. In practice, sometimes business constraints make it impossible to do things in a clean way.
Imagine the following case:
There is a bug in the software product which causes it to stop working when it detects what it thinks being some data inconsistency in the database,
All developers who could potentially fix the bug in the application are unreachable,
The company is currently losing thousands of dollars per hour (let's say $6 000, which means $100 per minute),
The bug is affecting several tables, one of which is huge, and concerns only the data itself, not the schema,
In order to circumvent the bug, you should experiment a bit with the data, which involves both removing and changing it,
The database is large and it would take three hours to take or restore the backup,
The last full backup was taken three weeks ago; there are also daily incremental backups, and the last daily incremental backup was done 14 hours ago,
Database backups are assumed reliable; they were severely tested, including recently,
Losing 14 hours of data is not acceptable, but the loss of one to two hours of data is,
The staging environment was lastly used six months ago; it seems it is not up to date, and it may take hours setting it up,
The database is Microsoft SQL Server 2008 Enterprise.
The clean way to do things is to:
Restore the backup in staging environment,
Experiment there,
Check the final script twice,
Run the script on the production server.
Just the first step will cost $18 000 to your company. The risk is pretty low if you do the third step flawlessly, but since you work under extreme pressure, the risk would be much higher. You may end up with a script which worked perfectly well in staging, then screws the production database up.
Instead, you could have done like this:
Create a snapshot (Microsoft SQL Server supports that, and it takes seconds to revert (and nothing to create) a snapshot of a database which takes an hour to backup; I imagine that other database products support snapshots as well),
Experiment directly on the production database, reverting to the snapshot if something goes wrong.
While a purist would fix the database in a clean way and still have a risk to screw things up given the time pressure while wasting more than $20 000 of his company, a database administrator who takes in account business constraints will fix the database in a way which will minimize the risks (thanks to snapshots) while doing it quickly.
Conclusion
I'm a purist myself, and I hate doing things in a non-clean way. As a developer, I refactor the code I modify, I comment the difficult parts which couldn't be refactored, I unit-test the codebase and I do code reviews. But I also take in consideration the circumstances where either you do things cleanly and the next day you're fired, or you minimize both the risks and the financial impact by doing a quick hack which works.
If some IT guy wants doing things cleanly just for the sake of cleanness while it causes thousands of dollars of loss for the company, this IT guy have a deep misunderstanding of his job.