MySQL是一種廣泛使用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。它支持多種協(xié)議,其中最常用的協(xié)議是MySQL協(xié)議和JDBC協(xié)議。
MySQL協(xié)議,也稱為MySQL客戶端協(xié)議,是一種基于TCP/IP協(xié)議的二進(jìn)制協(xié)議。它用于連接MySQL數(shù)據(jù)庫(kù)服務(wù)器并發(fā)送SQL語(yǔ)句。MySQL協(xié)議允許客戶端與服務(wù)器之間交換數(shù)據(jù),并通過(guò)加密方式實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)陌踩浴?/p>
JDBC(Java Database Connectivity)協(xié)議是Java平臺(tái)上的數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn)。JDBC允許Java應(yīng)用程序與多種數(shù)據(jù)庫(kù)進(jìn)行連接和交互,包括MySQL。通過(guò)JDBC協(xié)議,開發(fā)人員可以編寫Java代碼來(lái)執(zhí)行SQL語(yǔ)句并獲取結(jié)果。
//示例代碼: import java.sql.*; public class Main { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/TEST"; static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(DB_URL,USER,PASS); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.print("ID: " + id); System.out.print(", Name: " + name); System.out.print(", Age: " + age); System.out.println(); } rs.close(); stmt.close(); conn.close(); } catch(SQLException se) { se.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } finally { try{ if(stmt!=null) stmt.close(); } catch(SQLException se2) { } try{ if(conn!=null) conn.close(); } catch(SQLException se) { se.printStackTrace(); } } } }
以上是一段使用JDBC協(xié)議連接MySQL數(shù)據(jù)庫(kù)的Java代碼示例。代碼中使用了MySQL的JDBC驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)連接URL。