SQL语法中用INSERT来向一个表格里插入数据, 比如一个表 table 有四列 A, B, C 和D 你就可以使用:
insert into table (`A`, `B`, `C`, `D`) values ('a', 'b', 'c', 'd')
或者 不需要指明 字段就可以更简洁:
insert into table values ('a', 'b', 'c', 'd')
不过这种的缺点就是你必须知道 默认的表格字段顺序 一旦顺序变了 就不行了 所以这种方法应该尽量避免.
MYSQL有另一种延展:
insert into table set `A` = 'a', `B` = 'b', `C` = 'c'
这样的话 就类似 update 语句一样 可以分别对每个字段进行指定, 这种是比较好的方式, 比如最近我看到了一些历史遗留下来的代码, 在C++里将插入表格的查询语句写死了.
1 2 | #define INSERT_QUERY "insert into TABLE values ('%s','%s',now(),'%d-%d-%d','%s','%s','%s','%s','%s',%d,%d,'%s',"\ "'%0.2X-%0.2X-%0.2X-%0.2X-%0.2X-%0.2X','%s',1,0)" |
#define INSERT_QUERY "insert into TABLE values ('%s','%s',now(),'%d-%d-%d','%s','%s','%s','%s','%s',%d,%d,'%s',"\ "'%0.2X-%0.2X-%0.2X-%0.2X-%0.2X-%0.2X','%s',1,0)"
这样我就没法改后台数据库表的顺序和结构, 我想再添加一个无关痛痒的字段原来的查询语句都不能工作, 如果用成 insert set 就没有这样的问题.
英文: https://helloacm.com/better-sql-insert-syntax/
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK