在 Python 语言环境下我们这样连接数据库。
In [1]: from mysql import connector
In [2]: cnx = connectorconnect(host="17216192100",port=3306,user="appuser",password="xxxxxx")
但是连接数据库的背后发生了什么呢?
答案
当我们通过驱动程序(mysql-connector-python,pymysql)连接 MySQL 服务端的时候,就是把连接参数传递给驱动程序,驱动程序再根据参数会发起到 MySQL 服务端的 TCP 连接。当 TCP 连接建立之后驱动程序与服务端之间会按特定的格式和次序交换数据包,数据包的格式和发送次序由 MySQL 协议 规定。MySQL 协议:>
MySQL 服务端向客户端发送一个握手包,包里记录了 MySQL-Server 的版本,默认的授权插件,密码盐值(auth-data)。
2 MySQL 客户端发出 ssl 连接请求包(如果有必要的话)。
3 MySQL 客户端发出握手包的响应包,这个包时记录了用户名,密码加密后的串,客户端属性,等等其它信息。
4 MySQL 服务端发出响应包,这个包里记录了登录是否成功,如果没有成功也会给出错误信息。
适用初学者的JSP连接Access数据库代码,刚刚写的一个Java Web 中连接Access数据库的代码。这些天讲到数据库 *** 作,但是我的本子是XP home版,安装SQL Server比较麻烦,干脆弄个ACCESS来演示好了。有时小型桌面数据库还是蛮实用的嘛,哈~
复制内容到剪贴板代码:
<%@ page contentType="text/html; charset=GB18030" %>
<%@page import="javasql" %>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<form method="POST" action="\Web\indexjsp">
<% try{
ClassforName("sunjdbcodbcJdbcOdbcDriver");
}
catch(ClassNotFoundException e){
outprint("数据库驱动程序装入错误");
} try{
String url="jdbc:odbc:driver={Microsoft Access Driver (mdb)};DBQ="+requestgetRealPath("/")+"testmdb";
//特别注意上面的Driver和(mdb)之间是有空格的
/这个testmdb文件是存放在Web Module目录下的,当然可以自行改变路径/
Connection conn=DriverManagergetConnection(url);
Statement stmt=conncreateStatement();
ResultSet rs=stmtexecuteQuery("SELECT FROM log");//log为表名,和SQL一样
while(rsnext()){
outprint(rsgetInt("ID")+" ");
outprint(rsgetString("username")+" ");
outprint(rsgetString("password")+" ");//log表中三个字段,主键是ID,自增的。username和password是文本类型。
outprintln("<br>");
}
rsclose();
stmtclose();
connclose();
} catch(Exception ex){
outprint(ex);
} %>
</form>
</body>
</html>
我写的一个用jsp连接Access数据库的代码。
要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现jsp连接access数据库。
第一种JSP形式。
复制内容到剪贴板代码: <%@ page contentType="text/html; charset=gb2312" language="java"
import="javasql"%>
<meta >
1
打开MySQL-Front,会d两个小窗口,一个叫打开登录信息,另一个叫添加信息 ;
2
配置数据库连接信息,填写完毕后点击确定;
3
打开数据库,进入上一步的设置,登录信息
详情如下:
1、连接数据库,不同数据库python有对应的第三方库,用账号密码ip地址直接连接。
2、执行sql语句,可以用pandas里面的read_sql_query,也可以用数据库第三方库的fetchall。
3、获取结果,read_sql_query直接出来带列名的DataFrame,但fetchall这种还要另外处理成DataFrame,还有其他数据处理的,在这一步加上就是了。
4、保存结果,pandas里面有一个to_pickle的函数,可以把数据序列化保存在本地文件,需要用到的时候再read_pickle反序列拿出来用,比不停地执行sql要方便。
5、将以上四步所有的 *** 作代码封装成函数,作为scheduler的其中一个作业,设置执行周期和执行时间,到点就会自动获取数据保存在本地文件了
以上就是关于怎么用python连接mysql数据库全部的内容,包括:怎么用python连接mysql数据库、谁能教我个最简单的方法连接数据库、数据库怎么连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)