项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息

出于安全考虑  现在很多数据库都不允许通过直接访问,大多数是通过SSH

SSH : 数据库开放哪台机器访问,就通过哪台机器的SSH跳过去

例如:数据库在A机器,只能通过B来访问,本机C来链接B链接A的数据库

链接数据库与简单操作:

链接数据库:
import MySQLdb
#打开数据库链接
lcDB = MySQLdb.connect("127.0.0.1", "%”,"123456","go" )

简单数据库操作:

创建数据库表:
 1 import MySQLdb
 2 #打开数据库链接
 3 lcDB = MySQLdb.connect("127.0.0.1", "root","123456","test" )
 4 #使用cursor()方法获取操作游标
 5 cursor = lcDB.cursor()
 6
 7 #使用execute方法执行SQL语句
 8 cursor.execute('select version()') #查询MYSQL版本
 9
10 #使用fetchone()方法获取一条数据
11 data = cursor.fetchone()
12
13 print("Database version : %s"%data)
14
15 #使用 execute()方法执行SQL,如果表存在则删除
16 cursor.execute("DROP TABLE if exists employee")
17
18 #使用预处理语句创建表
19 sql = """create table employee(
20         first_name char(20) not null,
21         last_name char(20),
22         age int,
23         sex char(1),
24         income float
25         )"""
26
27 cursor.execute(sql)
28
29 #关闭数据库链接
30 lcDB.close()

执行结果:

Database version : 8.0.11

数据库:

插入数据:

import  pymysql#打开数据库链接
lcDB = pymysql.connect("127.0.0.1", "root", "123456", "test")#使用cursor()方法创建一个游标对象cursor
cursor = lcDB.cursor()#SQL 插入语句
#此处可将SQL换位update, delete等语句
sql = "insert into employee(first_name,\last_name, age, sex, income)\values ('%s', '%s', '%s','%s', '%s')"% \('li', 'Mohan', 20, 'M', 1000)try:# 使用execute()方法执行sql,
    cursor.execute(sql)#提交到数据库执行sql语句   lcDB.commit() 

except:   #发生错误时回滚   lcDB.rollback() 

#关闭数据库 lcDB.close()

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
  • fetchall():接收全部的返回结果行.
  • rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
import  pymysql#打开数据库链接
lcDB = pymysql.connect("127.0.0.1", "root", "123456", "test")#使用cursor()方法创建一个游标对象cursor
cursor = lcDB.cursor()#SQL 插入语句
#此处可将SQL换位update, delete等语句
sql = "select * from employee where income > %s"%(2000)try:# 使用execute()方法执行sql,
    cursor.execute(sql)#获取所有记录列表results = cursor.fetchall()for row in results:fname = row[0]lname = row[1]age = row[2]sex = row[3]income = row[4]#打印结果print("fname = %s, lname = %s, age = %s, sex = %s,income = %s" % \(fname, lname,age, sex, income))except:print("ERROr: unable to fecth data")#关闭数据库
lcDB.close()

SSH链接:

  -使用mysqldb模块通过ssh隧道连接mysql

import  pymysql
from sshtunnel import SSHTunnelForwarderserver =  SSHTunnelForwarder(("132.223.3.23", 19), #ssh IP和portssh_password = "123123",#ssh 密码ssh_username = "root",#ssh账号remote_bind_address = ("1.1.1.1", 3306)) #数据库所在的IP和端口

#启动服务
server.start()
#打印本地端口,已检查是否配置正确
print(server.local_bind_host)goDB = pymysql.connect(host = "127.0.0.1", #固定写法port = server.local_bind_port,user = "root", #数据库账号passwd = "2345",#数据库密码db = "指定数据库名字")# 可以限定,只访问特定的数据库,否则需要在mysql的查询或者操作语句中,指定好表名
cur = goDB.cursor()
sql = "select no from gds order by rand() limit 10" #限制每次随机查询10条数据try:#执行SQL语句检查是否连接成功cur.execute("select version()")result = cur.fetchone()print("Database version: %s" % result)cur.execute(sql)data = cur.fetchall()for row in data:good_no = row[0]print(good_no)except:print("Error")#关闭连接
goDB.close()
server.close()

转载于:https://www.cnblogs.com/shoebill/p/10831218.html

Python --链接MYSQL数据库与简单操作 含SSH链接相关推荐

  1. mysql和foxbase_Mysql使用基础知识和MYSQL数据库的简单操作 -(转)

    Mysql使用基础知识 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 一.连接MYSQL.格式:my ...

  2. mysql数据库的简单操作

    一.启动mysql服务 1.启动mysql服务 win+R键打开运行,输入services.msc打开本地服务,找到MySQL,进行启动.停止等操作. 2.连接mysql 1.win+R键打开运行,输 ...

  3. Python3学习(三十):python连接mysql数据库及相关操作

    Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x ...

  4. Python结合MySQL数据库编写简单信息管理系统

    1,项目整体逻辑及使用工具 1.1 项目整体逻辑 本项目主要是使用Python进行编写,利用Python中的pymysql库进行连接数据库,将信息存入MySQL数据库中,然后实现对信息进行增删改查等一 ...

  5. mysql数据库的简单操作-1

    数据库: 数据库,简而言之可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作.所谓"数据库"系以一定方式储存在一起.能予多个用户共享 ...

  6. mysql数据库初学者简单操作

    mysql数据库操作 mysql操作步骤: 在cmd中链接mysql服务器: mysql -u root -p entry password: 输入密码 当进入到mysql服务器中,可以查看有哪些数据 ...

  7. python使用mysql数据库一个简单的 Pyqt5 用户注册系统

    效果图 代码 本例只要注册,暂时没有登录. # -*- coding: utf-8 -*- '''*************************************************** ...

  8. python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

  9. python操作数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

最新文章

  1. python3.6爬虫环境安装要多少内存_Python3爬虫环境配置——解析库安装(附tesserocr安装方法)...
  2. 3. 软件测试的类型
  3. 使用soapUI代替WSDL2JAVA生成cxf HTTPS 客户端调用代码
  4. Kafka设计解析(七)- Kafka Stream
  5. HDU 6071 Lazy Running
  6. java中的IO操作之File类
  7. Python+matplotlib调用LaTex引擎渲染公式
  8. App后台开发运维和架构实践学习总结(1)——App后台核心技术之用户验证方案
  9. matlab 对数函数表示,matlab对数函数怎么表示
  10. js实现一键复制到剪切板上_js实现各种复制到剪贴板的方法(分享)
  11. root认证失败 tera term_(转载)linux ssh telnet TeraTerm终端中文显示乱码解决方法
  12. 树莓派Ubuntu18.04使用及联网
  13. 用ZeroTier搭建属于自己的虚拟局域网(VLAN)
  14. 网站根目录文件权限设置推荐
  15. c语言sub函数是什么,用$Super$$和$Sub$$对函数进行重定义
  16. Maximum Mean Discrepancy理解(MMD)
  17. JAVA实现利用第三方平台发送短信验证码
  18. 中国不是没有根服务器吗?《流浪地球2》的根服务器怎么在北京?
  19. win10任务栏显示“中/英“语言标识
  20. 不用计算机算arctanx,arctanx等于什么(arctan计算器在线)

热门文章

  1. 【leetcode】Merge Sorted Array
  2. android面试(4)---文件存储
  3. 让.net 2.0支持并行计算
  4. 美团打车低至1分,前三月司机零抽成,快车市场将再起波澜
  5. JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
  6. Webx MVC分析
  7. 使用Jenkins的任务自动跑脚本后发现,服务没有起来
  8. 使用webpack前端重构感受
  9. nopcommerce 商城案例
  10. java byte数组与int,long,short,byte转换