操作数据库必须养成的好习惯

数据库
数据库操作是个细活,要求数据库操作者非常细心,要谨慎,下文中就为大家总结出了几点数据库操作过程中的一些好的习惯,供大家参考学习。

 导读:数据库开发过程中,数据是最重要的一部分,如果程序的代码错了,我们可以通过各种方式修改回来,但如果数据失真了,将永远无法还原,那种欲哭无泪的滋味,相信经历过的人是深有体会的。可能这些小的细节对我们来说都是微不足道的,但往往这些微不足道而且是小概率的事件将会毁了你。
记得刚开始工作的时候,我们项目组的几个人对某个市的数据进行操作,由于自己的一个不小心,写错了一个SQL就把其中一部分的数据给毁了,那时候心理真的很难受,多么希望有个人可以骂骂我,至少心理会好受一点,但是没有人理我,这样一直在水深火热这中,感觉自己已经到了地狱一般。经过多年程序生涯,在地狱中也得到了一些成长,于是把自己的一点用金钱换来的经验全盘托出,希望对一些朋友有所帮助。1、不要用Truncate Table语句。刚开始学这个语句的时候,相信很多人多会拿出来跑一跑,会很高兴地向同事证明你的Truncate Table比Delete跑得更快,但是如果你养成这样的习惯,万一有一天误删东西的时候,就还原不回来了,因为Truncate Table不会记录日志,所以,如果操作重要数据的时候,还是用回Delete语句吧。

2、每次动数据库之前,都先要把数据库备份起来。这个习惯一定要养成,你操作数据库的时候,哪怕只是做一次简单的查询或只是删除几条普通的数据,都先备份一下,不会花你很多时间,却在你失误的时候可以把你从死亡的边缘拉回来。如果数据比较大,至少也要把表里的数据备份出来。

3、把删除语句以及更新语句、插入语句注释掉。我们操作数据库时,通常都喜欢在查询分析器里写一大堆SQL,然后选择某一条,按F5来执行,但有时候会直接按下F5,导致所有的语句都执行,给数据造成一定的损害。如果你把那些有影响的语句注释掉了,就算按错了也没有关系。


4、不要随便地去分离数据库。如果我们要获取整个数据库的数据时,尽量采用把数据备份下来,然后取到其他机器上还原,而不要把数据库分离,然后再复制到其它机器附加。有时候,数据库分离了之后就会造成无法附加,虽然概率很小,但一旦碰上了就会很麻烦,尤其是一些实时的系统。

5、自己不熟悉的数据库,不要去动它。我们维护数据库时,有时候要 出差到其他市去操作数据,这时,其他项目组的同事可能会叫你帮忙更新这个更新那个的,如果你很熟悉数据库的结构,以及了解更新的影响程度,那么你帮忙操作就无所谓,如果你不熟悉,尽量不操作,如果你做好了,功劳不是你的,如果出了什么差错,你就要背黑锅了。

6、身体疲劳时不要操作数据库。加班是程序员的家常便饭,当你加班到身体很疲劳时,操作数据库失误的概率会很大,我记得刚刚出来工作时有一次我写了一个DELETE语句,选择执行了居然漏选了一个WHERE条件,还好数据比较多,超时了,要不然就.........

7、如果自己对数据库结构了解很透彻,而且你的数据库技术水平已经达到一定的高度,更加要小心了,通常出现误操作导致数据失真就是这个阶段,有时候学了一个新语法就会马上拿去试着使用。

8、经常要考虑你的SQL脚本有没有什么漏洞,或者有没有其他方法可以更有效率地执行。


9、SQL SERVER2000里面有一个宝藏,就是它的联机丛书,建议经常去阅读它,当你把它读完并理解之后,你的SQL水平基本就可以超80%的程序员了,根本不要去迷信什么NB的教材,但到了那个时候,你会发现自己懂的东西少了,要学习的东西更多了。

本文就为大家总结这么多,希望对大家能够有所帮助。

【编辑推荐

  1. 使用数据库的机制来确保数据的正确性
  2. 选择数据库产品的注意事项
  3. 数据库表设计模板
  4. 如何使用SSB与数据库通信
责任编辑:迎迎 来源: 博客园
相关推荐

2011-07-01 13:42:24

QT 数据库

2009-09-15 09:50:07

Linq操作数据库

2020-11-16 08:56:02

Python

2011-07-05 10:27:06

MySQL数据库检索排序

2022-10-08 10:42:20

Linux虚拟机

2010-09-08 12:55:34

CSS

2009-09-03 09:52:26

C# treeview

2023-04-27 09:36:43

2009-08-24 16:46:04

C# 泛型

2023-12-27 13:44:00

数据库系统分布式

2022-04-08 14:38:43

程序员习惯终端

2023-12-14 15:07:31

多线程数据库代码

2022-09-16 00:32:39

SQL数据库习惯

2009-07-07 09:24:37

LINQ检索

2009-09-15 16:16:35

代码习惯

2017-04-12 09:34:30

数据科学家统计学家好习惯

2023-05-23 16:25:48

MyBatisSQL数据库

2023-06-15 15:21:43

2009-08-04 14:52:33

Visual Web ASP.NET

2016-05-11 10:09:49

数据层代码FastQuery
点赞
收藏

51CTO技术栈公众号