成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

詳解mysql DML語句的使用

瀏覽:230日期:2023-10-13 12:05:41

前言:

在上篇文章中,主要為大家介紹的是DDL語句的用法,可能細心的同學已經發現了。本篇文章將主要聚焦于DML語句,為大家講解表數據相關操作。

這里說明下DDL與DML語句的分類,可能有的同學還不太清楚。

DDL(Data Definition Language):數據定義語言,用于創建、刪除、修改、庫或表結構,對數據庫或表的結構操作。常見的有create,alter,drop等。

DML(Data Manipulation Language):數據操縱語言,主要對表記錄進行更新(增、刪、改)。常見的有insert,update,delete等。

1.插入數據

插入數據主要用到的是insert語法,官方文檔同樣給出很多選項:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] [(col_name [, col_name] ...)] {VALUES | VALUE} (value_list) [, (value_list)] ... [ON DUPLICATE KEY UPDATE assignment_list]INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] SET assignment_list [ON DUPLICATE KEY UPDATE assignment_list]INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] [(col_name [, col_name] ...)] SELECT ... [ON DUPLICATE KEY UPDATE assignment_list]value: {expr | DEFAULT}value_list: value [, value] ...assignment: col_name = valueassignment_list: assignment [, assignment] ...

有興趣的同學可以咨詢研究下上面的各個選項哦,下面我將分類給大家介紹幾個常用的語法。

INSERT INTO ... VALUES (...)

這可能是你寫insert語句最常用的一種,標準用法為:

INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]VALUES (值1) [… , (值n) ];INSERT INTO table(column1,column2...)VALUES (value1,value2,...), (value1,value2,...),...;

語法說明如下:

<表名> :指定被操作的表名。 <列名> :指定需要插入數據的列名。若向表中的所有列插入數據,則全部的列名均可以省略,直接采用 INSERT<表名>VALUES(…) 即可。 VALUES 或 VALUE 子句:該子句包含要插入的數據清單。數據清單中數據的順序要和列的順序相對應。

INSERT ... SET ...

insert ... set語句一次只能插入一條數據,可以向表中插入部分列的值,這種方式更為靈活。

INSERT INTO <表名>SET <列名1> = <值1>, <列名2> = <值2>, …

INSERT INTO ... SELECT ...

INSERT INTO…SELECT…FROM 語句用于快速地從一個或多個表中取出數據,并將這些數據作為行數據插入另一個表中。

SELECT 子句返回的是一個查詢到的結果集,INSERT 語句將這個結果集插入指定表中,結果集中的每行數據的字段數、字段的數據類型都必須與被操作的表完全一致。

舉個例子,假如test表和test_bak表結構完全一致,我們想把test表中的數據插入到test_bak表中,那么我們可以這么操作:

INSERT INTO test_bak select * from test;

INSERT ... ON DUPLICATE KEY UPDATE

如果要插入的新行違反主鍵(PRIMARY KEY)或UNIQUE約束,則MySQL會報錯,此語法就是為了解決此錯誤。當數據庫中存在某個記錄時,執行這條語句會更新它,而不存在這條記錄時,會插入它。

下面舉個例子為大家演示下效果:

CREATE TABLE `student` ( `xuehao` int(11) primary key, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 20 |+--------+------+------+insert into student (xuehao,name,age) values (1003,’ccc’,19) on DUPLICATE KEY UPDATE age = 19;mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 19 |+--------+------+------+update student set age = 19 where xuehao = 1003;

REPLACE INTO ... VALUES ...

replace into 跟 insert 功能類似,不同點在于:replace into 首先嘗試插入數據到表中, 1. 如果發現表中已經有此行數據(根據主鍵或者唯一索引判斷)則先刪除此行數據,然后插入新的數據。2. 否則,直接插入新數據。

同樣舉個例子說明下:

mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 19 |+--------+------+------+replace into student values (1003,’ccc’,17);mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 17 |+--------+------+------+

2.更新數據

update語句用于更新表數據,官方推薦語法為:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment_list [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]value: {expr | DEFAULT}assignment: col_name = valueassignment_list: assignment [, assignment] ...

同樣的,這里只給大家介紹常用的單表更新語法:

UPDATE <表名> SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句 ][ORDER BY 子句] [LIMIT 子句]

