python3.6执行pymysql报错

python3.6执行pymysql报错,第1张

折腾好半天的数据库连接,由于之前未安装 pip ,而且自己用的Python 版本为36 只能用 pymysql 来连接数据库,下边 简单介绍一下 连接的过程,以及简单的增删改查 *** 作

1通过 pip 安装 pymysql

进入 cmd 输入 pip install pymysql

回车等待安装完成;

安装完成后出现如图相关信息,表示安装成功。

2测试连接

import pymysql #导入 pymysql ,如果编译未出错,即表示 pymysql 安装成功

简单的增删改查 *** 作

示例表结构

21查询 *** 作

[python] view plain copy

import pymysql #导入 pymysql

#打开数据库连接

db= pymysqlconnect(host="localhost",user="root",

password="123456",db="test",port=3307)

# 使用cursor()方法获取 *** 作游标

cur = dbcursor()

#1查询 *** 作

# 编写sql 查询语句 user 对应我的表名

sql = "select from user"

try:

curexecute(sql) #执行sql语句

results = curfetchall() #获取查询的所有记录

print("id","name","password")

#遍历结果

for row in results :

id = row[0]

name = row[1]

password = row[2]

print(id,name,password)

except Exception as e:

raise e

finally:

dbclose() #关闭连接

22插入 *** 作

[python] view plain copy

import pymysql

#2插入 *** 作

db= pymysqlconnect(host="localhost",user="root",

password="123456",db="test",port=3307)

# 使用cursor()方法获取 *** 作游标

cur = dbcursor()

sql_insert ="""insert into user(id,username,password) values(4,'liu','1234')"""

try:

curexecute(sql_insert)

#提交

dbcommit()

except Exception as e:

#错误回滚

dbrollback()

finally:

dbclose()

23更新 *** 作

[python] view plain copy

import pymysql

#3更新 *** 作

db= pymysqlconnect(host="localhost",user="root",

password="123456",db="test",port=3307)

# 使用cursor()方法获取 *** 作游标

cur = dbcursor()

sql_update ="update user set username = '%s' where id = %d"

try:

curexecute(sql_update % ("xiongda",3)) #像sql语句传递参数

#提交

dbcommit()

except Exception as e:

#错误回滚

dbrollback()

finally:

dbclose()

24删除 *** 作

[python] view plain copy

import pymysql

#4删除 *** 作

db= pymysqlconnect(host="localhost",user="root",

password="123456",db="test",port=3307)

# 使用cursor()方法获取 *** 作游标

cur = dbcursor()

sql_delete ="delete from user where id = %d"

try:

curexecute(sql_delete % (3)) #像sql语句传递参数

#提交

dbcommit()

except Exception as e:

#错误回滚

dbrollback()

finally:

dbclose()

可以将你的查询语句拼接成字符串~~保存到你定义的变量中然后截取变量值再进行 *** 作

游标查询如下:

open

rumCur

for

select

mname||','||bacResponseTime||','||sessionCount||','||round(responseTime,2)||','||hits

from

tableName;

fetch

rumCur

into

result;--result为定义的变量~

然后分割截取~~

也可以定义多个变量

fetch

rumCur

into

[变量1],[变量2];

A 在简单的游标中使用 FETCH

下例为 authors 表中姓以字母 B 开头的行声明了一个简单的游标,并使用 FETCH NEXT 逐个提取这些行。FETCH 语句以单行结果集形式返回由 DECLARE CURSOR 指定的列的值。

USE pubs

GO

DECLARE authors_cursor CURSOR FOR

SELECT au_lname FROM authors

WHERE au_lname LIKE "B%"

ORDER BY au_lname

OPEN authors_cursor

-- Perform the first fetch

FETCH NEXT FROM authors_cursor

-- Check @@FETCH_STATUS to see if there are any more rows to fetch

WHILE @@FETCH_STATUS = 0

BEGIN

-- This is executed as long as the previous fetch succeeds

