python3.4用循环往mysql5.7中写数据并输出

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "blzhu"
"""
python study
Date:2017
"""
import pymysql
# import MySQLdb #python2中的产物

try:
    # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
    conn = pymysql.connect(host=‘localhost‘, user=‘root‘, passwd=‘root‘, db=‘zbltest1‘, port=3306, charset=‘utf8‘)
    cur = conn.cursor()  # 获取一个游标
    for i in range(1, 10):
        zbl_id = str(i)
        zbl_name = ‘zbl‘+str(i)
        zbl_gender = ‘man‘
        # print("%s,%s,%s" % (zbl_id,zbl_name,zbl_gender))
        # sql = "insert student VALUES (id=‘%s‘,name=‘%s‘,gender=‘%s‘)" % (zbl_id,zbl_name,zbl_gender)
        sql = "insert student VALUES (‘%s‘,‘%s‘,‘%s‘)" % (zbl_id, zbl_name, zbl_gender)
        # print(sql)
        cur.execute(sql)
    conn.commit()# 将数据写入数据库

        # try:
        # cur.execute(sql)
            # cur.commit()
        # except:
        #     cur.rollback()
        #cur.execute("""INSERT INTO ‘student‘ (‘id‘,‘name‘,‘gender‘) VALUES (%s,%s,%s ,(zbl_id,zbl_name,zbl_gender,))""")
        #cur.execute("""INSERT INTO ‘student‘ (‘id‘,‘name‘,‘gender‘) VALUES (zbl_id,zbl_name,zbl_gender)""")

        # cur.execute("INSERT student VALUES (zbl_id,zbl_name,zbl_gender)")

    # cur.execute("INSERT student VALUES (‘4‘, ‘zbl4‘, ‘man‘)")# 正确
    #cur.execute("INSERT INTO ‘student‘ (‘id‘,‘name‘,‘gender‘) VALUES (‘4‘, ‘zbl4‘, ‘man‘)")#错误
    #cur.execute("INSERT  student (‘id‘,‘name‘,‘gender‘) VALUES (‘4‘, ‘zbl4‘, ‘man‘)")

    cur.execute(‘select * from student‘)
    # data=cur.fetchall()
    for d in cur:
        # 注意int类型需要使用str函数转义
        print("ID: " + str(d[0]) + ‘  名字: ‘ + d[1] + "  性别: " + d[2])
    print("row_number:", (cur.rownumber))
    # print(‘hello‘)

    cur.close()  # 关闭游标
    conn.close()  # 释放数据库资源
except  Exception:
    print("发生异常")

上面代码是对的,但是是曲折的。

下面整理一下:

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # __author__ = "blzhu"
 4 """
 5 python study
 6 Date:2017
 7 """
 8 import pymysql
 9 try:
10     # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
11     conn = pymysql.connect(host=‘localhost‘, user=‘root‘, passwd=‘root‘, db=‘zbltest1‘, port=3306, charset=‘utf8‘)
12     cur = conn.cursor()  # 获取一个游标
13     for i in range(1, 10):
14         zbl_id = str(i)
15         zbl_name = ‘zbl‘+str(i)
16         zbl_gender = ‘man‘
17         # print("%s,%s,%s" % (zbl_id,zbl_name,zbl_gender))
18         # sql = "insert student VALUES (id=‘%s‘,name=‘%s‘,gender=‘%s‘)" % (zbl_id,zbl_name,zbl_gender)
19         sql = "insert student VALUES (‘%s‘,‘%s‘,‘%s‘)" % (zbl_id, zbl_name, zbl_gender)
20         # print(sql)
21         cur.execute(sql)
22     conn.commit()# 将数据写入数据库
23     cur.execute(‘select * from student‘)
24     # data=cur.fetchall()
25     for d in cur:
26         # 注意int类型需要使用str函数转义
27         print("ID: " + str(d[0]) + ‘  名字: ‘ + d[1] + "  性别: " + d[2])
28     print("row_number:", (cur.rownumber))
29     # print(‘hello‘)
30
31     cur.close()  # 关闭游标
32     conn.close()  # 释放数据库资源
33 except  Exception:
34     print("发生异常")

学习的几个地方:

http://blog.csdn.net/nuli888/article/details/51960571

 1 #!/usr/bin/python3
 2 import pymysql
 3 import types
 4
 5 db=pymysql.connect("localhost","root","123456","python");
 6
 7 cursor=db.cursor()
 8
 9 #创建user表
