怎么用sql语句循环添加数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用sql语句循环添加数据?相关的知识,希望对你有一定的参考价值。
参考技术A 怎么用sql语句向数据库表中添加循环数据可以使用循环语句
declare
@i
int
set
@i=1
while
@i<30
begin
insert
into
test
(userid)
values(@i)
set
@i=@i+1
end 参考技术B "--在这个地方需要循环添加数据"是添加什么数据?看你的过程情况,传入参数只是一条数据,如果是需要勾连其他表的也不一定需要循环,毕竟循环的效率不高。
怎么用JAVA语句在Mysql中查询,添加,删除语句,说的详细点,谢谢!
创建一个java project;对着project右键->属性 然后就 如图所示:导入mysql-connector-java-5.1.15-bin.jar!然后就可以添加代码来测试了
下面这个嘛 还有界面的
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Login extends JFrame
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;
//GUI变量定义
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery,deleteQuery,insertQuery,alterQuery;
public Login()
//Form的标题
super( "输入SQL语句,按查询按钮查看结果。" );
String url = "jdbc:mysql://localhost:3306/player";
String username = "root";
String password = "mima1231";
//加载驱动程序以连接数据库
try
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(
url, username, password );
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex )
System.err.println(
"装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
//捕获连接数据库异常
catch ( SQLException sqlex )
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
//如果数据库连接成功,则建立GUI
//SQL语句
String test="SELECT * FROM user";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查询" );
//Button事件
submitQuery.addActionListener(
new ActionListener()
public void actionPerformed( ActionEvent e )
getTable();
);
insertQuery = new JButton("插入");
deleteQuery = new JButton("删除");
alterQuery = new JButton("修改");
JPanel topPanel = new JPanel();
JPanel buttonPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//将"输入查询"编辑框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//将"提交查询"按钮布置到 "SOUTH"
buttonPanel.setLayout(new GridLayout(1,4));
buttonPanel.add(submitQuery);
insertQuery.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
String str = inputQuery.getText();
boolean flag = false;
try
// Statement stat = null;
PreparedStatement pstmt = connection.prepareStatement(str);
pstmt.executeUpdate();
flag = true;
pstmt.close();
catch (SQLException e1)
// TODO Auto-generated catch block
e1.printStackTrace();
if(flag)JOptionPane.showMessageDialog(null, "数据插入成功");
else JOptionPane.showMessageDialog(null, "数据插入失败");
);
buttonPanel.add(insertQuery);
deleteQuery.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
String str = inputQuery.getText();
boolean flag = false;
try
// Statement stat = null;
Statement pstmt = connection.createStatement();
pstmt.executeUpdate(str);
pstmt.close();
flag = true;
catch (SQLException e1)
// TODO Auto-generated catch block
e1.printStackTrace();
if(flag)JOptionPane.showMessageDialog(null, "数据删除成功");
else JOptionPane.showMessageDialog(null, "数据删除失败");
);
buttonPanel.add(deleteQuery);
alterQuery.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
String str = inputQuery.getText();
boolean flag = false;
try
Statement pstmt = connection.createStatement();
pstmt.executeUpdate(str);
flag = true;
pstmt.close();
catch (SQLException e1)
// TODO Auto-generated catch block
e1.printStackTrace();
if(flag)JOptionPane.showMessageDialog(null, "数据修改成功");
else JOptionPane.showMessageDialog(null, "数据修改失败");
);
buttonPanel.add(alterQuery);
topPanel.add( buttonPanel, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//将"topPanel"编辑框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//将"table"编辑框布置到 "CENTER"
c.add( table, BorderLayout.WEST );
getTable();
setSize( 500, 300 );
//显示Form
show();
private void getTable()
try
//执行SQL语句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中显示查询结果
displayResultSet( resultSet );
catch ( SQLException sqlex )
sqlex.printStackTrace();
private void displayResultSet( ResultSet rs )
throws SQLException
//定位到达第一条记录
boolean moreRecords = rs.next();
//如果没有记录,则提示一条消息
if ( ! moreRecords )
JOptionPane.showMessageDialog( this,
"结果集中无记录" );
setTitle( "无记录显示" );
return;
Vector columnHeads = new Vector();
Vector rows = new Vector();
try
//获取字段的名称
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
do
rows.addElement( getNextRow( rs, rsmd ) );
while ( rs.next() );
//在表格中显示查询结果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
catch ( SQLException sqlex )
sqlex.printStackTrace();
private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一条记录
return currentRow;
public void shutDown()
try
//断开数据库连接
connection.close();
catch ( SQLException sqlex )
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
public static void main( String args[] )
final Login app =
new Login();
app.addWindowListener(
new WindowAdapter()
public void windowClosing( WindowEvent e )
app.shutDown();
System.exit( 0 );
);
参考技术A 先安装好mysql和apache,然后在java工程里导入MySQL的jar包 参考技术B package jbdc.shuanttixi;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import oracle.jdbc.driver.OracleTypes;
public class PrepareStatementTest
public static void main(String[] args) throws ClassNotFoundException,
SQLException
// prepareStatement(args);
callableStatementTest(args);
private static void callableStatementTest(String[] args)
throws ClassNotFoundException, SQLException
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521: xe", "zxl", "zxl");
CallableStatement callStmt = conn.prepareCall("call findtest(?,?)");
callStmt.registerOutParameter(1, Types.INTEGER);
callStmt.registerOutParameter(2, OracleTypes.CURSOR);
callStmt.setInt(1, 7698);
callStmt.execute();
ResultSet rs = (ResultSet) callStmt.getObject(2);
while (rs.next())
System.out.println(rs.getString("ename"));
callStmt.close();
conn.close();
private static void prepareStatement(String[] args)
throws ClassNotFoundException, SQLException
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521: xe", "zxl", "zxl");
String sql = "select * from emp where mgr=?";
PreparedStatement pres = conn.prepareStatement(sql);
pres.setInt(1, Integer.parseInt(args[0]));
ResultSet rs = pres.executeQuery();
while (rs.next())
System.out.println(rs.getString("ename"));
pres.close();
conn.close();
参考技术C 详细学习一下JDBC
以上是关于怎么用sql语句循环添加数据?的主要内容,如果未能解决你的问题,请参考以下文章