mysql教程 知乎 MySQL教程(三)

2021-10-18 11:20:07 字數 2834 閱讀 5141

mysql update語句簡介

我們使用update語句來更新表中的現有資料。也可以使用update語句來更改表中單個行,一組行或所有行的列值。

下面說明了mysql update語句的語法:

update [low_priority] [ignore] table_name

setcolumn_name1 = expr1,

column_name2 = expr2,

where

condition;

在上面update語句中:首先,在update關鍵字後面指定要更新資料的表名。

其次,set子句指定要修改的列和新值。要更新多個列,請使用以逗號分隔的列表。以字面值,表示式或子查詢的形式在每列的賦值中來提供要設定的值。

第三,使用where子句中的條件指定要更新的行。where子句是可選的。 如果省略where子句,則update語句將更新表中的所有行。

請注意,where子句非常重要,所以不應該忘記指定更新的條件。 有時,您可能只想改變一行; 但是,可能會忘記寫上where子句,導致意外更新表中的所有行。

mysql在update語句中支援兩個修飾符。low_priority修飾符指示update語句延遲更新,直到沒有從表中讀取資料的連線。 low_priority對僅使用表級鎖定的儲存引擎(例如myisam,merge,memory)生效。

即使發生錯誤,ignore修飾符也可以使update語句繼續更新行。導致錯誤(如重複鍵衝突)的行不會更新。

mysql update示例

mysql update乙個單列示例********************====

update employees

setemail = '[email protected]'

where

employeenumber = 1056;

mysql update多列 ********************====

update employees

setlastname = 'hill',

email = '[email protected]'

where

employeenumber = 1056;

使用select語句的mysql update示例********************====

update customers

setsalesrepemployeenumber = (select

employeenumber

from

employees

where

jobtitle = 'sales rep'

limit 1)

where

salesrepemployeenumber is null;

mysql delete語句介紹

要從表中刪除資料,請使用mysql delete語句。下面說明了delete語句的語法:

delete from table_name

where condition;

在上面查詢語句中 -首先,指定刪除資料的表(table_name)。

其次,使用條件來指定要在where子句中刪除的行記錄。如果行匹配條件,這些行記錄將被刪除。請注意,where子句是可選的。如果省略where子句,delete語句將刪除表中的所有行。

除了從表中刪除資料外,delete語句返回刪除的行數。

要使用單個delete語句從多個表中刪除資料,請閱讀下乙個教程中將介紹的delete join語句。

要刪除表中的所有行,而不需要知道刪除了多少行,那麼應該使用truncate table語句來獲得更好的執行效能。

對於具有外來鍵約束的表,當從父表中刪除行記錄時,子表中的行記錄將通過使用on delete cascade選項自動刪除。

mysql delete的例子

employees表進行演示

| field | type | null | key | default | extra |

| emp_id | int(11) | no | pri | null | auto_increment |

| emp_name | varchar(255) | no | | null | |

| performance | int(11) | yes | mul | null | |

| salary | float | yes | | null | |

4 rows in set請注意,一旦刪除資料,它就會永遠消失。 因此,在執行delete語句之前,應該先備份資料庫,以防萬一要找回刪除過的資料。

假設要刪除officenumber為4的員工,則使用delete語句與where子句作為以下查詢:

delete from employees

where

officecode = 4;

delete from employees;

delete from table

limit row_count;

delete from table_name

order by c1, c2, ...

limit row_count;

delete from customers

order by customername

limit 10;

delete from customers

where country = 'france'

order by creditlimit

limit 5;

delete from customers

where country = 'france'

order by creditlimit

limit 5;

mysql 遊戲 知乎 遊戲效能優化雜談(七)

當代的遊戲引擎,cpu端的乙個主要工作其實就是在進行遊戲當中諸多actor的生命週期管理。遊戲相對於其它軟體的乙個顯著特點是,它的執行就是為了呈現。普通軟體注重的是功能和業務流,完成既定任務是軟體的主要目的 但是遊戲軟體的目的就是呈現。因此,聰明地 對遊戲場景以及actor進行管理,對於遊戲的整體效...

摘自知乎 mysql

允許晚輩叫一聲前輩。從前輩的描述中可以看出前輩對mysql已經有很好的理解,但我還是想從我這個半知半解的晚輩角度提出幾點。1.系統學習資料庫,最要緊的是把基本功打牢,所以 資料庫系統概念 原書第六版 是一本不可多得的好書,任何資料庫背後的原理基本上都是想通的,其他的都是不同廠商或組織做的改進和優化 ...

摘自知乎 mysql

允許晚輩叫一聲前輩。從前輩的描述中可以看出前輩對mysql已經有很好的理解,但我還是想從我這個半知半解的晚輩角度提出幾點。1.系統學習資料庫,最要緊的是把基本功打牢,所以 資料庫系統概念 原書第六版 是一本不可多得的好書,任何資料庫背後的原理基本上都是想通的,其他的都是不同廠商或組織做的改進和優化 ...