Mysql學習筆記(三)對錶資料的增刪改查。

2022-02-01 03:21:51 字數 2456 閱讀 5785

正文內容。

這一部分是最簡單的,也是最麻煩的。簡單是因為其實只包括增刪該插四個部分。大體上看,增加資料、刪除資料、修改資料、查詢資料都不麻煩啊,我們日常都是常用的。這個誰不會呢?以前在培訓機構學mysql的時候,我就知道,程式設計師的成長路程上的乙個瓶頸就在於資料庫。如何書寫高維護性的sql語句,如何能保持高維護性的同時又保持執行的高效率,這是個難題。我最近在做乙個比較棘手的專案,常常left join 5~6張表,掃表10幾萬,查詢速度慢的驚人。10幾萬還僅僅是測試資料,等真正的專案上線,資料量可能會達到百萬級別。因此低效率的mysql 語句,可能程式直接就崩潰了。

因此關於資料這部分的增刪改插是最難的,也是至關重要的,一定要學好。但我們今天僅僅書寫最簡單的增刪該插,後面的部落格將會持續深入的去整理相關方面的知識。

增加資料:

insert into 表名 (欄位1, 欄位2, 欄位3, 欄位n) values (值1,值2,值3,值4);

這個比較簡單。這是一條通用語句。可以值inset一條資料,也是insert多條資料。這個在《mysql學習筆記(二)對錶結構的增刪改查》的測試sql裡面有。可以參考一下,這裡就不重複貼**了。

注意事項:

向char 、varchar 、text 以及日期型的字段插入時,字段值要用單引號括起來。

向自增型auto_increment欄位插入資料時,建議插入null值,此時欄位將向自增型字段插入下乙個編號。其實我平時都直接不寫。

向預設值約束字段插入資料時,字段值可以使用default關鍵字,表示插入的是該字段的預設值。

插入新紀錄時,需要注意表之間的外來鍵約束關係,原則上先給父表插入資料,然後給子表插入資料。

刪除資料:

刪除資料是比較危險的操作,平時在開發測試階段,可能會用到,但是到了真正的專案上線階段,是不會有delete許可權的。

語法: delete  from 表名 where 條件;

delete from classes where class_no = 53;   (可以繼續用《mysql學習筆記(二)對錶結構的增刪改查》中的測試sql);

強調一句,刪除資料與修改資料,不加條件都是臭流氓。

修改資料:

修改資料也是很危險的操作,在專案上線的時候,只有某些表的某些字段允許更改。

語法:update 表名 set 欄位名=字段值  where 條件。

update classes set class_name='roverliang' where class_no=52;

強調一句,刪除資料與修改資料,不加條件都是臭流氓。

查詢資料:

基本上專案中有90%以上關於資料庫的操作是查詢操作。因此查詢語句寫的好不好,將直接體現出乙個程式設計師的程式設計能力。

反對那些人,一看到很長sql語句就搖頭表示否定。他們從一些資料中得知,sql語句寫的長會使執行效率下降、簡直對長長的mysql語句是避而遠之。將本來能一氣呵成的mysql硬生生的分成了幾個零散的片段。

對於我們搞技術的人來說,憑感覺是不對的。一切要以事實為基礎,sql執行快慢優劣不是憑感覺拍腦袋決定的。真正決定sql執行速度的還是mysql本身,所以遇到疑惑的,就放進mysql裡跑一跑。那個快那個慢,就高下立見了。

如果兩者執行時間幾乎相當,當然要毫不猶豫的選用一氣呵成的sql。好維護啊!能夠大大的減少**量。

有些朋友可能會反駁說,那麼長一段sql,看著都煩人,怎麼會好維護呢?這其實與個人習慣有關,對於長的sql語句,我個人平時是這麼寫的,不知道對不對,請大家給指點下。

#長長的sql;

select

欄位1,欄位2,欄位3,欄位n

from 表一 as t1,表二 as t2 ,表三 as

t3

left

join 表四 as t4 on t1.欄位1 =

t4.欄位1

left

join 表五 as t5 on t1.欄位2 =

t5.欄位2

where t1.欄位1=

1and t2.欄位2=

2and t3.欄位3 >

3group

byt1. 欄位1

order

byt1

limit

1,5;

總之,一切的原則是要邏輯清晰,排版美觀,能對齊的一定要對齊。

將**當作白居易的詩歌來寫,力求簡練,但要兼顧可讀性,讓三歲小兒與七十歲老嫗可懂。

將**當作平面設計作品來寫, 等號之間、變數之間排版整齊。**段與**段之間錯落有致,整齊劃一。

不要吝嗇空格與換行符。將**想象為資料流,讓**有流動的空間。

mysql命令 三 對錶操作

1 create table命令用來建立資料表。create table命令格式 create table 表名 欄位名1 型別1 欄位名n 型別n 1.1 建立乙個名為myclass的表 mysql create table score id int 4 not null primary key ...

es6學習筆記(三)物件

在低 開發中,尤其是在低 編輯裡定義事件的處理函式中,最常見的概念就是物件了,我們需要熟記這個概念,因為你看官方的 的時候隨時隨地就會有這種語法,你掌握了學習起來難度也就降低了。es6 物件教程 啥是物件呢?其實簡單的理解就是它可以有屬性和方法,你看到一隊括號包起來的語法,那就是物件的意思,教程中也...

mysql學習筆記 對錶的修改

一 修改表的語句 對錶的修改實際上是指四大語句 select,delete,update,insert的後三個。因為第乙個是查詢語句,是 讀 操作,其餘的是 寫 操作 假如delete也算 相對於select的五花八門,剩下三個可以說是非常簡潔了。delete delete from tablena...