Python连载笔记(六)——————Python与MySQL数据库的交互

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42025108/article/details/102710506

一、pymysql模块的导入

用来演示Python 和 MysSQL数据库的交互

操作之前需要导入模块:
    第一种:import pymysql
        电脑的cmd命令:
        pip install -i https://pypi.douban.com/simple/ pymysql
    第二种:import mysqldb
        这是Python2的操作,已经废弃了

下载完成之后,File———setting————Project +自己文件名——第一个里面有MySQL则没问题

二、pymysql的使用流程

    1.建立数据库连接 conn
    2.创建游标对象 cur = conn.cursor()
    3.通过创建的游标 cur 执行sql语句,cur.exectute("SQL语句")
    4.提交:conn.commit()
    5.关闭游标:cur.close()
    6.断开连接:conn.close()
"""
    1.创建于数据库连接的对象:调用connect()
        conn = pymysql.connect(参数列表)
        
        参数列表:
            1)host:主机地址
            2)port:端口号 默认是 3306
            3)db:数据库名称
            4)user:用户名
            5)charset:编码方式,推荐使用utf8
    2.连接对象常用方法:
        1)close():关闭连接
        2)commut():提交到数据库执行
        3)rollback():回滚
            数据被修改之后,程序出异常了,rollback可以将数据恢复到被修改之前(必须是在commit之前)
        4)cursor():用来创建游标对象,用于执行SQL语句
    3.游标对象
        cur = conn.cursor()
        cur.execute(SQL语句)
    4.常用方法
        1.execute(SQL命令,[SQL语句补位元素])
            类似于:print("我叫%s,今年%d岁"%("小米",18)
                cur.execute("insert into stu(name) values(%s)",["张三"])
        2.fetchone()
            获取结果集的第一条记录
            返回的值是一个元组,取值和列表一样,通过下标取值
                比如:t = (1,"张无忌")  ————>取出姓名:t[1]
        3.fetchmany(n)
            获取n条记录
        4.fetchall()
            获取所有记录
    
    小知识1:
        try:
            语句1
        except Exception as e:
            语句2
            
        异常捕获:
            如果程序正常执行,则执行语句1
            如果程序出现异常,为了保证程序不崩溃,咋们对异常进行捕获
            Exception:
                所有异常都能捕获
            as e:
                是取别名
        
    小知识2:
        数据库远程连接,电脑cmd:ipconfig
        
        在内网中,host默认的是本机        
        

"""

三、代码案例

import pymysql
#1.建立数据库连接
conn = pymysql.connect(host = "localhost",
                       user = "root",
                       passwd = "123456",
                       port = 3306,
                       db = "python",
                       charset = "utf8")

#2.创建游标对象
cur = conn.cursor()

#测试SQL语句补位
name1 = input("请输入姓名:")
cur.execute("insert into stu(name) values(%s)",[name1])

#3.通过创建游标 cur 执行 sql语句
#**************************************************************************
#添加语句
sql_insert = "insert into stu VALUE (3,'张无忌','1701');"
cur.execute(sql_insert)
#**************************************************************************
#删除语句
sql_delect = "delete from stu where id = 2";
cur.execute(sql_delect)
#**************************************************************************
#这是查询语句
sql_select = "select * from student where ID = %s;"
cur.execute(sql_select,["88"])
L = cur.fetchall()   # L的数据类型为元组类型
if L == ():
    print("hahahahah")
print(L[0])
print(L[0][1])
print(L)
print(len(L))
#**************************************************************************
#这是创建表语句
sql_select = "create table tea(" \
            "name varchar(50) primary key," \
            "pwd varchar(50)" \
            ")CHARACTER set utf8;"
cur.execute(sql_select)
#**************************************************************************
sql_insert = "insert into tea VALUE ('zddds','123');"
cur.execute(sql_insert)
sql_insert = "insert into student VALUE ('zs','12ddd3','123');"
cur.execute(sql_insert)
#**************************************************************************
#4.提交到数据库进行持久化保存
conn.commit()

#5.关闭游标
cur.close()

#6断开连接
conn.close()

猜你喜欢

转载自blog.csdn.net/qq_42025108/article/details/102710506
今日推荐