FETCH NEXT FROM authors_cursor

END

CLOSE authors_cursor

DEALLOCATE authors_cursor

GO

au_lname

----------------------------------------

Bennet

au_lname

----------------------------------------

Blotchet-Halls

au_lname

----------------------------------------

B 使用 FETCH 将值存入变量

下例与上例相似,但 FETCH 语句的输出存储于局部变量而不是直接返回给客户端。PRINT 语句将变量组合成单一字符串并将其返回到客户端。

USE pubs

GO

-- Declare the variables to store the values returned by FETCH

DECLARE @au_lname varchar(40), @au_fname varchar(20)

DECLARE authors_cursor CURSOR FOR

SELECT au_lname, au_fname FROM authors

WHERE au_lname LIKE "B%"

ORDER BY au_lname, au_fname

OPEN authors_cursor

-- Perform the first fetch and store the values in variables

-- Note: The variables are in the same order as the columns

-- in the SELECT statement

FETCH NEXT FROM authors_cursor

INTO @au_lname, @au_fname

-- Check @@FETCH_STATUS to see if there are any more rows to fetch

WHILE @@FETCH_STATUS = 0

BEGIN

-- Concatenate and display the current values in the variables

PRINT "Author: " + @au_fname + " " + @au_lname

-- This is executed as long as the previous fetch succeeds

FETCH NEXT FROM authors_cursor

INTO @au_lname, @au_fname

END

CLOSE authors_cursor

DEALLOCATE authors_cursor

GO

Author: Abraham Bennet

Author: Reginald Blotchet-Halls

C 声明 SCROLL 游标并使用其它 FETCH 选项

下例创建一个 SCROLL 游标,使其通过 LAST、PRIOR、RELATIVE 和 ABSOLUTE 选项支持所有滚动能力。

USE pubs

GO

-- Execute the SELECT statement alone to show the

-- full result set that is used by the cursor

SELECT au_lname, au_fname FROM authors

ORDER BY au_lname, au_fname

-- Declare the cursor

DECLARE authors_cursor SCROLL CURSOR FOR

SELECT au_lname, au_fname FROM authors

ORDER BY au_lname, au_fname

OPEN authors_cursor

-- Fetch the last row in the cursor

FETCH LAST FROM authors_cursor

-- Fetch the row immediately prior to the current row in the cursor

FETCH PRIOR FROM authors_cursor

-- Fetch the second row in the cursor

FETCH ABSOLUTE 2 FROM authors_cursor

-- Fetch the row that is three rows after the current row

FETCH RELATIVE 3 FROM authors_cursor

-- Fetch the row that is two rows prior to the current row

FETCH RELATIVE -2 FROM authors_cursor

CLOSE authors_cursor

DEALLOCATE authors_cursor

GO

au_lname au_fname

---------------------------------------- --------------------

Bennet Abraham

Blotchet-Halls Reginald

Carson Cheryl

DeFrance Michel

del Castillo Innes

Dull Ann

Green Marjorie

Greene Morningstar

Gringlesby Burt

Hunter Sheryl

Karsen Livia

Locksley Charlene

MacFeather Stearns

McBadden Heather

O'Leary Michael

Panteley Sylvia

Ringer Albert

Ringer Anne

Smith Meander

Straight Dean

Stringer Dirk

White Johnson

Yokomoto Akiko

au_lname au_fname

---------------------------------------- --------------------

Yokomoto Akiko

au_lname au_fname

---------------------------------------- --------------------

White Johnson

au_lname au_fname

---------------------------------------- --------------------

Blotchet-Halls Reginald

au_lname au_fname

---------------------------------------- --------------------

del Castillo Innes

au_lname au_fname

---------------------------------------- --------------------

Carson Cheryl

以上就是关于python3.6执行pymysql报错全部的内容,包括:python3.6执行pymysql报错、oracle动态游标问题 有没办法获取动态游标中的字段信息!!!、SQL游标如何使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9295410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存