美文网首页
【Python】pymysql 操作数据库

【Python】pymysql 操作数据库

作者: 耕耘菜菜 | 来源:发表于2020-01-22 17:46 被阅读0次

    安装依赖包

    pip install pymysql
    

    创建数据表

    CREATE TABLE `users` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `email` varchar(255) COLLATE utf8_bin NOT NULL,
        `password` varchar(255) COLLATE utf8_bin NOT NULL,
        PRIMARY KEY (`id`)
    ) 
    ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
    AUTO_INCREMENT=1 ;
    

    连接数据库

    import pymysql.cursors
    #使用pymysql指令来连接数据库
    connection = pymysql.connect(host='', user='', password='', db='', charset='', cursorclass=pymysql.cursors.DictCursor
    )
    host:要连接的数据库的IP地址
    user:登录的账户名,如果登录的是最高权限账户则为root
    password:对应的密码
    db:要连接的数据库,如需要访问上节课存储的IRIS数据库,则输入'IRIS'
    charset:设置编码格式,如utf8mb4就是一个编码格式
    cursorclass:返回到Python的结果,以什么方式存储,如Dict.Cursor是以字典的方式存储
    

    插入,查询一条数据

    try:
        #从数据库链接中得到cursor的数据结构
        with connection.cursor() as cursor:
        #在之前建立的user表格基础上,插入新数据,这里使用了一个预编译的小技巧,避免每次都要重复写sql的语句
            sql="INSERT INTO `USERS`(`email`,`password`) VALUES (%s,%s)"
            cursor.execute(sql,('test_user','user_password'))
        #执行到这一行指令时才是真正改变了数据库,之前只是缓存在内存中
        connection.commit()
    
        with connection.cursor() as cursor:
            sql = "SELECT `id`,`password` FROM `user` WHERE `email`=%s"
            cursor.execute(sql,('test_user',))
            #只取出一条结果
            result=cursor.fetchone()
            print(result)
    
    #最后别忘了关闭连接
    finally:
        connection.close()
    

    相关文章

      网友评论

          本文标题:【Python】pymysql 操作数据库

          本文链接:https://www.haomeiwen.com/subject/ctqpzctx.html