示例1:通过…语句向数据表中插入一条完整的数据 。
mysql> SELECT * FROM tb_admin;Empty set (0.00 sec)mysql> DESC tb_admin;+------------+-------------+------+-----+---------+-------+| Field| Type| Null | Key | Default | Extra |+------------+-------------+------+-----+---------+-------+| id| int| NO| PRI | NULL||| username| varchar(40) | YES|| NULL||| password| varchar(30) | NO|| NULL||| createtime | datetime| YES|| NULL||+------------+-------------+------+-----+---------+-------+4 rows in set (0.00 sec)mysql> INSERT INTO tb_admin VALUES(1,'amo','123456','2023-01-31 03:32:50');Query OK, 1 row affected (0.00 sec)mysql> SELECT * FROM tb_admin;+----+----------+----------+---------------------+| id | username | password | createtime|+----+----------+----------+---------------------+|1 | amo| 123456| 2023-01-31 03:32:50 |+----+----------+----------+---------------------+1 row in set (0.00 sec)
情况2:为表的指定字段插入数据 , 就是在语句中只向部分字段中插入值 , 而其他字段的值为表定义时的默认值 。语法如下:
INSERT INTO 表名(column1 [, column2, …, columnn]) VALUES (value1 [,value2, …, valuen]);#在 INSERT 子句中随意列出列名 , 但是一旦列出 , VALUES中要插入的value1, valuen需要与#column1,columnn列一一对应 。如果类型不同 , 将无法插入 , 并且MySQL会产生错误
示例2:通过…语句向数据表中插入数据记录的一部分 。
mysql> INSERT INTO tb_admin(id,username,password) VALUES (2, 'Jerry', 'Jerry123456');Query OK, 1 row affected (0.00 sec)mysql> SELECT * FROM tb_admin;+----+----------+-------------+---------------------+| id | username | password| createtime|+----+----------+-------------+---------------------+|1 | amo| 123456| 2023-01-31 03:32:50 ||2 | Jerry| Jerry123456 | NULL|+----+----------+-------------+---------------------+2 rows in set (0.00 sec)
情况3:同时插入多条记录 。语句可以同时向数据表中插入多条记录 , 插入时指定多个值列表 , 每个值列表之间用逗号分隔开 , 基本语法格式如下:
INSERT INTO table_name VALUES(value1 [,value2, …, valuen]), (value1 [,value2, …, valuen]),……(value1 [,value2, …, valuen]);#或者INSERT INTO table_name(column1 [, column2, …, columnn]) VALUES(value1 [,value2, …, valuen]), (value1 [,value2, …, valuen]),……(value1 [,value2, …, valuen]);
示例3:通过…语句向数据表中一次插入多条记录 。
mysql> INSERT INTO tb_admin(id,username,`password`,createtime) VALUES-> (3, 'Paul', 'Paul123456', NOW()),-> (4, 'Ben', 'Ben123456', NULL),-> (5, 'Crystal', 'Crystal123456', NOW()),-> (6, 'Jason', 'Jason123456', NULL);Query OK, 4 rows affected (0.00 sec)Records: 4Duplicates: 0Warnings: 0mysql> SELECT * FROM tb_admin;+----+----------+---------------+---------------------+| id | username | password| createtime|+----+----------+---------------+---------------------+|1 | amo| 123456| 2023-01-31 03:32:50 ||2 | Jerry| Jerry123456| NULL||3 | Paul| Paul123456| 2023-01-31 03:44:37 ||4 | Ben| Ben123456| NULL||5 | Crystal| Crystal123456 | 2023-01-31 03:44:37 ||6 | Jason| Jason123456| NULL|+----+----------+---------------+---------------------+6 rows in set (0.00 sec)
使用同时插入多条记录时 , MySQL 会返回一些在执行单行插入时没有的额外信息 , 这些信息的含义如下:
Records: 表明插入的记录条数Duplicates: 表明插入时被忽略的记录 , 原因可能是这些记录包含了重复的主键值Warnings: 表明有问题的数据值 , 例如发生数据类型转换
- vue中swiper vue-awesome-swiper的使用方法和爬坑大法
- 使用angular和swiper做的一个滑动小插件
- Angular中使用Swiper不能滑动的解决方法
- 2.闭包nonlacal标识的使用
- angularjs中使用ng-repeat的注意点
- ng-repeat,ng-if angular笔记使用小技巧
- 1. 计算机的基本概念
- hexo stellar设置目录跳转记录
- python接口自动化8-unittest框架使用
- 【使用pytest重构项目】pytest:setup和teardown的5种应用