Python MySQL - 进行数据查询

#coding=utf-8
import mysql.connector
import importlib
import sys
# reload(sys)
# sys.setdefaultencoding(‘utf-8‘)

#连接数据库的信息
class ConnectionMysql(object):
    __config = {
        ‘host‘:‘115.xx.10.121‘,
        ‘port‘:‘3306‘,
        ‘user‘:‘root‘,
        ‘password‘:‘xxxxx8Z6XPXbvos‘,
        ‘database‘:‘xxxx_site‘,
        ‘charset‘:‘utf8‘,
    }
    def __init__(self):
        try:
            self.conn = mysql.connector.connect(**ConnectionMysql.__config)
        except mysql.connector.Error as e:
            self.conn = None
        self.cursor = None

    def connectdatabase(self):
        pass

    #查询数据
    def selectdatabase(self,sql):
            self.cursor = self.conn.cursor(buffered=True)
            #执行sql语句
            self.cursor.execute(sql)
            # fetchall() 获取所有记录
            dataslist = self.cursor.fetchall()
            dataslists = []
            for datas in dataslist:
                for data in datas:
                    if data==None:
                        dataslists.append(data)
                    else:
                        #dataslists.append(data.decode(‘utf-8‘))
                        dataslists.append(data)
            return dataslists

    def closedatabase(self):
        try:
            print ‘关闭数据库中。。‘
            self.cursor.close()#关闭标记位
            self.conn.close()#关闭数据库链接
            print ‘数据库已关闭‘
        except mysql.connector.Error as e:
            raise Exception(‘关闭数据库失败,%s‘%(str(e)))

if __name__ == ‘__main__‘:
    conn = ConnectionMysql()
    conn.connectdatabase()
    dataslist = conn.selectdatabase(‘select title from site_basic_info‘)
    #repr(dataslist).decode(‘unicode-escape‘)  解决中文编码问题
    print(repr(dataslist).decode(‘unicode-escape‘))

原文地址:https://www.cnblogs.com/chengchengla1990/p/9956889.html

时间: 2024-11-12 22:09:09

Python MySQL - 进行数据查询的相关文章

mysql 大数据 查询方面的测试

---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千级)---原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃. ---方法2: 建立主键或唯一索引, 利用索引(假设每页10条)---语句样式: MySQL中,可用如下方法

MySQL:数据查询

数据查询 一.基本查询语句 1.语法:写一行 select{*<字段列表>}//查询的字段,多个字段用逗号分开 from<表1>,<表2>-//数据表名 {//可选 [where<表达式>]//限定条件,只能放一个. 2.实例 mysql> select * from publisher; +----+-----+------+ | bh | cbs | bz | +----+-----+------+ | 01 | 2 | 1111 | | 02 |

解决python mysql插入数据时报错:TypeError: %d format: a number is required, not str

今天在使用python爬取数据并将其写入mysql数据库时,使用该如下语句: cursor.execute( "insert into comments_p_spider(owner_id,from_name,content,create_time,score,comment_level) values(%d,%s,%s,%s,%f,%s)", (p_id,str(username), str(contentStr), str(create_time),float(score), st

SpringMVC+Mybatis实现的Mysql分页数据查询

周末这天手痒,正好没事干,想着写一个分页的例子出来给大家分享一下. 这个案例分前端和后台两部分,前端使用面向对象的方式写的,里面用到了一些回调函数和事件代理,有兴趣的朋友可以研究一下.后台的实现技术是将分页Pager作为一个实体对象放到domain层,当前页.单页数据量.当前页开始数.当前页结束数.总数据条数.总页数都作为成员属性放到实体类里面. 以前项目数据库用的是oracle,sql语句的写法会从当前页开始数到当前页结束数查询数据.刚刚在这纠结了很长时间,查询到的数据显示数量总是有偏差,后来

python + mysql 清洗数据

1.创建表 CREATE TABLE `test_sdr_daily_action` ( `log_date` DATE NOT NULL ,`sales_id` BIGINT (20) NOT NULL ,`sales_name` VARCHAR(256) NOT NULL ,`contacted_prospect` INT (11) NOT NULL DEFAULT 0 ,`total_call` INT (11) NOT NULL DEFAULT 0 ,`success_call` INT

mysql 常用数据查询

1.关联查询修改 UPDATE  ex_question_questioncategory t5 INNER JOIN (SELECT qc.QUESTION_ID,qc.QUESTION_CATEGORY_ID FROM ex_question_questioncategory qc RIGHT JOIN (SELECT q.QUESTION_ID,q.CONTENT from ex_question q WHERE q.CONTENT LIKE '%关键字%') t1 ON qc.QUEST

分享一个简单的python+mysql网络数据抓取

最近学习python网络爬虫,所以自己写了一个简单的程序练练手(呵呵..).我使用的环境是python3.6和mysql8.0,抓取目标网站为百度热点(http://top.baidu.com/).我只抓取了实时热点内容,其他栏目应该类似.代码中有两个变量SECONDS_PER_CRAWL和CRAWL_PER_UPDATE_TO_DB,前者为抓取频率,后者为抓取多少次写一次数据库,可自由设置.我抓取的数据内容是热点信息,链接,关注人数和时间.其在内存中存放的结构为dict{tuple(热点信息,

python MySQL执行SQL查询结果返回字典

写自动化测试的时候我希望执行数据库前置任务,把数据库查询的结果作为请求的参数,但是正常返回结果为列表嵌套里面,这样就会影响到关键字准确的获取,特别的受限于SQL的查询字段的的顺序,所以希望返回的单条数据结果是字典,返回结果为多条数据的时统一存放在列表中便于对数据遍历,同时我在传入参数的时候可以准确的获取关键字: # -*- coding: utf-8 -*- # @Time : 2018/12/30 18:39 # @Author : Hunk # @Email : [email protect

Python mysql sqlite 数据没有更新

原因 MySQL事务隔离级别 解决方案 conn.commit() conn.close()