python操作mysql
来源:互联网 发布:怎么查看计算机端口 编辑:程序博客网 时间:2024/05/17 08:55
# -*- coding: UTF-8 -*-import MySQLdb as mdbimport mathimport sysimport randomcon = mdb.connect('localhost', 'root', 'root', 'python_test')with con: # 获取连接的cursor对象 cur = con.cursor() # 建表(该表不存在时才会建立) table_name = "pytest" create_command = "CREATE TABLE IF NOT EXISTS " + table_name + "(id int auto_increment PRIMARY KEY , device_no VARCHAR(50), sumTime int(20))" cur.execute(create_command) # 插入的第1种方式(麻烦,但Java中采用这种方式) # 插入之前所有字段都要转成str类型 # 虽然插入之前所有字段都要转成str,但在表中是什么类型还是由建表语句指定的(float还是float,int还是int) # 0-199 for i in range(200): device_no = "zhxxxxx"+str(i) sumTime = random.randint(0, 1000) insert_command = "INSERT INTO " + table_name + "(device_no,sumTime) VALUES("\ +"'"+device_no+"'"+","\ +"'"+str(sumTime)+"'"\ +")" cur.execute(insert_command) # 插入的第2种方式(简洁) # 200-299 for i in range(200,300): device_no = "zhxxxxx"+str(i) sumTime = random.randint(0, 1000) value =[device_no, sumTime] insert_command = "INSERT INTO " + table_name + "(device_no,sumTime) VALUES(%s,%s)" cur.execute(insert_command, value) # 遍历 var = 20 # id select_command = "SELECT * FROM pytest WHERE id >= " + str(var) +" order by sumTime limit 300 " print select_command cur.execute(select_command) # cur相当于java中的statement rows = cur.fetchall() print "第0行第1列元素为:%s" % rows[0][1] print "第0行第2列的sumTime类型为:%s" % type(rows[0][2]) print "id>=20 的前300台设备号并按照sumTime排序:" for row in rows: id = row[0] device_no = row[1] sumTime = row[2] print "%d %s %d" % (id, device_no, sumTime) # 将所有设备号放入IDList # 开始时想直接创建一个set,在遍历rows过程中就完成去重,后来失败,所以先创建list,再转成set IDList = [] for row in rows: if row[1] == None: # 如果该字段device_no为Null,则不加入set continue else: IDList.append(row[1]) # device_no # 对设备号去重 IDSet = set(IDList) IDLen = IDSet.__len__() print "不重复的设备号为:" # for device_no in IDSet: # 遍历set # print device_no cur.close()con.close()
代码使用方法:先在本地建立名为python_test的数据库,将上述代码复制到pycharm或者eclipse,运行结束后会自动在该数据库下生成一个表pytest,该表有三个字段id,device_no,sumTime,其中id字段为主键,int类型,自增;device_no表示设备号,varchar类型,sumTime表示总时间,int类型。
代码完成以下功能:
建表
两种方式的插入
查询
统计所有不重复的设备号放入一个set
0 0
- [python]Python操作MySQL
- python操作mysql
- Python操作MySQL
- Python操作Mysql数据库
- python操作MySQL
- python 操作mysql
- python操作mysql
- python操作mysql例子
- python操作mysql
- Python操作Mysql
- Python操作Mysql
- Python操作Mysql
- python操作MySQL数据库
- python操作MySQL数据库
- 用Python操作Mysql
- python操作mysql
- python操作MySQL数据库
- python操作MySQL数据库
- pythonanywhere+django
- 数据校验码
- Hibernate 3.6.10自带开发jar包问题
- 模拟浏览器下载文件
- 调试EasyDarwin开源项目EasyCamera-HK接入海康IPCamera 摄像机所遇到的大坑
- python操作mysql
- js调用函数时传入的参数个数与函数定义时的参数个数不符时的操作
- 选择排序算法
- 关于linux中的中文输入
- Demo02__int型
- 【codevs 1127】接水问题
- Android三大测试方法介绍——Android学习笔记
- 【2】JS输出日期
- [czyz模拟赛]WM度假