Python 数据库按需查询操作

Python 查询SQL server 使用fetchone()方法获取单条数据,使用fetchall()方法获取多条数据。


fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

fetchall():接收全部的返回结果行

rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数


fetchone():

返回单个的元组,也就是一条记录(row),如果没有结果,则返回none


fetchall():

返回多个元组,即返回多个记录(rows),如果没有结果,则返回  [ ]



需要注明:sql server 中是null 而在Python中则时none



用法如下:

import pymssql
#加载数据库模块sql server

connect = pymssql.connect('127.0.0.1', 'sa', '********', 'test')
#连接数据 (数据库地址,用户,密码,数据库名称)

cursor = connect.cursor()
#创建 数据库光标

id = input("输入你要查询的ID:",)
#定义一个变量id,且为自输入查询

sql = "SELECT name FROM c1 WHERE id = %s" %(id)
#创建一个数据库语句,并且按需自输入查询id对应的name,%s 为python对SQL server语句传入的变量传入的是% (id)变量
cursor.execute(sql)
#执行 sql server语句。
f1 = cursor.fetchone()
#创建变量f1,变量f1赋值是 sql的 第一条返回集,通过f1[0],f1[1],依次访问 元组值1,值2,f1[0]对应的是name


sql1 = "select * from c2"
#创建一个数据库语句,查询c2表所有数据,
cursor.execute(sql1)
#执行 sql1 server语句
f2 = cursor.fetchall()
#创建变量f2,变量f2赋值是sql1的所有返回集,可以通过 f2[0][0],f2[1][1],依次访问元组第一组第一个值,和第二组第二个值

connect.commit()
#数据库语句提交

cursor.close()
#关闭光标
connect.close()
#关闭数据库连接

if f1: 
#判断f1是否为真,通过输入的id,返回的name(有值为真,无值为假)
    
    print(f1[0])
    #如果为真返回f1的第一个值
else:
    
    print("空")
    #如果为假,返回空
    
print(f2)
#打印f2多元组数据,所有数据

print(f2[0][0],F2[1][1])
#打印f2的 第一组的第一个值,和第二组第二个值

Python 数据库按需查询数据,fetchone,fetchall_第1张图片


创建数据库c1,并且插入部分数据

CREATE TABLE c1 (
id INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
name VARCHAR(255)
)

INSERT INTO c1(name)
VALUES('kk'),('凯司令')

创建数据库c2,并且插入部分数据

CREATE TABLE c2(
id INT,
a INT,
b INT,
c INT
)
INSERT INTO c2(id,a,b,c)
VALUES(1,8,2,4),(2,24,4,6)