語法說明如下:

<表名>:用于指定要更新的表名稱。 SET 子句:用于指定表中要修改的列名及其列值。其中,每個指定的列值可以是表達式,也可以是該列對應的默認值。如果指定的是默認值,可用關鍵字 DEFAULT 表示列值。 WHERE 子句:可選項。用于限定表中要修改的行。若不指定,則修改表中所有的行。 ORDER BY 子句:可選項。用于限定表中的行被修改的次序。 LIMIT 子句:可選項。用于限定被修改的行數。

3.刪除數據

delete語句用于刪除表數據,官方文檔推薦語法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [PARTITION (partition_name [, partition_name] ...)] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

使用 DELETE 語句從單個表中刪除數據,語法格式為:

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]

語法說明如下:

<表名>:指定要刪除數據的表名。 ORDER BY 子句:可選項。表示刪除時,表中各行將按照子句中指定的順序進行刪除。 WHERE 子句:可選項。表示為刪除操作限定刪除條件,若省略該子句,則代表刪除該表中的所有行。 LIMIT 子句:可選項。用于告知服務器在控制命令被返回到客戶端前被刪除行的最大值。

總結:

本文主要介紹了三種DML語句的語法,看似簡單,其實其中各種選項還是很復雜的,特別是insert語句,經常用到的選項就有很多。在這里也要提醒大家,執行update或delete語句時一定要小心,不使用where條件會更新或刪除全部數據哦。

