mysql添加语句

mysql添加语句,第1张

mysql中常用的三种插入数据语句:

1、insert into表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错;

2、replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引的话,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;

3、REPLACE语句会返回一个数,来指示受影响的行的数目。该数是被删除和被插入的行数的和。如果对于一个单行REPLACE该数为1,则一行被插入,同时没有行被删除。如果该数大于1,则在新行被插入前,有一个或多个旧行被删除。如果表包含多个唯一索引,并且新行复制了在不同的唯一索引中的不同旧行的值,则有可能是一个单一行替换了多个旧行。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

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 )

}

}

)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7901562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存