MySQL中的insert set 和 insert values用法
insert set 和 insert values用法
insert values
- 優(yōu)點(diǎn):可以批量插入;
- 缺點(diǎn):單條執(zhí)行效率低。<適合批量插入>
insert into table(col1,col2,col3) values('val1','val2','val3');insert set
- 優(yōu)點(diǎn):執(zhí)行效率高;
- 缺點(diǎn):每次只能插入一條數(shù)據(jù)。<適合單條插入>
insert into table set col1='val1',col2='val2',col3='val3';
mysql 語法 insert into set
MySQL 對于不同種類的日期和時(shí)間有很多的數(shù)據(jù)類型,比如YEAR和TIME。如果只需要記錄年份,則使用YEAR類型即可;如果只記錄時(shí)間,只需使用TIME類型。如果同時(shí)需要記錄日期和時(shí)間,則可以使用TIMESTAMP或者DATETIME類型。
由于TIMESTAMP 列的取值范圍小于DATETIME的取值范圍,因此存儲(chǔ)范圍較大的日期最好使用DATETIME.
- TIMESTAMP 也有一個(gè)DATETIME 不具備的屬性。
- 默認(rèn)的情況下,當(dāng)插入一條記錄但并沒有指定TIMESTAMP 這個(gè)列值時(shí), MySQL會(huì)把TIMESTAMP列設(shè)為當(dāng)前的時(shí)間。
- 因此當(dāng)需要插入記錄同時(shí)插入當(dāng)前時(shí)間時(shí),使用TIMESTAMP是方便的,另外TIMESTAMP在空間上比DATETIME 更有效。
《當(dāng)需要插入記錄同時(shí)插入當(dāng)前時(shí)間時(shí),使用TIMESTAMP是方便的》
理解了一下這句話的含義,百度查了一下mysql支持這樣的語法, insert into set
mysql> insert into tmp14 values(1); ERROR 1136 (21S01): Column count doesn't match value count at row 1 mysql> insert into tmp14 set id=1; Query OK, 1 row affected (0.00 sec) ? mysql> select * from tmp14; +------+---------------------+ | id ? | td ? ? ? ? ? ? ? ? ?| +------+---------------------+ | ? ?1 | 2022-03-31 16:28:07 | +------+---------------------+ 1 row in set (0.00 sec)
在mysql5.7中無法設(shè)置為兩個(gè)列設(shè)置為timestamp類型。
mysql> create table tmp14(id int,td timestamp,td2 timestamp); ERROR 1067 (42000): Invalid default value for 'td2' ? mysql> alter table tmp14 add column td2 timestamp; ERROR 1067 (42000): Invalid default value for 'td2'
insert into set語法在postgresql中是不支持的。
[txadmin@node2 ~]$ psql ? txdb_default=# create table tmp14(id int,td timestamp); CREATE TABLE txdb_default=# ?insert into tmp14 set id=1; ERROR: ?syntax error at or near "set" 位置: ?insert into tmp14 set id=1; ? ? ? ? ? ? ? ? ? ? ? ? ?^
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mysql??DATEDIFF函數(shù)用法總結(jié)示例詳解
MySQL DATEDIFF()函數(shù)是MySQL中常見的日期函數(shù)之一,它主要用于計(jì)算兩個(gè)日期之間的差值,單位可以是天、周、月、季度和年,DATEDIFF函數(shù)用于返回兩個(gè)日期的天數(shù),這篇文章主要介紹了Mysql??DATEDIFF函數(shù),包括語法格式和示例代碼講解,需要的朋友可以參考下2023-03-03
MySQL中的SHOW FULL PROCESSLIST命令實(shí)現(xiàn)
SHOW FULL PROCESSLIST命令是MySQL中一個(gè)非常有用的工具,可以幫助我們理解和監(jiān)控MySQL服務(wù)器的狀態(tài),本文主要介紹了MySQL中的SHOW FULL PROCESSLIST命令,感興趣的可以了解一下2023-11-11
mysql 多個(gè)字段實(shí)現(xiàn)逗號拼接
在MySQL數(shù)據(jù)庫中,有時(shí)候我們需要將多個(gè)字段的值連接在一起,本文主要介紹了mysql 多個(gè)字段實(shí)現(xiàn)逗號拼接,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
MySQL中find_in_set()函數(shù)用法示例詳解
find_in_set這個(gè)是mysql的一個(gè)函數(shù),見得比較少,下面這篇文章主要給大家介紹了關(guān)于MySQL中find_in_set()函數(shù)用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
Mysql行轉(zhuǎn)列把逗號分隔的字段拆分成多行兩種方法
在數(shù)據(jù)庫中有時(shí)候我們需要將一些行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),這在處理數(shù)據(jù)透視表、報(bào)表生成等場景下非常常見,這篇文章主要給大家介紹了關(guān)于Mysql行轉(zhuǎn)列把逗號分隔的字段拆分成多行的兩種方法,需要的朋友可以參考下2024-05-05
用percona-toolkit為MySQL收集系統(tǒng)和性能信息的教程
這篇文章主要介紹了用percona-toolkit為MySQL收集系統(tǒng)和性能信息的教程,可以輕松地將服務(wù)器基本信息錄入數(shù)據(jù)庫,需要的朋友可以參考下2015-11-11

