-
2018-03-16 10:56:22INSERT INTO activity_rank_logs (ranking, day, lender_id,username,money,rank_type,dt) VALUES
(1, '2018-03-15', 422580,'18998313897',133571349,2,'2018-03-15 00:00:00');
日期和用户名要加单引号,结尾已分号结尾
//多条语句插入
INSERT INTO activity_rank_logs (ranking,day,lender_id,username,money,rank_type,dt) VALUES
(1, '2018-03-15', 42250,'189313897',133571349,2,'2018-03-15 00:00:00'),
(2, '2018-03-15', 37743,'180805235',116489463,2,'2018-03-15 00:00:00'),
(3, '2018-03-15', 42328,'159130956',80167550,2,'2018-03-15 00:00:00'),
(4, '2018-03-15', 40624,'135111949',70355476,2,'2018-03-15 00:00:00'),
(5, '2018-03-15', 40594,'139715345',70015628,2,'2018-03-15 00:00:00');更多相关内容 -
MySQL 插入语句
2020-03-14 09:02:49在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。 基本语法 INSERT 语句有两种语法形式,分别是 INSERT…VALUES 语句和 INSERT…SET 语句。 1 INSERT…VALUES语句 INSERT VALUES 的...数据库与表创建成功以后,需要向数据库的表中插入数据。在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。
基本语法
INSERT 语句有两种语法形式,分别是 INSERT…VALUES 语句和 INSERT…SET 语句。
1 INSERT…VALUES语句
INSERT VALUES 的语法格式为:INSERT INTO <表名> [ <列名1> [ , … <列名n>] ] VALUES (值1) [… , (值n) ];
语法说明如下。
<表名>:指定被操作的表名。 <列名>:指定需要插入数据的列名。若向表中的所有列插入数据,则全部的列名均可以省略,直接采用 INSERT<表名>VALUES(…) 即可。 VALUES 或 VALUE 子句:该子句包含要插入的数据清单。数据清单中数据的顺序要和列的顺序相对应。
2 INSERT…SET语句
语法格式为:INSERT INTO <表名> SET <列名1> = <值1>, <列名2> = <值2>, …
此语句用于直接给表中的某些列指定对应的列值,即要插入的数据的列名在 SET 子句中指定,col_name 为指定的列名,等号后面为指定的数据,而对于未指定的列,列值会指定为该列的默认值。
由 INSERT 语句的两种形式可以看出:
使用 INSERT…VALUES 语句可以向表中插入一行数据,也可以插入多行数据; 使用 INSERT…SET 语句可以指定插入行中每列的值,也可以指定部分列的值; INSERT…SELECT 语句向表中插入其他表的数据。 采用 INSERT…SET 语句可以向表中插入部分列的值,这种方式更为灵活; INSERT…VALUES 语句可以一次插入多条数据。
在 MySQL 中,用单条 INSERT 语句处理多个插入要比使用多条 INSERT 语句更快。
当使用单条 INSERT 语句插入多行数据的时候,只需要将每行数据用圆括号括起来即可。
向表中的全部字段添加值
在 test_db 数据库中创建一个课程信息表 tb_courses,包含课程编号 course_id、课程名称 course_name、课程学分 course_grade 和课程备注 course_info,输入的 SQL 语句和执行结果如下所示。
mysql> CREATE TABLE tb_courses -> ( -> course_id INT NOT NULL AUTO_INCREMENT, -> course_name CHAR(40) NOT NULL, -> course_grade FLOAT NOT NULL, -> course_info CHAR(100) NULL, -> PRIMARY KEY(course_id) -> ); Query OK, 0 rows affected (0.00 sec)
向表中所有字段插入值的方法有两种:一种是指定所有字段名;另一种是完全不指定字段名。
在 tb_courses 表中插入一条新记录,course_id 值为 1,course_name 值为“Network”,course_grade 值为 3,info 值为“Computer Network”。
在执行插入操作之前,查看 tb_courses 表的SQL语句和执行结果如下所示。
mysql> SELECT * FROM tb_courses; Empty set (0.00 sec)
查询结果显示当前表内容为空,没有数据,接下来执行插入数据的操作,输入的 SQL 语句和执行过程如下所示。
mysql> INSERT INTO tb_courses -> (course_id,course_name,course_grade,course_info) -> VALUES(1,'Network',3,'Computer Network'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | +-----------+-------------+--------------+------------------+ 1 row in set (0.00 sec)
可以看到插入记录成功。在插入数据时,指定了 tb_courses 表的所有字段,因此将为每一个字段插入新的值。
INSERT 语句后面的列名称顺序可以不是 tb_courses 表定义时的顺序,即插入数据时,不需要按照表定义的顺序插入,只要保证值的顺序与列字段的顺序相同就可以。
在 tb_courses 表中插入一条新记录,course_id 值为 2,course_name 值为“Database”,course_grade 值为 3,info值为“MySQL”。输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses -> (course_name,course_info,course_id,course_grade) -> VALUES('Database','MySQL',2,3); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | +-----------+-------------+--------------+------------------+ 2 rows in set (0.00 sec)
使用 INSERT 插入数据时,允许列名称列表 column_list 为空,此时值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。
在 tb_courses 表中插入一条新记录,course_id 值为 3,course_name 值为“Java”,course_grade 值为 4,info 值为“Jave EE”。输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses -> VLAUES(3,'Java',4,'Java EE'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | +-----------+-------------+--------------+------------------+ 3 rows in set (0.00 sec)
INSERT 语句中没有指定插入列表,只有一个值列表。在这种情况下,值列表为每一个字段列指定插入的值,并且这些值的顺序必须和 tb_courses 表中字段定义的顺序相同。
注意:虽然使用 INSERT 插入数据时可以忽略插入数据的列名称,若值不包含列名称,则 VALUES 关键字后面的值不仅要求完整,而且顺序必须和表定义时列的顺序相同。如果表的结构被修改,对列进行增加、删除或者位置改变操作,这些操作将使得用这种方式插入数据时的顺序也同时改变。如果指定列名称,就不会受到表结构改变的影响。
向表中指定字段添加值
为表的指定字段插入数据,是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
在 tb_courses 表中插入一条新记录,course_name 值为“System”,course_grade 值为 3,course_info 值为“Operating System”,输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses -> (course_name,course_grade,course_info) -> VALUES('System',3,'Operation System'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | | 4 | System | 3 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
可以看到插入记录成功。如查询结果显示,这里的 course_id 字段自动添加了一个整数值 4。这时的 course_id 字段为表的主键,不能为空,系统自动为该字段插入自增的序列值。在插入记录时,如果某些字段没有指定插入值,MySQL 将插入该字段定义时的默认值。
使用 INSERT INTO…FROM 语句复制表数据
INSERT INTO…SELECT…FROM 语句用于快速地从一个或多个表中取出数据,并将这些数据作为行数据插入另一个表中。
SELECT 子句返回的是一个查询到的结果集,INSERT 语句将这个结果集插入指定表中,结果集中的每行数据的字段数、字段的数据类型都必须与被操作的表完全一致。
在数据库 test_db 中创建一个与 tb_courses 表结构相同的数据表 tb_courses_new,创建表的 SQL 语句和执行过程如下所示。
mysql> CREATE TABLE tb_courses_new -> ( -> course_id INT NOT NULL AUTO_INCREMENT, -> course_name CHAR(40) NOT NULL, -> course_grade FLOAT NOT NULL, -> course_info CHAR(100) NULL, -> PRIMARY KEY(course_id) -> ); Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM tb_courses_new; Empty set (0.00 sec)
从 tb_courses 表中查询所有的记录,并将其插入 tb_courses_new 表中。输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses_new -> (course_id,course_name,course_grade,course_info) -> SELECT course_id,course_name,course_grade,course_info -> FROM tb_courses; Query OK, 4 rows affected (0.17 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM tb_courses_new; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | | 4 | System | 3 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
-
java连接mysql 插入语句
2020-06-22 09:24:221、首先 下载驱动:mysql-connector-java-5.1.49.jar 然后eclipse中,新建项目,鼠标右键单击项目名,找到build path,configure build path。modulepath 中,添加额外jar包。 2、 class Mysql{ public Mysql ...1、首先 下载驱动:mysql-connector-java-5.1.49.jar
然后eclipse中,新建项目,鼠标右键单击项目名,找到build path,configure build path。modulepath 中,添加额外jar包。
2、class Mysql{ public Mysql (String link,String sentence)throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/"+link;//link 数据库名 String user = "root"; String password = "root"; Connection myConnection = DriverManager.getConnection(url,user,password); Statement mystatement = myConnection.createStatement(); System.out.println(url); System.out.println(sentence); sentence="insert into employee.info values(?,?,?)"; PreparedStatement stmt = (PreparedStatement) myConnection.prepareStatement(sentence); stmt.setString(1, "22"); stmt.setString(2, "a"); stmt.setString(3, "a"); stmt.execute(); stmt.close(); mystatement.close(); myConnection.close(); } }
-
MySQL插入语句
2020-05-22 10:37:40MySQL的value和values的区别 网上看了各种版本,其实value和values没有区别。官网解释如下: VALUEis a synonym forVALUESin this context. Neither implies anything about the number of values lists, nor ...MySQL常见的用法
插入单条记录
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
插入多条记录
INSERT INTO tbl_name (a,b,c) VALUES (1,2,3), (4,5,6), (7,8,9);
从一个或多个表中进行选择插入到表中
INSERT ... SELECT
INSERT INTO tbl_temp2 (fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
从MySQL 8.0.19开始,您可以使用
TABLE
语句代替SELECT
,如下所示:INSERT INTO ta TABLE tb;
TABLE tb
等同于SELECT * FROM tb
MySQL的value和values的区别
网上看了各种版本,乱七八糟的。mysql8.0官网INSERT语句解释如下:
VALUE
is a synonym forVALUES
in this context. Neither implies anything about the number of values lists, nor about the number of values per list. Either may be used whether there is a single values list or multiple lists, and regardless of the number of values per list.我翻译如下:
在文中,VALUE是VALUES的同义词。既不表示值列表的数量,也不表示每个列表的值的数量。无论是单个值列表还是多个列表,也无论每个列表的值数如何,都可以使用这两种方法。
-
mysql语句如何插入含单引号或反斜杠的值详解
2020-09-09 05:38:42主要给大家介绍了关于mysql语句如何插入含单引号或反斜杠的值的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 -
Python语句实现Mysql多条插入语句
2017-10-26 16:51:12本代码,用python语句,实现了一次插入多条sql语句。希望能对大家带来帮助。 -
Python连接MySQL insert插入语句
2021-11-21 16:14:46conn.commit() except Exception as e: print('一场异常', e) conn.rollback() 我的策略 sql语句和values分开通过格式符连接 列名和关键词相同时用tab键上面的《 ` 》(英文模式下)包裹起来 `date`,`group`,`section` -
mysql插入语句怎么插入日期用什么函数?
2015-12-04 12:22:33sql="insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)" + " values(1000,?,?,?,date_format(?... 如上 在mysql中把String转换成日期 应该怎么写,用什么函数? -
MySQL插入和查询语句操作(MYSQL语句操作教程1)
2021-01-19 22:59:35在数据表中插入、浏览、修改和删除记录可以再MySQL命令行中使用sql语句完成,下面介绍如何在MySQL命令行中执行基本的SQL语句。1.插入记录在建立一个空的数据库和数据表时,首先需要考虑的是如何向数据表总共添加数据... -
MySQL插入语句优化
2018-02-25 18:33:39插入语句如何优化 插入数据时,影响插入速度的主要是索引、唯一性校验、一次插入的数据条数等。 插入数据的优化,不同的存储引擎优化手段不一样,在MySQL中常用的存储引擎有,MyISAM和InnoDB,两者的区别: ... -
Mysql中插入数据语句
2021-01-18 18:26:39、insert ignore into、replace into都是插入数据的语句。insert into 的 SQL语法:添加一行数据(如果数据时字符型,需要加上单/双引号)INSERT INTO table_name (field1,field2,...)VALUES (value1,value2,...);这..... -
MySQL三 插入语句包含查询语句
2019-12-25 10:42:33对 A 表执行插入方法时,有个字段的值需要从 B 表中查询出,同时以参数的形式插入到 A 表中。老规矩,偷懒。。。 过程: sql = "INSERT INTO A SET UserName='" + name + "', DeptID=" + str(deptid)+ ", UserNo=... -
MySQL中添加或插入语句(Insert)的几种使用方式
2021-01-21 01:45:56MySQL中添加或插入语句(Insert)的几种使用方式1.INSERT 简写方式插入数据(不推荐)1.先看一下表中有那些数据2.使用Inset into 表名 values(值1,值2)进行插入,并对查看插入数据是否成功注意:insert这种简写的方式虽然... -
MySQL中实现插入或更新操作(类似Oracle的merge语句)
2020-09-10 00:15:08主要介绍了在MySQL中实现插入或更新操作(类似Oracle的merge语句)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 -
详解MySQL插入和查询数据的相关命令及语句使用
2020-12-15 19:46:49MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT ... -
mysql插入数据有(datetime类型怎么插入) 求一个完整的SQL语句
2021-01-18 20:59:37展开全部日期/时间的格62616964757a686964616fe59b9ee7ad9431333332626662式化[字符串转换为日期]mysql>SELECT->STR_TO_DATE('2010~10~2220.55.09',->'%Y~%m~%d%k.%i.%s')A;+---------------------+|A... -
MySQL插入语句insert性能优化
2015-09-28 10:18:48对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。当导入的数据量较大时,...常用的插入语句如: [sql] view plaincopy INSERT INTO -
mysql 带条件的插入语句
2019-01-28 16:08:43insert into person_table (uid,pname,age) select 2,"李四",20 from dual where not exists (select id from person_table where uid=2 ) 表:person_table 列名 : (id,uid,pname,age) ... -
Mysql插入语句之value与values区别
2018-06-09 19:38:43看了一下官方文档,VALUE与VALUES都是正确的,经过验证,这两个也是可以混合着用的,只是两者对不同语句插入数量的执行效率各不相同。VALUE插入一行VALUES插入一行可以看出在插入单行时,使用VALUES比较快VALUE插入... -
求mysql语句(insert之前先查询)
2021-01-19 18:23:38@Eapen 参考我对你的回答的评论。@xaero 我觉得你的问题把我们都带偏了。对于消息的首发来说是不存在parent这个属性的,因为消息是按照时间顺序排列的。只有论坛的帖子回复才有parent的问题,这个parent可以在前台... -
MySQL插入语句执行出错ERROR1366,不正确的字符串值
2019-10-04 22:36:33ERROR 1366 (HY000): Incorrect string value: '\xC1\xF5\xB5\xC2\xBB...笔者执行了这样一条简单的语句后出现的上面的错误 mysql> insert into student values('刘德华',100124,1,null,'声乐192班'); 这个表设... -
在新增数据(执行插入语句)时MySQL自增长字段的处理
2020-04-03 15:49:19然而,自增长字段在插入数据时该怎么处理呢?? 1.若不做处理(爆错): public boolean addUser(User user) { // TODO Auto-generated method stub String sql = "insert into user values(?,?,?,?,?,?,?,?,?... -
MySQL插入语句insert into,insert ignore into,insert into ... on duplicate key update,replace into-...
2020-06-08 00:34:25文章目录常用插入语句insert intoinsert ignore intoinsert into ... on duplicate key updatereplace into使用场景总结 当MySQL表字段设置unique key或者primary key时,被约束的字段就必须是唯一的。新插入数据... -
mysql语句获得插入语句的ID
2014-04-17 20:27:45mysql_insert_id();可以得到上一个插入语句的id值,如果查询不到上一个出入语句的id就返回一个0; -
oracle 和mysql中几种插入语句
2018-10-11 10:36:42oracle的几种插入语句 insert into 表名 values(值1,值2,......); insert into 表名(列1,列2,......)values(值1,值2,......); insert into 表名2(列1,列2,......)select 值1,值2,...... from 表名1; ... -
Python中执行 MySQL插入语句报错 :1064, "You have an error in your SQL syntax;
2020-04-14 00:32:19Python MySQL 插入语句 (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Darabont,弗兰克·德拉邦特,... -
SQL 插入数据(INSERT INTO 语句)
2021-01-27 22:12:27SQL 插入数据(INSERT INTO 语句)在本教程中,您将学习如何使用SQL在数据库表中插入记录。在表中插入数据在上一章中,我们在演示数据库中创建了一个名为person的表。现在是时候在我们新创建的数据库表中插入一些数据... -
mybatis插入语句
2019-09-23 17:06:46mybatis插入语句一般都是这样写 <!-- useGeneratedKeys="true"把新增加的主键赋值到自己定义的keyProperty(id)中 --> <insert id="insert" parameterType="xxx.xxx.xxx.xxx" keyProperty="id" ...