python【系列教程】之数据库编程

一、python数据库API简介

 

 

 

二、操作SQLite数据库

import sqlite3

# 获取数据库连接
conn = sqlite3.connect('first.db')
# 获取游标
c = conn.cursor()
# 执行查询语句
c.execute('select * from  user_tb where _id>?', (2,))
print('查询返回的记录数', c.rowcount)
# 通过游标的desription属性获取列信息
for col in (c.description):
    print(col[0], end='\t')
print('\n---------------------------------')
while True:
    # 获取一条记录,每行数据都是一个元组
    row = c.fetchone()
    # 如果获取的row为None,则退出循环
    if not row:
        break
    print(row)
    print(row[1] + '-->' + row[2])
# 关闭游标
c.close()
# 关闭连接
conn.close()
"""从上面的运行结果看,程序返回了所有_id大于2的记录,这就是上面程序查询所返回的结果,
由于每条select语句都可能返回多个查询结果,因此不能使用executemany()执行查询语句,这
没什么意义,不要试图使用executeMany()方法执行selecty语句,否则程序将会报错
"""

 

import sqlite3
print('开始测试fetchmany函数')
conn = sqlite3.connect('first.db')
c = conn.cursor()

c.execute('select * from user_tb where _id>?',(2,))
print('查询返回的记录数', c.rowcount)

for col in (c.description):
    print(col[0],end='\t')
print('\n-------------------------------')
while True:
    rows = c.fetchmany(3)
    if not rows:
        break
    for x in rows:
        print(x)
        print(x[1]+'-->'+x[2])

 

 

 

#executescript()函数的用法
import sqlite3
conn = sqlite3.connect('first.db')
c = conn.cursor()
c.executescript('''
 insert into user_tb values (null,'武松','3444','male');
 insert into user_tb values (null,'林冲','44444','male');
 create table item_tb(_id integer primary key autoincrement,
  name,
  price);
''')
conn.commit()
c.close()
conn.close()
#创建自定义函数
import  sqlite3
def reverse_ext(st):
    return '['+st[::-1]+']'

conn = sqlite3.connect('first.db')
#将reverse_ext函数注册为自定义函数
conn.create_function('enc',1,reverse_ext)

c=conn.cursor()
#在sql中使用enc自定义函数
c.execute('insert into user_tb values(null,?,enc(?),?)',('贾宝玉','123456','male'))
conn.commit()
c.close()
conn.close()

 

 

 

 

 

 

 

三、操作MySql数据库

查看已经安装的模块

pip  show  packagename

启动命令行窗口,在窗口中输入如下命令:

pip show  mysql-connector-python

卸载已经安装的模块

pip  uninstall  packagename

在命令行窗口输入如下命令:

pip  uninstall  mysql-connector-python

查看已安装的所有模块

pip  list 

安装 模块

pip  Install  packagename

在命令行窗口输入如下命令:

pip  install  mysql-connector-python

如果希望安装的时候指定不同版本的模块,则可指定版本号。如下:

pip install packagename  ==1.0.4  

 

 

from mysql import connector

print(connector.apilevel)

print(connector.paramstyle)

conn = connector.connect(user='root', password='123456', host='localhost', port='3306', database='python',
                         use_unicode=True)

c = conn.cursor()

c.execute("""create tabel  user_tb(
user_id int primary key auto_increment,
name varchar(255),
pass varchar(255),
gender varchar(255)
)""")

c.execute('insert into user_tb values(null,%s,%s,%s)',('dzx','123','man'))
c.execute('insert into order_tb values(null,%s,%s,%s,%s)',('鼠标','34.3','3','1'))

c.close()
conn.close()

 

 

# 调用存储过程
# 编写一个简单的存储过程
# delimiter //
# create procedure add_pro(a int,b int,out sum int)
# begin
# set sum= a+b
# end;
# //

import mysql.connector

conn = mysql.connector.connect(user='root', password='32147', host='localhost', port='3306')

c = conn.cursor()
#调用存储过程
result = c.callproc('add_pro', (1, 2, 0))
#打印结果,既包含传入参数的值,也包含传出参数的值
print(result)
#如果只想访问传出参数的值,则可以直接访问result_args的第3个元素,
print(result[2])
c.close()
conn.close()

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米吃辣椒2022

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值