1. 程式人生 > 其它 >插入更新和刪除資料

插入更新和刪除資料

4.1 插入資料
4.1.1 為表的所有欄位插入資料
使用基本的INSERT語句插入資料要求指定表名稱和插入到新記錄中的值。
INSERT INTO table_name (column_list) VALUES (value_list);

雖然使用INSERT插入資料時可以忽略插入資料的列名稱,但是值如果不包含
列名稱,那麼Values關鍵字後面的值不僅要求完整,而且順序必須和表定義時列的順序相同

4.1.2 為表的指定欄位插入資料
為表的指定欄位插入資料,就是在INSERT語句中只向部分欄位中插入值,而其他欄位的值為表定義時的預設值。
4.1.3 同時插入多條記錄
INSERT語句可以同時向資料表中插入多條記錄,插入時指定多個值列表,每個值列表之間用逗號分隔開,基本語法格式如下,
INSERT INTO table_name (column_list) VALUES (value_list1), (value_list2),...,
(value_listn);

4.1.4 將查詢結果插入到表中(把這個表中的資料插入到另外一個表中)
INSERT語句和SELECT語句組成的組合語句即可快速地從一個或多個表中向一個表中插入多個行。
INSERT INTO table_name1 (column_list1)
SELECT (column_list2) FROM table_name2
WHERE (condition)
4.2 更新資料
MySQL中使用UPDATE語句更新表中的記錄,可以更新特定的行或者同時更新所有的行。
UPDATE table_name
SET column_name1 = value1,
column_name2=value2,……,
column_namen=valuen
WHERE (condition);
4.3 刪除資料
從資料表中刪除資料使用DELETE語句,DELETE語句允許WHERE子句指定刪除條件。
DELETE FROM table_name、
[WHERE condition>] ;
4.4 為表增加計算列
什麼叫計算列呢,簡單來說就是某一列的值是通過別的列計算得來,例如a列值為1,b列值為2,c列不需要操作手動插入,定義為a + b的結果為c的值,那麼c就是計算列,是通過別的列計算得來。
增加計算列的語法格式如下:
col_name data_type [GENERATED ALWAYS] AS (expression)
[VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment]
[NOT NULL | NULL] [[PRIMARY] KEY]

在MySQL8.0中,CREAE TABLE和ALTER TABLE中都支援增加計算列
主要使用這句在定義也就是CREAE TABLE的時候中用GENERATED ALWAYS AS (expression)VIRTUAL;expression為表示式

在MySQL 8.0中,CREAE TABLE和ALTER TABLE中都支援增加計算列。下面以在CREAE TABLE中為例進行講解。
4.5 MySQL 8.0的新特性——DDL的原子化
在MySQL 8.0版本中,InnoDB表的DDL支援事務完整性。即DDL操作要麼成功要麼回滾。DDL操作回滾日誌寫入到data dictionary 資料字典表 mysql.innodb_ddl_log 中用於回滾操作,該表是隱藏的表,通過show tables無法看到。通過設定引數,可將DDL操作日誌列印輸出到mysql錯誤日誌中。

就是刪除多個表時,有幾個是錯誤的,刪除報錯時,並不會把正確的給刪除

4.6 綜合案例——記錄的插入、更新和刪除

努力拼搏吧,不要害怕,不要去規劃,不要迷茫。但你一定要在路上一直的走下去,儘管可能停滯不前,但也要走。