精华内容
下载资源
问答
  • python调用数据库

    千次阅读 2012-08-24 10:00:30
    python数据库的操作,可能对我有些用处!我想用它来灵活的把access的数据导入到mysql里面去!   导入模块 import MySQLdb   操作数据库 1. 连接数据库   conn = MySQLdb.Connection(host='host', user='...
    python对数据库的操作,可能对我有些用处!我想用它来灵活的把access的数据导入到mysql里面去!
     
    导入模块
    import MySQLdb
     
    操作数据库
    1. 连接数据库
     
    conn = MySQLdb.Connection(host='host', user='user', passwd='passwd', db='db')conn = MySQLdb.connect(host='host', user='user', passwd='passwd', db='db')
    这两种方法都可以返回连接对象。其中主要使用的参数有:
     
    host,数据库所在的主机,默认是'localhost'
     
    user,登录数据库的用户名,默认是当前用户
     
    passwd,登录数据库的密码,默认为空
     
    db,打开的数据库名,默认无
     
    port,MySQL服务的端口,默认为3306
     
     
    2. 事务相关
     
    #提交修改conn.commit()#事务回滚conn.rollback()
     
     
     
    3.获得游标
     
    cursor = conn.cursor(cursorclass=MySQLdb.cursors.Cursor)
    cursorclass参数:
     
    MySQLdb.cursors.Cursor, 默认值,执行SQL语句返回List,每行数据为tuple
     
    MySQLdb.cursors.DictCursor, 执行SQL语句返回List,每行数据为Dict
     
     
    4. 执行操作
     
    「执行SQL语句」:
     
    cursor.execute(sql, params)
    sql,执行的SQL语句,需要参数的地方使用%s
     
    params,1个普通类型或者tuple类型,sql语句中需要的参数
     
    返回受到影响的行数
     
    「调用存储过程」:
     
    cursor.callproc(procname, args)
    procname,存储过程的名称
     
    args,传递的参数
     
    返回受到影响的行数
     
     
    5. 接受返回值
     
    #返回单行数据result = cursor.fetchone()#返回所有数据result = cursor.fetchall()
    前面提到,如果获得cursor的时候使用的是MySQLdb.cursors.DictCursor,则返回的每行数据是Dict类型。其中每对键值都是“字段名:数据”
     
    如果前面一次执行了多个select语句,那么sursor会返回多个结果集,cursor提供了对应的方法来移动到下一个结果集
     
    cursor.nextset()
     
    6. 关闭连接
     
    养成良好的习惯,不在使用数据库的时候,及时关闭游标对象和数据库连接对象
     
    cursor.close()conn.close()
    展开全文
  • python调用数据库sql

    2019-04-10 10:58:13
    打开或创建数据库,返回连接conn: conn = sqlite3 .connect(filename) 执行一个SQL命令: conn.executescript(sql) 返回一个光标: cursor = conn.cursor() 执行一条SQL查询命令,返回数据行: cursor....

    基本命令

    打开或创建数据库,返回连接conn:

    conn = sqlite3 .connect(filename)

    执行一个SQL命令:

    conn.executescript(sql)

    返回一个光标:

    cursor = conn.cursor()

    执行一条SQL查询命令,返回数据行:

    cursor.execute(sql)

    返回数据行列表(全部拿来):

    rows = cursor.fetchall()

    import os
    import sqlite3
    db_filename='mydatabase.db'
    #
    #if DB exists - delete it
    #
    exists = os.path.exists(db_filename)
    if exists:
        os.unlink(db_filename)
    #
    #connect to DB (create it if it doesn't exist)
    #
    conn = sqlite3.connect(db_filename)
    #
    #create a table
    #
    schema="""create table person (
    id integer primary key autoincrement not null,
    name text not null,
    dob date,
    nationality text,
    gender text)
    """
    conn.executescript(schema)
    #
    # create some data
    #
    people="""insert into person (name, dob,nationality,gender)
    values ('Fred Bloggs', '1965-12-25','British','Male');
    insert into person (name, dob,nationality,gender)
    values ('Santa Claus', '968-01-01','Lap','Male');
    insert into person (name, dob,nationality,gender)
    values ('Tooth Fairy', '1931-03-31','American','Female');
    """
    conn.executescript(people)
    
    
    #
    #attempt to insert a person with no name
    #
    try:
        dupe="insert into person (name, dob,nationality,gender) \
        values ('ni ma','1941-03-31','American','Female');"
        conn.executescript(dupe)
    except Exception as e:
        print('Cannot insert record',e.__class__.__name__)
        
    #
    #execute a query
    #
    cursor = conn.cursor()
    cursor.execute("select id, name, dob,nationality,gender from person")
    for row in cursor.fetchall():
        id, name, dob,nationality,gender = row
        print("%3d %15s %12s %10s %6s" % (id, name, dob,nationality,gender))
        
    

    注意,cursor单次有效。执行查询命令,必须有selecd id。

    修改已有的数据库:

    import sqlite3
    
    db_filename = 'mydatabase.db'
    conn = sqlite3.connect(db_filename)
    
    cursor = conn.cursor()
    query = "update person set nationality = 'chinese' where id = 2"
    cursor.execute(query)
    
    cursor.execute("select id, name, dob,nationality,gender from person")
    for row in cursor.fetchall():
        id, name, dob,nationality,gender = row
        print("%3d %15s %12s %10s %6s" % (id, name, dob,nationality,gender))

    输出

    更多数学原理小文请关注公众号:未名方略

    展开全文
  • Python调用阿里云数据库监控数据

    千次阅读 2018-02-24 13:45:32
    概述基于Python 3.6.0 实现抓取公司云数据库监控数据 存入本地数据库centos定时任务 每分钟执行一次引入SDK# 安装Python SDK 包 pip install aliyun-python-sdk-core-v3 pip install aliyun-python-sdk-rds源代码...

    概述

    • 基于Python 3.6.0 实现
    • 抓取公司云数据库监控数据 存入本地数据库
    • centos定时任务 每分钟执行一次

    引入SDK

    # 安装Python SDK 包
    pip install aliyun-python-sdk-core-v3
    pip install aliyun-python-sdk-rds

    源代码

    from aliyunsdkcore import client
    from aliyunsdkrds.request.v20140815 import DescribeRegionsRequest
    
    # 设置访问凭证
    accessKeyId = '<access-key-id>'
    accessKeySecret = '<access-key-secret>'
    client = client.AcsClient(accessKeyId, accessKeySecret,'cn-shanghai')
    
    # 创建Request对象,并对其中参数赋值
    request = DescribeRegionsRequest.DescribeRegionsRequest()
    #设置返回数据格式,默认为XML
    request.set_accept_format('json')
    request.set_action_name('DescribeDBInstancePerformance')
    #多个性能指标用 "," 分隔
    request.set_query_params(dict(DBInstanceId="数据库实例名",key="性能指标",StartTime="2018-02-22T05:00Z",EndTime="2018-02-22T15:00Z"))
    print(client.do_action_with_exception(request))

    参考资料

    阿里云各产品对应的 Python SDK 如下所示。

    产品Python SDK
    账号登录aliyun-python-sdk-aas
    云解析 DNSaliyun-python-sdk-alidns
    批量计算aliyun-python-sdk-batchcompute
    备案aliyun-python-sdk-bsn
    CDNaliyun-python-sdk-cdn
    数据风控aliyun-python-sdk-cf
    云监控aliyun-python-sdk-cms
    容器服务aliyun-python-sdk-cs
    域名aliyun-python-sdk-domain
    分布式关系型数据库服务aliyun-python-sdk-drds
    云服务器 ECSaliyun-python-sdk-ecs
    弹性伸缩aliyun-python-sdk-ess
    功能测试aliyun-python-sdk-ft
    阿里绿网aliyun-python-sdk-green
    高性能计算aliyun-python-sdk-hpc
    HTTPDNSaliyun-python-sdk-httpdns
    物联网套件aliyun-python-sdk-iot
    密钥管理服务aliyun-python-sdk-kms
    媒体转码aliyun-python-sdk-mts
    云数据库 Memcache 版aliyun-python-sdk-ocs
    云推送aliyun-python-sdk-push
    访问控制aliyun-python-sdk-ram
    云数据库 RDS 版aliyun-python-sdk-rds
    资源编排aliyun-python-sdk-ros
    负载均衡aliyun-python-sdk-slb
    专有网络 VPCaliyun-python-sdk-vpc
    阿里云 STSaliyun-python-sdk-sts
    云盾aliyun-python-sdk-yundun

    Python SDK使用说明

    公共参数

    名称类型是否必须描述
    accessKeyIdString必须阿里云的Access Key ID
    accessKeySecretString必须阿里云的Access Key Secret

    引入Python SDK

    • 安装Python SDK包:

      1. sudo pip install aliyun-python-sdk-core
      2. sudo pip install aliyun-python-sdk-iot
    • 在Python文件中引入Python SDK相关文件:

      1. from aliyunsdkcore import client
      2. from aliyunsdkiot.request.v20170420 import RegistDeviceRequest
      3. from aliyunsdkiot.request.v20170420 import PubRequest
      4. ...

    初始化

    1. accessKeyId = '<your accessKey>'
    2. accessKeySecret = '<your accessSecret>'
    3. clt = client.AcsClient(accessKeyId, accessKeySecret, 'cn-shanghai')

    发起调用

    以publish数据到设备为例:

    1. request = PubRequest.PubRequest()
    2. request.set_accept_format('json') #设置返回数据格式,默认为XML
    3. request.set_ProductKey('productKey')
    4. request.set_TopicFullName('/productKey/deviceName/get') #消息发送到的Topic全名
    5. request.set_MessageContent('aGVsbG8gd29ybGQ=') #hello world Base64 String
    6. request.set_Qos(0)
    7. result = clt.do_action_with_exception(request)
    8. print 'result : ' + result

    性能参数表

      

    RDS for MySQL

    API参数名含义
    MySQL_NetworkTrafficMySQL实例平均每秒钟的输入流量,MySQL实例平均每秒钟的输出流量。单位为KB。
    MySQL_QPSTPS平均每秒SQL语句执行次数,平均每秒事务数
    MySQL_Sessions当前活跃连接数,当前总连接数
    MySQL_InnoDBBufferRatioInnoDB缓冲池的读命中率,InnoDB缓冲池的利用率,InnoDB缓冲池脏块的百分率
    MySQL_InnoDBDataReadWritenInnoDB平均每秒钟读取的数据量,InnoDB平均每秒钟写入的数据量。单位为KB
    MySQL_InnoDBLogRequests平均每秒向InnoDB缓冲池的读次数,平均每秒向InnoDB缓冲池的写次数
    MySQL_InnoDBLogWrites平均每秒日志写请求数,平均每秒向日志文件的物理写次数,平均每秒向日志文件完成的fsync()写数量
    MySQL_TempDiskTableCreatesMySQL执行语句时在硬盘上自动创建的临时表的数量
    MySQL_MyISAMKeyBufferRatioMyISAM平均每秒Key Buffer利用率,MyISAM平均每秒Key Buffer读命中率,MyISAM平均每秒Key Buffer写命中率
    MySQL_MyISAMKeyReadWritesMyISAM平均每秒钟从缓冲池中的读取次数,MyISAM平均每秒钟从缓冲池中的写入次数,MyISAM平均每秒钟从硬盘上读取的次数,MyISAM平均每秒钟从硬盘上写入的次数
    MySQL_COMDML平均每秒Delete语句执行次数,平均每秒Insert语句执行次数, 平均每秒Insert_Select语句执行次数,平均每秒Replace语句执行次数,平均每秒Replace_Select语句执行次数,平均每秒Select语句执行次数,平均每秒Update语句执行次数
    MySQL_RowDML平均每秒从InnoDB表读取的行数,平均每秒从InnoDB表更新的行数,平均每秒从InnoDB表删除的行数,平均每秒从InnoDB表插入的行数,平均每秒向日志文件的物理写次数
    MySQL_MemCpuUsageMySQL实例CPU使用率(占操作系统总数),MySQL实例内存使用率(占操作系统总数)
    MySQL_IOPSMySQL实例的IOPS(每秒IO请求次数)
    MySQL_DetailedSpaceUsageMySQL实例空间占用详情:ins_size实例总空间使用量;data_size数据空间;log_size日志空间;tmp_size临时空间;other_size系统空间
    slavestat只读实例延迟

    RDS for SQL Server

    API参数名含义
    SQLServer_Transactions平均每秒事务数
    SQLServer_Sessions当前总连接数
    SQLServer_BufferHit缓存命中率
    SQLServer_FullScans平均每秒全表扫描次数
    SQLServer_SQLCompilations每秒SQL编译
    SQLServer_CheckPoint每秒检查点写入Page数
    SQLServer_Logins每秒登录次数
    SQLServer_LockTimeout每秒锁超时次数
    SQLServer_Deadlock每秒死锁次数
    SQLServer_LockWaits每秒锁等待次数
    SQLServer_NetworkTrafficSQLServer实例平均每秒钟的输入/输出流量。单位为KB
    SQLServer_QPS平均每秒SQL语句执行次数
    SQLServer_InstanceCPUUsageMSSQL实例CPU使用率(占操作系统总数)
    SQLServer_IOPSMSSQL实例的IOPS(每秒IO请求次数)
    SQLServer_SpaceUsageMSSQL实例空间占用

    文章来源:北大青鸟 HD089455

    展开全文
  • Python3调用MySQL数据库中的数据

    千次阅读 2018-03-29 14:28:19
    在学习《Designing Machine Learning Systems with Python》(中文名《机器学习系统设计——Python语言实现》)一书中,在第三章第二节第四小节(P67)读取Mysql数据库数据的代码中。使用的python包是mysql包,...

    在学习《Designing Machine Learning Systems with Python》(中文名《机器学习系统设计——Python语言实现》)一书中,在第三章第二节第四小节(P67)读取Mysql数据库中数据的代码中。使用的python包是mysql包,但是这个包只支持python2.7以下版本。原话是

    MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported. Python-3.0 will be supported in a future release. PyPy is supported.

    但是就我找到的版本中这已经是最新的mysql版本了。所以只好换一个python包了。我选择的是pymysql包。
    安装过程就是pip install pymysql 这没什么好说的。安装完成后,仿照在网上找到的例子(正确做法是仿照官网上的Example来修改,但是我一看官网给出的例子有一丢丢长,所以就在网上随便找到了另一个例子
    修改后,原来的代码就换成了

    import pymysql   # not support in python3
    # from pymysql.connector import errorcode
    
    cnx = pymysql.connect(user='root', password='password', database='world')
    cursor = cnx.cursor()
    query = ('select * from city where population > 1000000 order by population')
    cursor.execute(query)
    worldList = []
    for (city) in cursor:
        worldList.append([city[1], city[4]])
    cursor.close()
    cnx.close()

    在最后在加上一个输出语句

    print(worldList)

    运行无误,输出结果(结果很多,我用省略号代替了)

    [['Zapopan', 1002239], ['Napoli', 1002619], ['Perm', 1009700], ['Odesa', 1011000], ['Rostov-na-Donu', 1012700], ['Birmingham', 1013000], ..., ['Mumbai (Bombay)', 10500000]]
    

    然后去Mysql数据库中查看下,数据正确。

    展开全文
  • 第二,把调用到的数据写入mysql数据库, 第三,python调用wsdl接口,获取录音文件, importtime importjson importpprint importMySQLdb importurllib importos importurllib2#调报表接口用 imports...
  • python实现数据库查询数据方法

    千次阅读 2019-06-23 17:00:50
    因为公司业务的关系,每做一笔功能冒烟测试,我们就要对很多的数据库表中的字段进行校验,当时我就想反正总是要重复的运行这些SQL语句, 干脆就把这些SQL语句写到一个py文件里,需要执行相应的SQL语句就去进行调用...
  • import pymysql ...#添加数据 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='yyy') cursor = conn.cursor() try: insertSQL0="INSERT INTO ACCOUNT2 (name,...
  • 使用Python连接数据库

    2020-10-16 12:11:32
    Python数据库连接 from pymysql import * #1.连接数据库,在实例化的时候自动连接数据库 #2.定义获取单条数据的方法, #3. 实现在程序执行的完毕的时候自动关闭连接,要使用del魔法方法 class MyDb(object):#...
  • python数据库批量插入多条数据

    千次阅读 2020-10-22 11:32:18
    4.数据生成表中所需的字段内容,并调用插入方法 # #!/usr/bin/python # # -*- coding: UTF-8 -*- lst_first=['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '
  • Python数据库编程

    2015-11-08 00:45:03
    第十章 Python数据库编程 10.1 Python环境下的数据库编程  1、通过ODBC访问数据库  ODBC是微软建立的一组规范,可以直接对数据库访问的应用程序...这样在Python程序中就可以直接调用adress数据库。ODBC连接数据
  • Python 操作数据库

    2020-09-17 16:54:50
    1 数据库编程接口 1.1 连接对象 数据库连接对象主要提供获取数据库游标对象和提交...获取游标对象,操作数据库,如执行DML操作,调用存储过程等 commit()方法用于提交事务,事务主要用于处理数据量大\复杂度高的数据 ...
  • 主要介绍了Python调用SQLPlus来操作和解析Oracle数据库的方法,这样用SQL*Plus方式来分析Oracle中的数据就变得十分方便,需要的朋友可以参考下
  • python flask 数据库(一) 数据库初始化

    千次阅读 2020-04-15 12:21:17
    python flask是一个轻量级的web框架语言,和html,js,css语言组合在一起可以组成web应用和组成数据编辑的后端。 首先我们来查看如何使用flask来链接数据库。 首先,我们要先设置数据库的链路 数据库主要由四部分...
  • python操作数据库

    2018-06-28 15:27:00
    调用fetchone游标一次,就会往下...fetchall 获取全部,运行时候需要占用大量内存(如果数据库数据比较多的话) host = ''user = ''passwd = ''dbname = ''import pymysqlconn = pymysql.connect(host=host, ...
  • 任何的编程语言都不能绕开对于数据库调用和操作,不然它就不能广泛被使用,今天就来讨论一下Python对于两种数据库调用和操作。 mysql和redis的区别 1.mysql和redis的数据库类型 mysql是关系型数据库,主要用于...
  • python连接数据库步骤

    2019-10-06 16:16:24
    2.调用connect()创建数据库连接,返回对象conn 3.调用conn.execute()方法创建表结果或者插入数据。如果设置了手动提交,则需要调用conn.commit()方法提交插入的数据 4.调用conn.cursor()方法返回游标,然后通过cur...
  • 在建表的类中定义时间戳...向MySQL数据库中插入数据时,插入数据的类型和格式(以当前系统时间为例)应写成如下形式: d_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 此处需要import time 这...
  • python数据库连接,数据导入,能直接使用的模块类,还添加了方便的使用方法。python新手必备,老手到这么用。
  • Python调用出错:ExecuteSQL 异常: (1241, 'Operand should contain 1 column(s)') 我抓取到的数据是个列表,写入数据库出错。必须将json对象转成json字符串存入数据库才行。 haha= JSON.Stringify(haha) ...
  • python3 数据库查询

    2016-04-02 20:26:00
    #xiaodeng #python 3 #数据库查询 ...#第一种方法(fethall,返回所有行数据) ...conn=pymysql.connect(user,passwd,host,db,charset='utf8') ...#cursor链接数据库并用cur接收这个对象,然后便于调用方法(增、...
  • Python备份数据库并定期删除n天前的备份数据(本地)  在Windows下进行数据本地备份:整个备份分为4部分,检查文件路径,备份,获取时间,定期删除。 调用库 import os import time import zipfile import ...
  • 我用python操作mysql数据库数据库数据格式为utf8,我使用python调用select语句后获取到数据库的信息,然后使用print打印出来的时候,原本中文数据却无法显示,显示出来的是一串?,为了解决这个问题,我也是绞尽...
  • 使用 Python DB API 2.0 操作数据库的基本流程如下: ①调用 connect() 方法打开数据库连接,该方法返回数据库连接对象。 ②通过数据库连接对象打开游标。 ③使用游标执行 SQL 语句(包括DDL、DML、select 查询语句...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 998
精华内容 399
关键字:

python调用数据库数据

python 订阅