java中更新mysql数据库 java数据库更新语句_java数据库编程

一、MySQl数据库

常用语句

  1. 创建数据库:create database 名称;
  2. 删除数据库:drop database 名称;
  3. 使用数据库:use 名称;
  4. 创建数据库表:create table 表名称(字段1 字段类型 [default 默认值] [约束],...,字段n 字段类型 [default 默认值] [约束]);
  5. 删除数据库表:drop table 表名称;
  6. 查看表结构 :desc 表名称;
  7. 查看全部数据库 :show databases;
  8. 查看某数据库下的全部表:show tables;
  9. 增加数据: insert into 表名称[(字段1,...,字段n)] values(值1,...,值n);
  10. 删除数据 : delete from 表名称 [where 删除条件];
  11. 修改数据: update 表名称 set 字段1=值1,字段2=值2,... [where 更新条件];
  12. 查询数据: select {*|字段名列表} from 表名 [where 查询条件];
  13. 模糊查询条件like语句:字段名 like '%m%';
  14. limit语句:select {*|字段名列表} from 表名称 [where 查询条件] limit 开始行,取出个数;

二、连接数据库

1.DriverManager类

常用方法
Public static Connection getConnection(String url,String user,String password) 
		throws SQLException;

2.Conncetion类

实例化
Connection vonn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
常用方法(throws SQLException)
public Statement createStatement();		//实现Statement接口
	public PreparedStatement prepareStatement(String sql);	//实现PreparedStatement接口
	public void close();		//关闭数据库连接

3.步骤

step1: 加载驱动程序(throws ClassNotFoundException)

Class.forName("org.gjt.mm.mysql.Driver");

step2: 连接数据库(throws SQLException)

public static final String DBURL = "jdbc:mysql://localhost:3306:jingt";
	new Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);

step3:关闭数据库连接(throws SQLException)

conn.close();

三、更新数据库

1.Statement接口(不常用)

实现接口
Statement stmt = conn.createStatement();
常用方法(throws SQLException)
public int executeUpdate(String sql);	//	执行数据库更新操作
	public ResultSet executeQuery(String sql);	//执行数据库查询操作
	public boolean execute(String sql);		//执行SQL语句
	public void close();	//关闭Statmenet操作

2.PreparedStatement接口(常用)

用途
相当于占位置,在事先准备好的SQL语句中,用“?”来代替语句的具体内容,
然后用.setXxx()的方式,将数据插入进去
实现接口
PreparedStatement prstmt = conn.prepareStatement(sql);
常用方法(throws SQLException)
public void setInt(int parameterIndex,int x);//将sql语句中的第ParameterIndex个"?"替换为x
	public void setString(int parameterIndex,String x);//如上
	public void setDate(int parameeterIndex,Date x);//Date类为java.sql.Date,需要进行转换
	
	public int executeUpdate();	//	执行数据库更新操作
	public ResultSet executeQuery();	//执行数据库查询操作
	public boolean execute(String sql);		//执行SQL语句
	public void close();	//关闭Statmenet操作

将java.util.Date 类转化为java.sql.Date类

String bir = "2019-03-03";
	java.util.Date temp = null;
	temp = new SimpleDateFormat("yy-MM-dd").parse(bir);
	java.sql.Date birthday = new java.sql.Date(temp.getTime());
e.g.
String sql = "insert into jingt(name,password,age) "
		+"values(?,?,?)";
	PreparedStatement prstmt = conn.prepareStatement(sql);
	prstmt.setString(1,"JingtQ");
	prstmt.setString(2,"1234");
	prstmt.setInt(3,23);

四、查询数据库

ResultSet接口

实现接口
ResultSet rs = stmt.executeQuery(sql);
	ResultSet re = prstmt.executeQuery();
常用方法 (throws SQLException)
boolean next();		//将指针移到下一行
	int getInt(int columnIndex);	//以整数形式取出列数为columnIndex的数据
	int getInt(String columnIndex);//以整数形式取出列名为columnIndex的数据
	String getString(int columnIndex);//以字符串形式取出列数为columnIndex的数据
	String getString(String columnIndex);//以字符串形式取出列名为columnIndex的数据
e.g.
ResultSet rs = prstmt.executeQuery();
	while(rs.next()){
		String name = rs.getString(1);
		String password = rs.getString("password");
		int age = rs.getInt(3);
	}

文中出现的单词

execute  执行
query  查询
param(eter) 参数