1.0 用python链接数据库
1.1 连接数据库——案例
coding=utf-8
import pymysql
# todo 连接数据库
connection = pymysql.connect(host='127.0.0.1', user='root', passwd='root', database='wangchunqiong', port=3306)
或者
connection = pymysql.connect(host='localhost', user='root', passwd='root', database='newdb', port=3306)
print(con)
# todo 获取操作句柄
cur = con.cursor()
#
# todo 使用数据库
sql1 = 'select database();'
cur.execute(sql1) #执行sql语句
#
# 获取执行的结果
print(cur.fetchall())
#
# todo 需求,获取wangchunqiong数据库中的表
sql2 = 'show tables'
cur.execute(sql2)
print(cur.fetchall())
#
# todo 需求获取wangchunqiong里面的数据
sql3 = 'select * from department'
cur.execute(sql3)
print(cur.fetchall())
1.2 获取数据
从前往后获取,不回头,尽量三种不加在一起用,获取所有的时候,光标移动到最后,获取多条及一条就获取不到了
-
fetchall 获取执行结果的所有数据
-
fetchmany 获取执行结果的部分数据
如果没有返回的数据,返回的是一个空元组,如果fetchmany()括号内容不写,返回一条数据
-
fetchone 获取执行结果的一条数据
如果没有返回的数据,返回的是None
1.3 解决sql注入的问题
# def search_info():
# username = input('请输入要查询的用户名:')
#
# sql1 = 'select * from student where Sname=%s'
# mysql_cur.execute(sql1,[username])
# print(mysql_cur.fetchall())
# search_info()
在where语句中使用%s站位符,在调用时在()中加入[变量名]进行调用,避免了sql注入语句的问题
2.0 导包
2.1 方法一
import 包名
如果需要使用包里面的函数
包名.函数名 引用
包名.函数名() 执行函数
2.2 方法二
from 文件 import 函数名
如果需要使用
函数名()