首页 > 代码库 > 【MYSQL】insert into
【MYSQL】insert into
- insert into table-name values()
mysql> desc ns; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | uid | int(10) unsigned | NO | PRI | NULL | auto_increment | | uname | varchar(20) | NO | | NULL | | | udate | date | YES | | NULL | | +-------+------------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) mysql> drop table ns; Query OK, 0 rows affected (0.00 sec) mysql> insert into ns values(null,‘alex‘,now()); Query OK, 1 row affected, 1 warning (0.05 sec) mysql> select * from ns; +-----+-------+------------+ | uid | uname | udate | +-----+-------+------------+ | 1 | alex | 2016-11-08 | +-----+-------+------------+ 1 row in set (0.00 sec)
- 插入部分列
mysql> insert into ns values(null,‘alex‘); ERROR 1136 (21S01): Column count doesn‘t match value count at row 1 mysql> insert into ns(uid,uname) values(null,‘alex‘); Query OK, 1 row affected (0.00 sec) mysql> select * from ns; +-----+-------+------------+ | uid | uname | udate | +-----+-------+------------+ | 1 | alex | 2016-11-08 | | 2 | alex | NULL | +-----+-------+------------+ 2 rows in set (0.00 sec)
- 插入非法null
mysql> insert into ns values(null,null,now());
ERROR 1048 (23000): Column ‘uname‘ cannot be null
- 插入两行
mysql> insert into ns values(null,‘jat‘,19871117),(null,‘jet‘,14581122); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from ns; +-----+-------+------------+ | uid | uname | udate | +-----+-------+------------+ | 1 | alex | 2016-11-08 | | 2 | alex | NULL | | 3 | jat | 1987-11-17 | | 4 | jet | 1458-11-22 | +-----+-------+------------+ 4 rows in set (0.00 sec)
- 再次插入部分列
mysql> insert into ns(uname) values(‘james‘); Query OK, 1 row affected (0.00 sec) mysql> select * from ns; +-----+-------+------------+ | uid | uname | udate | +-----+-------+------------+ | 1 | alex | 2016-11-08 | | 2 | alex | NULL | | 3 | jat | 1987-11-17 | | 4 | jet | 1458-11-22 | | 5 | james | NULL | +-----+-------+------------+ 5 rows in set (0.00 sec)
- 使用set 插入数据
mysql> insert into ns set uname=‘lecake‘; Query OK, 1 row affected (0.00 sec) mysql> select * from ns; +-----+--------+------------+ | uid | uname | udate | +-----+--------+------------+ | 1 | alex | 2016-11-08 | | 2 | alex | NULL | | 3 | jat | 1987-11-17 | | 4 | jet | 1458-11-22 | | 5 | james | NULL | | 6 | lecake | NULL | +-----+--------+------------+ 6 rows in set (0.00 sec)
- column 列顺序与表不一致
mysql> insert into ns(uname,udate,uid) values (‘Kyrie‘,20160711,null) -> ; Query OK, 1 row affected (0.00 sec) mysql> select * from ns; +-----+--------+------------+ | uid | uname | udate | +-----+--------+------------+ | 1 | alex | 2016-11-08 | | 2 | alex | NULL | | 3 | jat | 1987-11-17 | | 4 | jet | 1458-11-22 | | 5 | james | NULL | | 6 | lecake | NULL | | 7 | Kyrie | 2016-07-11 | +-----+--------+------------+ 7 rows in set (0.00 sec)
- 使用INSERT…SELECT语句插入从其他表选择的行
- 查询不能包含一个ORDER BY子句,而且INSERT语句的目的表不能出现在SELECT查询部分的FROM子句.
mysql> select * from ns2; +-----+--------+-----------+------------+ | uid | uname | uemail | udate | +-----+--------+-----------+------------+ | 1 | config | con@1.com | 1987-11-17 | | 2 | enable | en@1.com | 1458-11-22 | +-----+--------+-----------+------------+ 2 rows in set (0.00 sec) mysql> select uname,udate from ns2; +--------+------------+ | uname | udate | +--------+------------+ | config | 1987-11-17 | | enable | 1458-11-22 | +--------+------------+ 2 rows in set (0.00 sec) mysql> insert into ns(uname,udate) select uname,udate from ns2; Query OK, 2 rows affected (0.05 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from ns; +-----+--------+------------+ | uid | uname | udate | +-----+--------+------------+ | 1 | alex | 2016-11-08 | | 2 | alex | NULL | | 3 | jat | 1987-11-17 | | 4 | jet | 1458-11-22 | | 5 | james | NULL | | 6 | lecake | NULL | | 7 | Kyrie | 2016-07-11 | | 8 | config | 1987-11-17 | | 9 | enable | 1458-11-22 | +-----+--------+------------+ 9 rows in set (0.00 sec) mysql>
INSERT 语法
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 或: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name SET col_name={expr | DEFAULT}, ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 或: INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
【MYSQL】insert into
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。