1. 程式人生 > >Java中的資料庫及MYSQL基礎操作

Java中的資料庫及MYSQL基礎操作

1.資料庫

就是存資料的倉庫。本文所使用的為MYSQL資料庫。

2.SQL語句

        2.1.簡介

             它是一種資料庫的程式碼,我們在建立資料庫,向資料庫中新增或修改資訊時,都要通過它來傳遞。

     對於SQL語句的語法:要以分號結尾,不區分大小寫,常用型別為int,double,varchar(字串),date(日期)

 注:日期date型的格式為yyyy-MM-dd,只有年月日。

        2.2.相關語句

2.2.1建立表

create table 表名(
   欄位名 型別(長度) 約束,
   欄位名 型別(長度) 約束
);
2.2.2查看錶
show 表名;

2.2.3刪除表

drop table 表名;

2.2.4插入表(常用)

insert into 表 (列名1,列名2,列名3..) values  (值1,值2,值3..);

2.2.5更新表

update 表名 set 欄位名=值,欄位名=值;
update 表名 set 欄位名=值,欄位名=值 where 條件;

2.2.6刪除表

delete from 表名 [where 條件];

    如果設定有自動計數的話,detete不刪除自動計數

2.2.7查詢表(常用)

select 欄位1,欄位2,...from 表名;

3.JDBC

JDBC是連線java和資料庫的工具,有了它,我們可以通過java來操作資料庫。

3.1 首先我們要自行匯入驅動jar包,將驅動包新增進工程

        對於mysql的驅動包名字為:

mysql-connector-java-5.1.37

3.2 連線及關閉

由於我們會多次使用資料庫連線,為了節省資源,簡化程式,我們將每次重複連線的步驟做一整合,將它們所有連線步驟做成一個工具類,每次需要連線資料庫時只需要呼叫該工具類,得到他方法中的返回值,再進行操作。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JDBCUtils {

	private JDBCUtils() {}
	private static Connection con;
	
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			String url="jdbc:mysql://localhost:3306/mybase";  //url:   資料庫地址  jdbc:mysql://連線主機IP:埠號//資料庫名字
			String username="****";//自己設定的使用者名稱
			String password="****";//自己設定的密碼
			con=DriverManager.getConnection(url, username, password);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	
	public static Connection getConnection() {
		return con;
	}
	
	public static void close(Connection con,Statement stat,ResultSet rs) {
		if(con!=null) {
			try {
				con.close();
			} catch (Exception e) {}
		}
		if(stat!=null) {
			try {
				stat.close();
			} catch (Exception e) {}
		}
		if(rs!=null) {
			try {
				rs.close();
			} catch (Exception e) {}
		}
	}
}
每次使用時,進行呼叫。
import java.sql.Connection;

public class JDBCtest {

	public static void main(String[] args) {
		Connection con=JDBCUtilsConfig.getConnection();
		System.out.println(con);
	}
}

3.3瀏覽資料庫

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
 * 瀏覽資料庫
 */
public class JDBCDemo1 {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		Connection con=JDBCUtils.getConnection();//獲得與資料庫的連線
		Statement stat=con.createStatement();//建立一個Statment物件將SQL語句傳送到資料庫
		String sql="select * from sort";
		ResultSet rs=stat.executeQuery(sql);//執行SQL語句並返回一個ResultSet物件
		//ResultSet表示資料庫結果集的資料表
		while(rs.next()) {  //遍歷rs這個結果集
			System.out.println(rs.getInt("sid")+"  "+rs.getString("sname")+"  "+rs.getString("sprice")+"  "+rs.getString("sdesc"));
		}
		JDBCUtils.close(con, stat, rs); //關閉
	}
}
3.4修改表資料
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
//資料表的修改
public class JDBCDemo3 {

	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		Connection con=JDBCUtils.getConnection();
		String sql="update sort set sname=?,sprice=? where sid=?"; //?為佔位符,需要後續將資料加入?所在的地方
		PreparedStatement pst=con.prepareStatement(sql);//prepareStatement為Statement的子類,功能相仿
            	pst.setObject(1, "something");//將"something"新增到第一個?處
		pst.setObject(2, 100);//將100新增到第二個?處
		pst.setObject(3, 4);//將4新增到第三個?處,此時得到了完整的SQL語句
		pst.executeUpdate();//執行SQL語句
		JDBCUtils.close(con, pst, null);//關閉
	}
}
3.5刪除資料
import java.sql.Connection;
import java.sql.PreparedStatement;


public class JDBCDemo6 {
	public static void main(String[] args) throws Exception{
		Connection conn = JDBCUtils.getConnection();
		String sql = "delete from sort where sid=?";// ?為佔位符
		PreparedStatement stat = conn.prepareStatement(sql);
		stat.setInt(1, 1);
		int line = stat.executeUpdate();
		stat.close();
		conn.close();
	}
}
通過這些操作就可以對資料庫進行簡單的增刪改操作了。