python将数据写入mysql数据库,以构建wifi指纹数据库为例

基于ubuntu系统,首先需要安装mysql数据库,主要过程如下:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

安装过程中需要设置数据库密码。

安装成功后,登入数据库:

mysql -uroot -p123456      (-u后面是用户名,-p后面是安装时设置的数据库密码)

成功登入数据库后可使用show databases;查看存在的数据库;

使用create database wifi; 建立一个名为wifi的新的数据库;

使用use wifi;进入该数据库;

这是使用show tables; 可以查看wifi数据库中的数据表;

可以使用create table wifidb(……);建立数据表,如下图所示:


使用python写数据库需要安装pymysql:

pip install pymysql

具体写入数据到数据库程序如下:

import pymysql

conn = pymysql.connect(db='wifi',host='localhost',user='root',passwd='123456') #参数依次为数据库名称,服务器IP地址,此处为本地,用户名,密码

c = conn.cursor() #创建一个游标对象

c.execute('insert into wifidb(BSSID,Strength,Location_id) values (%s,%s,%s)',(bssid[j],strength[j],i)) #写入数据到wifidb数据表

conn.commit() #提交

c.close() #关闭

conn.close()

wifi建立指纹数据库通常需要对一点重复采集的数据进行平均处理,这时使用数据库命令就比较方便了:

insert into wifidb0(BSSID,Strength,Location_id) select BSSID,AVG(Strength),i from wifidb group by BSSID
#将数据表中的wifi相同ap的信号强度作平均写入到数据表wifidb0中


 

猜你喜欢

转载自blog.csdn.net/How_r_u/article/details/80006191
今日推荐