html
1、常见问题java
1.安装mysql卡在最后start service一步:没有删除干净。删除注册表里全部的mysql相关就能够了。mysql
2.execute、executeUpdate、executeQuery三者的区别(及返回值)sql
executeQuery | executeUpdate(String sql) | execute(String sql) |
执行SQL查询,并返回ResultSet 对象 | 可执行增,删,改,返回执行受到影响的行数 | 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet |
ResultSet rs = prst.executeQuery(); while (rs.next()) {...} |
返回int |
返回boolean |
之前安装过MySQL的,再次安装会遇到问题,这时候要看是否将MySQL删除干净了。数据库
1.卸载软件,经过控制面板 2.删除文件夹,在安装目录和C:\ProgramData隐藏文件夹下 3.删除注册表中的mysql相关内容tomcat
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹 删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。 删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。maven
参考文章:http://www.javashuo.com/article/p-tqvbrpan-p.html测试
1.项目目录:网站
2.导入jar包,这里我用的是mysql-connector-java-5.1.30.jar,在官网找半天没有下载成功,最后是在这个网站下载的:http://maven.outofmemory.cn/mysql/mysql-connector-java/5.1.30/spa
3.链接数据库
4.数据库中建表 我在test数据库中创建了student表格,随意输入了两条信息做为测试数据,以下图:
5.测试代码 DBTest中:
package com.dgd.test; import java.sql.*; /** * @author Dgd * @create 2017-10-16-21:25 * 测试数据库 */
public class DBTest { //mysql驱动包名
private static final String DRIVER_NAME = "com.mysql.jdbc.Driver"; //数据库链接地址
private static final String URL = "jdbc:mysql://localhost:3306/test"; //用户名
private static final String USER_NAME = "root"; //密码
private static final String PASSWORD = "123456"; public static void main(String[] args){ Connection connection = null; try { //加载mysql的驱动类
Class.forName(DRIVER_NAME); //获取数据库链接
connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD); //mysql查询语句
String sql = "SELECT Sname FROM student"; PreparedStatement prst = connection.prepareStatement(sql); //结果集
ResultSet rs = prst.executeQuery(); while (rs.next()) { System.out.println("用户名:" + rs.getString("Sname")); } rs.close(); prst.close(); } catch (Exception e) { e.printStackTrace(); }finally { if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
6.测试成功,显示测试用例
7.删除一条数据
修改代码以下:
Statement stmt = connection.createStatement(); String sql = "DELETE FROM student WHERE Sname='李'"; //mysql查询语句
stmt.executeUpdate(sql); System.out.println("成功删除"); String sql2 = "SELECT * FROM student"; PreparedStatement prst = connection.prepareStatement(sql2); ResultSet rs = prst.executeQuery();//结果集
结果以下:
7.添加多条数据
修改以前的代码,变为
String sql = "INSERT INTO student VALUES (111,'王'),(222,'钱')";
结果以下:
8.修改多条数据
修改代码以下:
Statement stmt = connection.createStatement(); //String sql = "DELETE FROM student WHERE Sname='李'"; //mysql查询语句
String sql = "UPDATE student SET Sname = CASE id " +
" WHEN 111 THEN '刘' " +
" WHEN 222 THEN '孙' " +
" END " +
" WHERE id IN (111,222) "; stmt.executeUpdate(sql); System.out.println("成功修改");
结果如图所示: