alan-babyblog

python3 使用pymysql VS python2.7 使用 MySQLdb

import pymysql
conn = pymysql.connect(           #Connect() 方法用于创建数据库的连接,里面可以指定参数:用户名,密码,主机等信息
    host = \'localhost\',           #这只是连接到了数据库,要想操作数据库需要创建游标
    port = 3306,
    user = \'root\',
    password = \'\',
    db = \'samp_db\',
)
cur = conn.cursor()               #通过获取到的数据库连接conn下的cursor()方法来创建游标

sqli = \'insert into projectorlamps values(%s,%s,%s)\'

cur.executemany(sqli,[           #executemany()方法可以一次插入多条值,执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
                (15,\'gg\',45),
                (12,\'fg\',18),
                (13,\'ty\',33),
                (14,\'uy\',20),


                ])
aa = cur.execute(\'select * from projectorlamps\')  #通过游标cur 操作execute()方法可以写入纯sql语句。通过execute()方法中写如sql语句来对数据进行操作
print (aa)

info = cur.fetchmany(aa)
for ii in info:
    print (ii)

#fetchone()方法可以帮助我们获得表中的数据,可是每次执行cur.fetchone() 获得的数据都不一样,
# 换句话说我没执行一次,游标会从表中的第一条数据移动到下一条数据的位置,
# 所以,我再次执行的时候得到的是第二条数据。

#fetchmany()方法可以获得多条数据,但需要指定数据的条数,通过一个for循环就可以把多条数据打印出啦



conn.commit()        #conn.commit()方法在提交事物,在向数据库插入一条数据时必须要有这个方法,否则数据不会被真正的插入
cur.close()          #关闭游标
conn.close()         #关闭数据库连接

执行结果:

13
(1, \'alan\', None)
(2, \'GF\', None)
(3, \'kobe\', None)
(4, \'??\', None)
(5, \'gg\', 45)
(6, \'asd\', None)
(7, \'ddd\', None)
(8, \'gg\', 45)
(11, \'gg\', 45)
(12, \'fg\', 18)
(13, \'ty\', 33)
(14, \'uy\', 20)
(15, \'gg\', 45)

 

  

分类:

技术点:

相关文章: