使用select和insert的小细节
生活随笔
收集整理的這篇文章主要介紹了
使用select和insert的小细节
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? 做后臺開發的,接觸數據庫是常見的事情,select和insert語句在平時寫存儲過程時也用的很多,今天來說一下select和insert的規范用法。很簡單,但是也是值得注意一下。? ? ? ? ?
mysql> select * from test where id = 1; +------+----------+-------+ | id | name | hobby | +------+----------+-------+ | 1 | zhangsan | LOL | +------+----------+-------+ 1 row in set (0.00 sec)大家在學習mysql的時候都習慣這樣查詢id=1的記錄,這條記錄的有效字段是name和hobby,但是你卻取了3個字段。如果以后再往這個表中增加新的字段,你原有的SQL語句就會去除更多的字段,但是這些字段你都沒用到,取出的字段越多,效率也就相對較低。select的原則是要啥就取啥。
mysql> select name,hobby from test where id = 1; +----------+-------+ | name | hobby | +----------+-------+ | zhangsan | LOL | +----------+-------+ 1 row in set (0.00 sec)這樣就很規范了。如果這條記錄的每個字段你都需要,那你可以直接select *。
?
同樣insert在使用時也存在類似的問題。
mysql> insert into test values(2,"lisi","dnf"); Query OK, 1 row affected (0.00 sec)insert直接對表的一條記錄的每個字段進行插入操作,如果每天你這個表結果發生變化增加新的字段,那你原有的插入語句對應的值就會發生錯位的現象,這回造成數據出錯。
mysql> insert into test(id,name,hobby) values(3,"wangwu","cf"); Query OK, 1 row affected (0.00 sec)mysql> select * from test; +------+----------+-------+ | id | name | hobby | +------+----------+-------+ | 1 | zhangsan | LOL | | 2 | lisi | dnf | | 3 | wangwu | cf | +------+----------+-------+ 3 rows in set (0.00 sec)要插入的數據和對應的字段都應該寫清楚。
?
?
總結
以上是生活随笔為你收集整理的使用select和insert的小细节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脚本重启nginx进程
- 下一篇: 内连接join