目录
mysql通过shell操作mysql
#!/bin/sh
MYSQL="mysql -h192.168.8.88 -uroot -p123456 --default-character-set=utf8"
sql="select * from shujia.student where sex='0'"
result="$($MYSQL -e "$sql")"
echo "$result"
java操作mysql
1、导入第三方工具包
2、加载第三方工具
Class.forname("com.mysql.jdbc.Driver");
3、获取连接
String url="jdbc:mysql://master:3306/shujia";
String username="root";
String password="123456";
Connection connection = DriverManager.getConnection(url,username,password);
4、获取执行器 createStatement(会出现sql注入不使用)和prepareStatement
PreparedStatement ps =connection.prepareStatement(sql);//给sql的格式(模板)
ps.setString(1,"1012");
ps.setString(2,"test");
5、获取结果(sql语句为增删改查操作,不需要解析结果,使用executeUpdate())
ResltSet rs = ps.executeQuery();
while(rs.next()){
String name = rs.getString("name");
System.out.println(name);
}
6、关闭连接(从下向上关闭)
rs.close();
ps.close();
conn.close();
sql注入:参数中有mysql命令,而mysql把这些关键字当做命令去执行
prepareStatement:避免了sql注入,首先发送sql的格式,然后再传递参数(参数中有关键字也作为参数执行)
prepareStatement传参:通过set数据类型(int prepareIndex,数据类型 x)
注意:index从1开始