10 cursor.execute("drop table if exists user")
11 sql="""CREATE TABLE IF NOT EXISTS `user` (
12       `id` int(11) NOT NULL AUTO_INCREMENT,
13       `name` varchar(255) NOT NULL,
14       `age` int(11) NOT NULL,
15       PRIMARY KEY (`id`)
16     ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""
17
18 cursor.execute(sql)
19
20
21 #user插入数据
22 sql="""INSERT INTO `user` (`name`, `age`) VALUES
23 (‘test1‘, 1),
24 (‘test2‘, 2),
25 (‘test3‘, 3),
26 (‘test4‘, 4),
27 (‘test5‘, 5),
28 (‘test6‘, 6);"""
29
30 try:
31    # 执行sql语句
32    cursor.execute(sql)
33    # 提交到数据库执行
34    db.commit()
35 except:
36    # 如果发生错误则回滚
37    db.rollback()
38
39
40 #更新
41 id=1
42 sql="update user set age=100 where id=‘%s‘" % (id)
43 try:
44     cursor.execute(sql)
45     db.commit()
46 except:
47     db.rollback()
48
49 #删除
50 id=2
51 sql="delete from user where id=‘%s‘" % (id)
52 try:
53     cursor.execute(sql)
54     db.commit()
55 except:
56     db.rollback()
57
58
59 #查询
60 cursor.execute("select * from user")
61
62 results=cursor.fetchall()
63
64 for row in results:
65     name=row[0]
66     age=row[1]
67     #print(type(row[1])) #打印变量类型 <class ‘str‘>
68
69     print ("name=%s,age=%s" % 70              (age, name))

http://www.runoob.com/python/python-mysql.html

http://www.cnblogs.com/lei0213/p/6002921.html

http://blog.csdn.net/magicbreaker/article/details/41811519

http://blog.csdn.net/bwlab/article/details/51146640

时间: 2024-11-05 14:48:12

python3.4用循环往mysql5.7中写数据并输出的相关文章

Linux启动kettle及linux和windows中kettle往hdfs中写数据(3)

在xmanager中的xshell运行进入图形化界面 1 sh spoon.sh 新建一个job 1.往hdfs中写数据 1)linux中kettle往hdfs中写数据 双击hadoop copy files 运行此job 查看数据: 1)windows中kettle往hdfs中写数据 Windows中往power服务器中hdfs写数据 日志: 2016/07/28 16:21:14 - Version checker - OK 2016/07/28 16:21:57 - 数据整合工具-作业设计

mapreduce 只使用Mapper往多个hbase表中写数据

只使用Mapper不使用reduce会大大减少mapreduce程序的运行时间. 有时候程序会往多张hbase表写数据. 所以有如题的需求. 下面给出的代码,不是可以运行的代码,只是展示driver中需要进行的必要项设置,mapper类需要实现的接口,map函数需要的参数以及函数内部的处理方式. 实现过程比较曲折,只贴代码: class Qos2HbaseDriver extends Configured implements Tool { private static Logger logge

jmeter循环读取数据库表中的数据

先创建一个jdbc请求 请求在结果树正确后,添加一个循环控制器,循环次数定义数据库表查询的数量 variables names设置为col,那么如下变量会被设置为: col_#=2 (总行数) col_1=第1列, 第1行 col_2=第1列, 第2行 添加一个计数器用来坐变量拼接 添加请求引用N,使用函数助手 查看结果 jdbc运行结果 查看循环读取的结果 原文地址:https://www.cnblogs.com/only-love-you-519920/p/9135006.html

从数据库中读出数据并输出

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace Login { class Program { static void Main(string[] args) { //新建一个数据库连接 using(SqlConnection conn = new SqlConnection(GetConnect

程序中写数据到文件

#include <iostream>#include <iomanip>#include <fstream> using std::ofstream;ofstream fout3("/home/wang/Desktop/teleop_control.txt"); fout3<<twist.linear.x<<" "<< twist.angular.z<<std::endl;

POI向Excel中写入数据及追加数据

import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.*; import java.util.ArrayList; import java.

Spark Streaming从Kafka中获取数据,并进行实时单词统计,统计URL出现的次数

1.创建Maven项目 创建的过程参考:http://blog.csdn.net/tototuzuoquan/article/details/74571374 2.启动Kafka A:安装kafka集群:http://blog.csdn.net/tototuzuoquan/article/details/73430874 B:创建topic等:http://blog.csdn.net/tototuzuoquan/article/details/73430874 3.编写Pom文件 <?xml v

在一个升序的但是经过循环移动的数组中查找指定元素

数组是升序的,数组经过循环移动之后,肯定是有左半部分或者有半部分还是升序的. 代码: public class SearchRotateArray { public static int search(int a[], int l, int u, int x) { while(l<=u){ int m = (l+u)/2; if(x==a[m]){ return m; }else if(a[l]<=a[m]){ //左半部分升序排列 if(x>a[m]){ l=m+1; }else if

循环 函数 软件包 【中】

循环 函数 软件包  [中] 创建无限循环 while true; do 循环体 done until false; do 循环体 Done 特殊用法 while循环的特殊用法(遍历文件的每一行): while read line; do 循环体 done < /PATH/FROM/SOMEFILE 依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将 行赋值给变量line 示例 [[email protected] bin]# bash wenben.sh #! # read -