目录
python数据库操作
1.导入pymysql
python直接导入就可以实现
import pymysql
java需要用idear自动导包,但需要外部jia包,加载驱动
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
Class.forName("com.mysql.cj.jdbc.Driver");
2.连接数据库
python输入数据库ip,端口,账户密码还有数据库名称
conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='数据库密码',charset='utf8',db='test')
java也是大致相同
String url="jdbc:mysql:///test";
String user="root";
String password="数据库密码";
Connection conn = DriverManager.getConnection(url,user,password);
3.创建传输数据库指令的小车
python:
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
java:
Statement stmt=conn.createStatement();
4.传输数据库指令
python只要一种指令就可以完成各自数据库操作,如插入操作,但还需要上传
cursor.execute("insert into course values(123,'ddd','ddda',9)")
conn.commit()
而java有两种代码对于不同数据库操作
查询:
stmt.executeQuery("select *from course");
其他操作 :
stmt.executeUpdate("insert into course values(12344444,'ddd','ddda',9)");
5.最后关闭
python:
cursor.close()
cursor.close()
java:
stmt.close();
conn.close();
6.把查询的结果抽取出来
python:
将结果返回成字典
cursor.execute("select * from course")
datalist=cursor.fetchall()
print(datalist)
java:
java是返回给了ResultSet内,开始把游标指向查询表的第一列,然后next指向第一行,下面rs.getString(1)的1代表是第一列,循环,直到最后一行
7.安全设置数据库代码
python:
java:
java把Statement变成PreparedStatement可以保证安全
7.整体代码
python:
import pymysql
#1.连接mysql
conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',password=数据库密码',charset='utf8',db='test')
#
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select * from course")
datalist=cursor.fetchall()
print(datalist)
cursor.close()
cursor.close()
java:
import java.sql.*;
public class mysql_test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql:///test";
String user="root";
String password="数据库密码";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
ResultSet rs = stmt.executeQuery("select *from course");
while (rs.next()){
System.out.println(rs.getString(1));
}
stmt.close();
conn.close();
}
}