Java执行SQL的insert语句

public class JDBC_2 {
public static void main(String[] args) {
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/xskc";
String user = "root";
String pwd = "mch0dmin";
java.sql.Connection con = DriverManager.getConnection(url, user, pwd);
//java.sql.Statement stmt = con.createStatement();
Statement stmt = null;
String sql = "insert into student values('95005', '张三', '男', 50, 'DC')";
//String sql = "select sno from student";
stmt.executeQuery(sql);

        如果执行的是注释中的select语句,就不会报错,按时执行insert语句,就出现问题,请大牛帮帮忙!谢谢!

9个回答

你明显是错了,这insert是更改操作,但是你执行的是executeQuery(sql)方法,应该.execute(sql)

你明显是错了,这insert是更改操作,但是你执行的是executeQuery(sql)方法,应该.execute(sql)

你都不说报的什么错,这个谁能猜出来

你确定你的sql语句能正确执行,先在数据库那里试试能不能执行

不是调用这个executeQuery方法,execute的参数才是任何sql语句!

错误信息粘出来吧,这样没法猜

报错误是什么内容,不然不好对症下药

注意看数据库基础类提供的函数用途~~
execute是执行,query是查询~~~

select操作时,用executeQuery();执行insert操作时,用executeUpdate();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
PreparedStatement 执行insert语句遇到的坑
众所周知,JDBC执行sql语句 分为两种 一种是Statement 和 PreparedStatement: 关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高以下主要讲述    PreparedStatement习性import java.sql.SQLExceptio...
把任意数据库导出为其它数据库的insert(可执行程序+java代码)
软件功能: java编写。 此软件用于把数据库里的数据导出为指定数据库类型的insert语句,用于数据备份或迁移到另一个数据库, 大文本和二进制字段被忽略。 当前支持oracle、sybase、mysql和ms sqlServer数据库。 你可以修改参数文件、增加新的jdbc驱动来增加新数据库种类的支持。 使用方法: 软件为免安装的绿色软件。系统必须已经安装1.4版本以上的java虚拟机。 解压缩包到任意目录,执行getIni.bat运行程序。 下载后觉得可以用,请ding一下,谢谢!。
Java批量插入Oracle语句执行过程。
public String insertContractReal(String contractID, List cashIds) { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = this.loadNewConnection(); St
JAVA执行INSERT或UPDATE语句比较慢,如何加快执行速度
最近在用Oracle update 一个大表,发现 update的速度很慢,上网找了很多方法。修修攺改,最后发现1、Oracle sql 语句执行并行操作:update  /*+ parallel(x,4)*/ 表名 x set bl='CXXXX' where id='0913';commit;如果还不行ALERT SESSION ENABLE  PARALLEL DML; 临时更改对话为并行,...
PL/SQL 多条insert语句一起执行
一次性执行多条insert语句INSERT INTO wtr_workrecord   (id,wbs_id,gic_id,activity_id,city_id,work_date,norduration,description,sitename,neid,netypeid,user_id,checkuser_id,approveuser_id,status, period,ot1duratio...
如何得到JDBC Insert 语句执行后插入数据库记录的主键
本文转自:http://blog.csdn.net/wwg2436/article/details/7638309 未作修改。 当插入一条记录时,我们很多时候都想马当前插入的主键返回出来. 别外.如果主键是自动生成的(大多数时候是这样),那么取回主键是一种比较困难的事. 可能对于一些特殊的数据库必须把insert into和select max(key)或什么序列当前值作为一个事务的原子来
mybitas 执行insert 语句后获取当前插入行的主键!
mybitas 执行insert 语句后获取当前插入行的主键! java文件里面 class User{   private Integer userId;   private String userName;  }   xml文件里面: insert id="insert"  parameterType="xxx.User"  useGeneratedKeys="
类型引发的sql语句一直不能执行
u.id,u.coupon_no,u.order_no,u.order_id,u.member_id,u.member_name,u.coupon_id,u.binddate,r.goods_name,r.rule_type         select         from ec_coupon_book_user u left join ec_coupon_book b on
PreparedStatement语句插入数据
代码:  1.直接调用插入: DButil.java import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; import com.mysql.jdbc.Connection; public class DButil { /* * 打开数据库 */
ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法
有些情况下,SQL SERVER 2008r2中需要保存float,int类型的数据,当C++中的变量为double类型时,先格式化为Cstring格式,再组合成SQL语句。 对应的C++ 插入语句写法如下: m_pConnection->Execute(_bstr_t("INSERT INTO Gps(GPSTIME,S1XZWZ,S1X,S1Y,S1HZJD,S1DW,S1FX)\
JAVA 使用插入语句插入记录
最近在做一个数据脱敏(敏感信息脱敏)的项目,遇到这么一个SQL问题,拿出来和大家分享一下。关系型数据库,系统插入数据是使用SQL语句进行批量插入,当插入的数据的字段非常长的时候,里面包含的字符可能会造成SQL语法错误,当时检查了好久,发现了一下几点错误。 1.有些表的字段包括序列化后的内容,包含数据库表结构的序列化内容,如default:('0'),这样的字段值,但是这样执行SQL语句是会报错的
用数据源的hibernate 拼接insert SQL 语句
关于hibernate 的拼接sql语句在网上查了很多,但关于insert的确不是很多,将这些记录下来。 在插入语句的时候: // 此SQL语句因数据库字段类型而定,两种方式前面为NUMBER类型,后面为字符串类型 String sql ="INSERT INTO TABLE"+"(PARAM1,PARAM2) VALUES("PARAM1",'"+PARAM2+"')"; 在插入语句的时
insert语句执行成功,但数据库类没有变化
可能就是你插入的多个字段中,有一个为空。例子如下 String sql="insert into allorder values('" + orderid + "','" + bookid +"','1','" + username + "','0')";            //out.println("htllo");            int result=stmt.exec
大量包含Insert语句的脚本文件批量执行导入数据
http://hi.baidu.com/ljm0211/item/acf758d40a4839866dce3fb3         今天,同事让我帮忙处理这样一个问题:PM提供了数十个.dat文件,每个文件中包含大量的Insert语句,比较大的dat文件达到了700多M,如何将这些数据快速的导入数据库中?         最直接的做法是执行这些Insert语句,不过担心速度比较慢,或者大量的I
JDBC之获取插入语句返回的主键
该获取主键并不是绝对的,也和具体的数据库实现的驱动有关。 package cn.itcast.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement
oracle 导出的insert语句过长 运行插入错误的解决
因客户给的数据过长,insert语句执行报错 所以在测试环境下 写程序导入 但是要部署到linux下 sql文件执行报错 最终找到oracle备份和恢复解决办法 方法如下 //用system用户连接数据库 sqlplus system/admin@orcl as sysdba //赋权给root用户  grant CREATE ANY DIRECTORY to root;
#数据库操作tips#执行insert语句,参数太多时将insert语句格式化
在完成学校布置的大作业中,需要对数据库中的一个表进行insert操作,这个表记录了员工信息,表如下: 一般情况下执行insert语句会考虑用PreparedStatement,因为参数未知,需要传入引用值。 这个表中有九个属性,在添加员工时,如果用PreparedStatement来执行插入语句,则会是这样的: String sql = "insert into staf
PLSQL 如何将多个insert语句一起运行
PLSQL 如何将多个insert语句一起运行 insert into loc(列1,列2,列3) values ('A','B','C'); insert into loc(列1,列2,列3) values ('A','C','B'); insert into loc(列1,列2,列3) values ('','','',); insert into loc(列1,列2,列3) va
mysql增加插入执行sql语句文件的大小
max_allowed_packet=500M wait_timeout=288000 interactive_timeout = 288000 把这个加入到my.ini就可以了
mybatis 一次执行多条SQL
原文出处 感谢作者: http://rhodian.iteye.com/blog/1930891 mybatis+mysql如何批量执行多条语句 博客分类:  mybatis+mysql mybatismysql批量提交allowMultiQueries  此处仅描述问题处理方法,关于mysql、mybatis的内容不在此赘述。  
如何在mybatis中一个insert,delete,update中执行多条SQL语句
一般我们会在applicationContect中这么配置: destroy-method="close"> value="jdbc:mysql://192.168.0.15:3306/lzy_dbv2?characterEncoding=UTF-8&allowMultiQueries=true" />   应该有很多方式可以做到,比较方便的做法是加al
持久化API(JPA)系列(四)管理器EntityManager--执行数据库更新
EntityManager是应用访问持久化上下文中的实体的接口,用来对实体Bean进行操作。我们可以使用它来创建、删除、修改持久化的实体,以体现到数据库中;也可以从数据库中查询得到实体或实体列表。所有的这些操作都是通过实体管理器进行的。 本文将首先讲解EntityManager对象的引用方式,然后讲解使用EntityManager的操作函数实现数据库的各种操作,包括以下内容。 持久
Hibernate执行原生的sql语句
1,可以通过session.cretaeSQLQuery().executeUpdate()。来执行。 如:public void insertDemo(final String name,final String password){ final String nm=getNM(); getHibernateTemplate().execute(new HibernateCallback(
jdbc 链接mysql执行sql语句出现中文乱码问题
我用的是解压版的Mysql,在使用jdbc链接mysql执行sql语句的时候,sql语句中的where条件,参数值带中文,则查询不到结果,而where条件,参数值都为数字或字母时 可以正常查询,原因是mysql的character_set_connection默认的设置不是utf8,我的解决办法,打开命令行提示符操作界面  登陆mysql 执行 SET character_se
Sql语句Insert提高效率
在执行SQL语句的时候,插入多行insert语句,效率写法 insert
Oracle:如何解决在执行insert语句后,插入的数据乱码
通过cmd命令执行sql语句 设置编码格式: cmd命令输入:SET NLS_LANG=american_america.AL32UTF8         首先连接oracle    C:\Users\huangweihua>sqlplus 用户名/密码@IP:1521/实例名 再执行sql语句,如下图 SQL> @"D:\Program Files\Desktop\sql.sql
PHP实现单条sql执行多个数据的insert语句
废话不多说 直接上代码<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/4/21 * Time: 10:41 */ header("Content-type: text/html; charset=utf-8"); $mysqli = new mysqli('localhost','root','...
NHibernate直接执行SQL进行插入
有时候,需要用NHibernate直接执行SQL进行数据insert或update。怎么写呢?简单一点的,可以直接拼凑出来的SQL,这样写:using NHibernate;StringBuilder sb = new StringBuilder($@"insert into {tablename}(id,report_Id) values({id},{reportid})"); ISQLQuery
关于MyBatis中insert返回值与SQLserver触发器/存储过程返回执行结果的问题
SQLserver触发器和Mybatis的Mapper有冲突
一个insert插入语句很慢的优化
出处:http://blog.itpub.net/26736162/viewspace-1244044 原sql语句: INSERT INTO RISKREPT.BASE_FMLG (BATCH_DATE, DATE_STAMP_ST, TIME_STAMP_ST, ORG, ACCT, CARD_NBR, CARD_SEQ, MER_ORG, MER_NBR, REQUEST_TYP
黑马程序员之ADO.NET学习笔记:执行Insert操作
首先,需要申明一个SqlCommand对象; 其次,用SqlConnection的CreateCommand()函数,创建一个SqlCommand对象,然后将所要执行的SQL语句赋值给SqlCommand的CommandText属性; 最后,调用SqlCommand类的ExexuteNonQuery()方法,执行CommandText的SQL语句。 代码语句: using(SqlComma
OCI插入SQL语句的写法
我调用OCI插入数据库数据,总遇到插不进数据库的情况,这样写:insert  into table_name values('a','2012-3-12',100); 是会调用失败的,OCI调用的SQL语句的语法感觉和PL/SQL还是有区别,我查了查,可以这样写: insert into table_name values(:c1,:c2,:c3); 但是我又遇到了一个问题,就是加入第三列是日期
java用addBatch()批量执行sql语句实例
Test .java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test { static Connection con; // 声明Connection对象 static State
[疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
1. SQL语句的执行过程——Statement直接执行的弊病:     1) SQL语句和编程语言一样,仅仅就会普通的文本字符串,首先数据库引擎无法识别这种文本字符串,而底层的CPU更不理解这些文本字符串(只懂二进制机器指令),因此SQL语句在执行之前肯定需要编译的;     2) SQL语句的执行过程:提交SQL语句 -> 数据库引擎对SQL语句进行编译得到数据库可执行的代码 -> 执行S
mysql 执行大量insert语句
从其他地方拿到
hibernate HQL中不能使用insert语句
hql可以使用更新语句,但是不能使用insert。可以使用本地sql实现。 String sql = "INSERT INTO gg_department VALUES(?, ?)";         Query query = session.createSQLQuery(sql);
SHELL里用SELECT语句做INSERT语句.
以前再看SQL cookbook的时候看到过用SELECT语句来拼出INSERT语句.当时只是知道有这方法,实际应用没用过.但是今天确实用上了.还是很多.现在Unix环境中有几个bach文件定时的跑.当他们运行一大堆query的时候,以前是都保存在自己的数据库里. 后来考虑到不想读脏数据,在SELECT的时候锁(LOCK)住自己的表.原先的逻辑是 SQL_QRY
Sql insert into 后获得自动插入的id
当运行完插入语句后,执行select   @@identity就可得到自动生成的id如果是sql server 最好用select SCOPE_IDENTITY() as id因为@@identity全局的同类还有IDENT_CURRENT(‘table’)IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。@@IDENTITY 返回为当
SQL语句的两次执行问题
昨天下午,写充值窗口时,出现了SQL语句被执行两次的问题。头痛了一下午和一晚上。     充值的窗口要操作两张表,一张是学生的基本信息表,就是将充值金额写入。另一张表,是用来存放本次充值的信息,比如:充值时间日期,谁充的钱。。。对前一张表的操作很快就写好了。但是在修改第二张表时,却出现了问题。      先来看一下代码: '修改教师充值表 SQL3 = "insert int
在SSH2开发平台下利用Hibernate Session对象执行原生Sql语句
Java Hibernate持久化框架为我们做数据库存取操作带来很大的遍历,其最大的几个特点是: 1.数据库表和内存中Java对象对应,透明操作数据库。 2.不用写大量的、繁琐的、无聊的、蛋疼的、傻逼的、没有技术含量的get、set方法(jdbc)。 3.自动生成数据库语句,几乎可以跨数据库服务器平台,仅需要修改配置中数据库方言等少数几个地方即可。 等等,以上三点优点是我个
Thinkphp中用sql语句插入数据时,虽然成功插入但是报错
在ThinkPHP的query函数想数据库中插入函数的时候如下面的代码 public function GetToMysql($user,$password,$emile){ $password = $this->encryptPwd($password); $query = "insert into user (username,password,email)
hibernate 实行原生sql insert数据无法插入到数据库
使用hibernate session 执行sql添加时 控制台打印执行yuj
预处理sql语句
<?php //执行多条sql语句 header('content-type:text/html,charset=utf8'); $mysqli=new mysqli('localhost','root','','test'); if($mysqli->errno) { die('Connect Error'.$mysqli->error); } $mysqli->set_charset('u
Java中使用Statement接口SQL语句
Statement执行SQL语句: 1. 对数据库的曾删改操作时,使用stmt.executeUpdate(sql  执行给定 SQL 语句,分别为 insert 、update、delete. 2. 对数据库做查询时,直接使用 stmt.executeQuery(sql),返回结果可以为一个resultSet结果集。 首先做一些准备工作: ①对要进行操作的数据
使用select语句,concat函数导出表的insert脚本
---sql select concat('insert into user(user_id,user_name,pswd) values(','''',user_id,''',','''',user_name,''',','''',pswd,'''',');') from user; ---result | insert into user(user_id,user_name,pswd) v
如何解决pl/sql developer无法大批量执行插入sql语句以及处理sqlplus插入数据中文乱码问题
需求背景:由于系统上线后需要连接第三方数据库,我们想要把第三方数据先备份到本地库,以方便本地调试。但第三方已经是生产环境,对方只能给我们部分视图的查询权限,我们根本看不到任何数据表。基于这样的条件,我们能获取到的仅是通过视图查询后,export出来的sql文件。1、采用sqlplus插入数据的方法解决pl/sql developer无法大批量执行插入sql语句问题一开始使用pl/sql devel...
java中插入insert注意格式
String ip=request.getRemoteAddr(); String sql="insert into ip(ip) values("+"'"+ip+"'"+")"; 注意ip前的单引号要用双引号括起来。
用java快速批量insert数据
由于要项目准备上线,所以要准备大量测试数据测试新项目的性能,但是又不太会用存储过程和数据库事务进行数据插入。 最开始使用最简单的java的for循环语句不停的add对象,但是发现这个效率太低,要插入几百万数据估计得一天,于是在网上找了下,找到一篇直接使用jdbc直接插入数据的,拿下来试了下发现性能虽然比new对象好,但是效率也很低。 只能再找,终于找到一个很高的,也就是使用批次提交方式的sql
Mybatis中的resultType和resultMap(mybatis执行ddl语句和特殊sql语句)
Mybatis中的resultType和resultMapmybatis的resultType的类型不能添加为java.util.List,在不知道具体怎么映射的情况下可以写为java.util.Map,例如:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0/
JDBC编程学习笔记(二)——执行SQL语句 ExecuteSQL.java
本文主要介绍使用Statement的execute()方法来执行任意的SQL语句,并列出你在运行该程序中可能会遇到的一系列问题,我只能将我在运行中遇到的问题描述,希望对你有所帮助。首先,你需要创建一个配置数据库的配置文件,如下图: 文件的内容如下图: 内容主要是MySQL的url,以及用户帐号和密码,只要有这配置文件,我们就不需要在代码内部改,只需加载配置文件即可。以下附上源码
相关热词 c# 数组类型 泛型约束 c#的赛狗日程序 c# 传递数组 可变参数 c# 生成存储过程 c# list 补集 c#获得所有窗体 c# 当前秒数转成年月日 c#中的枚举 c# 计算校验和 连续随机数不重复c#
立即提问