以上就是詳解mysql DML語句的使用的詳細內容,更多關于mysql DML語句的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产伦一区二区三区色一情| 天使萌一区二区三区免费观看| 中文一区在线播放| 精品亚洲欧美一区| 先锋影音久久久| 国产精品水嫩水嫩| 国精产品一区一区三区mba桃花| 午夜影院日韩| 自拍偷拍欧美精品| av在线免费不卡| 免费久久99精品国产自在现线| 国产精品乱人伦一区二区| 高清日韩电视剧大全免费| 欧美日韩中文字幕精品| 亚洲在线观看免费视频| 亚洲午夜高清视频| 日本一区二区三区在线不卡| 成人免费福利片| 欧美区一区二区三区| 喷水一区二区三区| 美日韩免费视频| 中文字幕在线一区二区三区| 99久久精品免费精品国产| 欧美一三区三区四区免费在线看| 免费精品视频在线| 久久亚洲欧美| 亚洲va欧美va国产va天堂影院| 亚洲三级观看| **欧美大码日韩| 欧美日本中文| 国产日韩欧美不卡在线| 99久久精品免费看国产免费软件| 日韩一级高清毛片| 国产麻豆成人传媒免费观看| 欧美手机在线视频| 免费观看成人鲁鲁鲁鲁鲁视频| 久久大逼视频| 亚洲成人福利片| 免播放器亚洲| 日本少妇一区二区| 色综合久久久久久久久久久| 性久久久久久久| 久久先锋影音| 天天射综合影视| 色老汉av一区二区三区| 五月激情丁香一区二区三区| 欧美一级二区| 亚洲国产精品久久人人爱| 国产精品毛片| 日韩精品一级中文字幕精品视频免费观看 | 一区二区三区四区亚洲| 羞羞答答国产精品www一本| 奇米影视在线99精品| 在线综合亚洲欧美在线视频| 99精品久久只有精品| 国产精品久久久久一区二区三区 | 亚洲日本一区二区| 久久久久久久波多野高潮日日| 国产一区在线视频| 国产视频一区二区在线| 亚洲欧洲日韩综合二区| 视频一区中文字幕国产| 欧美日本一区二区三区四区| 国产精品一区二区三区网站| 欧美一卡二卡三卡| 女人天堂亚洲aⅴ在线观看| 最新热久久免费视频| 欧美日韩一区二区高清| 亚洲欧美综合在线精品| 海角社区69精品视频| 久久青草欧美一区二区三区| 亚洲天堂激情| 亚洲色图视频网| 国产亚洲第一区| 日韩精品成人一区二区三区| 欧美亚洲一区二区在线| 国产综合色产在线精品| 51精品国自产在线| 免费观看30秒视频久久| 欧美日韩一级二级| 国产夫妻精品视频| 2023国产精品视频| 女主播福利一区| 日韩精品一二三四| 欧美精品导航| 樱花草国产18久久久久| 午夜一区在线| 国内精品视频一区二区三区八戒| 91精品欧美福利在线观看| 成人黄色在线网站| 亚洲国产精华液网站w| 国产精品对白刺激久久久| 午夜伦欧美伦电影理论片| 在线观看国产一区二区| 国产在线播放一区三区四| 日韩美女在线视频| 欧美午夜久久| 亚洲电影一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 91无套直看片红桃| 中文字幕一区二区三区不卡| 国产伦精品一区二区| 免费人成黄页网站在线一区二区| 欧美一区二区三区免费视频| 色综合夜色一区| 亚洲欧美在线观看| 久久精品一区二区国产| 国产电影一区二区三区| 国产精品理论片| 国产九区一区在线| av激情综合网| 亚洲乱码中文字幕| 一本色道综合亚洲| 成人午夜视频网站| 国产精品成人免费在线| 一本色道a无线码一区v| 国产成人免费在线观看| 欧美激情综合五月色丁香| 欧美日韩一区二区在线视频| 不卡的av在线播放| 中文字幕日韩欧美一区二区三区| 国产伦精品一区二区三区视频孕妇 | 亚洲柠檬福利资源导航| 在线视频你懂得一区二区三区| 国产成人免费视频网站| 中文字幕欧美国产| 久久中文在线| 99久久国产综合精品麻豆| 一区二区三区免费看视频| 欧美日韩在线播| 欧美va天堂在线| 日韩高清一级片| 2欧美一区二区三区在线观看视频| 国产一区二区三区奇米久涩| 国产精品99久久久久久久女警 | 不卡视频一二三四| 亚洲香肠在线观看| 精品噜噜噜噜久久久久久久久试看| 亚洲清纯自拍| 成人黄色a**站在线观看| 亚洲精品国产无天堂网2021| 欧美乱妇20p| 久久国产欧美| 欧美1区2区3区| 人禽交欧美网站| 国产日本欧洲亚洲| 欧洲人成人精品| 欧美日韩天天操| 国产美女视频91| 亚洲日本免费电影| 欧美精品黑人性xxxx| 一本大道av一区二区在线播放| av一区二区三区黑人| 日韩影院免费视频| 国产精品久久看| 欧美一区二区三区公司| 亚洲一区高清| 午夜精品久久久久99热蜜桃导演| 蜜桃久久av一区| 日韩欧美色电影| 欧美日韩国产系列| 国产一区二区久久久| 国产91精品入口| 日本va欧美va精品发布| 日韩一区在线看| 精品欧美一区二区三区精品久久 | 中文字幕一区二区视频| 5858s免费视频成人| 噜噜噜91成人网| 你懂的国产精品永久在线| 久久狠狠亚洲综合| 亚洲日本一区二区三区| 久久久精品欧美丰满| 欧美群妇大交群中文字幕| 久久国产精品一区二区三区四区 | 樱桃成人精品视频在线播放| 国产盗摄视频一区二区三区| 亚洲一区二区三区自拍| 国产精品久久久久久久久果冻传媒| 91精选在线观看| 色菇凉天天综合网| 亚洲高清不卡一区| 99久久er热在这里只有精品15| 久久99国内精品| 午夜激情综合网| 中文字幕一区二区三区不卡| 久久香蕉国产线看观看99| 欧美视频在线一区| 欧美日韩一级片在线观看| 亚洲欧美bt| 亚洲精品1区2区| 欧美久久视频| 99re视频这里只有精品| 国产自产2019最新不卡| 日本中文字幕一区二区有限公司| 亚洲精品乱码久久久久| 国产精品免费视频网站| 久久一二三国产| 91麻豆精品国产91| 欧美精品一级二级三级|