zoukankan      html  css  js  c++  java
  • navicat 和 pymysql

    ---------------------------------------------------相信时间的力量,单每月经过努力的时间,一切的安排都是懊脑的安排.

    # # -------------------------------*******************-------------------------------

    day039 通过pymysql来添加修改数据

    import pymysql

    conn = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='666',
    database='day02',
    charset='utf8'
    )
    # cursor = conn.cursor()
    cursor = conn.cursor(pymysql.cursors.DictCursor)
    # sql = "select * from userinfo where username='%s' and pword='%s';"%(username,password)
    # sql = "select * from userinfo where username=%s and pword=%s;"
    # sql = "insert into userinfo(username,pword) values(%s,%s);"
    # sql = "update userinfo set pword='666666' where username='文杰';"
    sql = "select * from userinfo;"
    print(sql)
    res = cursor.execute(sql)
    # res = cursor.executemany(sql,[('文杰','666'),('鸿洁','666')])
    print(res)
    print(cursor.fetchall())

    conn.commit()



    # # --------------[通过SQL注入]--------------
    import pymysql

    conn = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='666',
    database='day02',
    charset='utf8'
    )

    username = input('请输入用户名:')
    password = input('请输入密码:')

    cursor = conn.cursor()
    # sql = "select * from userinfo where username='%s' and pword='%s';"%(username,password)
    sql = "select * from userinfo where username=%s and pword=%s;"
    print(sql)
    res = cursor.execute(sql,[username,password])
    print('受影响的行数:',res)
    if res:
    print('登录成功')
    else:
    print('用户名或者密码不对')



    # # --------------[pymysql的简单使用]--------------


    import pymysql

    conn = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='666',
    database='day02',
    charset='utf8'
    )

    username = input('请输入用户名:')
    password = input('请输入密码:')

    cursor = conn.cursor()
    sql = "select * from userinfo where username='%s' and pword='%s';"%(username,password)
    print(sql)
    res = cursor.execute(sql)
    print(res)
    # print(cursor.fetchone())
    # print(cursor.fetchmany(2))
    print(cursor.fetchmany(5))
    print('xxxxxxxxxx')
    cursor.scroll(3,'absolute')
    # cursor.scroll(3,'relative')

    print(cursor.fetchone())

    阅读目录

    参考链接 https://www.cnblogs.com/clschao/articles/10023248.html

    掌握:
    #1. 测试+链接数据库
    #2. 新建库
    #3. 新建表,新增字段+类型+约束
    #4. 设计表:外键
    #5. 新建查询
    #6. 备份库/表

    #注意:
    批量加注释:ctrl+?键
    批量去注释:ctrl+shift+?键

     增、删、改:conn.commit()

        查操作在上面已经说完了,我们来看一下增删改,也要注意,sql语句不要自己拼接,交给excute来拼接

    复制代码
    复制代码
    import pymysql
    #链接
    conn=pymysql.connect(host='localhost',port='3306',user='root',password='123',database='crm',charset='utf8')
    #游标
    cursor=conn.cursor()
    
    #执行sql语句
    #part1
    # sql='insert into userinfo(name,password) values("root","123456");'
    # res=cursor.execute(sql) #执行sql语句,返回sql影响成功的行数
    # print(res)
    # print(cursor.lastrowid) #返回的是你插入的这条记录是到了第几条了 #part2 # sql='insert into userinfo(name,password) values(%s,%s);' # res=cursor.execute(sql,("root","123456")) #执行sql语句,返回sql影响成功的行数 # print(res) #还可以进行更改操作:
    #res=cursor.excute("update userinfo set username='taibaisb' where id=2")
    #print(res) #结果为1 #part3 sql='insert into userinfo(name,password) values(%s,%s);' res=cursor.executemany(sql,[("root","123456"),("lhf","12356"),("eee","156")]) #执行sql语句,返回sql影响成功的行数,一次插多条记录 print(res) #上面的几步,虽然都有返回结果,也就是那个受影响的函数res,但是你去数据库里面一看,并没有保存到数据库里面, conn.commit() #必须执行conn.commit,注意是conn,不是cursor,执行这句提交后才发现表中插入记录成功,没有这句,上面的这几步操作其实都没有成功保存。 cursor.close() conn.close()
    复制代码
    复制代码

      四 查:fetchone,fetchmany,fetchall

        

    复制代码
    复制代码
    import pymysql
    #链接
    conn=pymysql.connect(host='localhost',user='root',password='123',database='egon')
    #游标
    cursor=conn.cursor()
    
    #执行sql语句
    sql='select * from userinfo;'
    rows=cursor.execute(sql) #执行sql语句,返回sql影响成功的行数rows,将结果放入一个集合,等待被查询
    
    # cursor.scroll(3,mode='absolute') # 相对绝对位置移动
    # cursor.scroll(3,mode='relative') # 相对当前位置移动
    res1=cursor.fetchone()
    res2=cursor.fetchone()
    res3=cursor.fetchone()
    res4=cursor.fetchmany(2)
    res5=cursor.fetchall()
    print(res1)
    print(res2)
    print(res3)
    print(res4)
    print(res5)
    print('%s rows in set (0.00 sec)' %rows)
    
    
    
    conn.commit() #提交后才发现表中插入记录成功
    cursor.close()
    conn.close()
    
    '''
    (1, 'root', '123456')
    (2, 'root', '123456')
    (3, 'root', '123456')
    ((4, 'root', '123456'), (5, 'root', '123456'))
    ((6, 'root', '123456'), (7, 'lhf', '12356'), (8, 'eee', '156'))
    rows in set (0.00 sec)
    '''
    复制代码



  • 相关阅读:
    Office 2003正版验证破解方法
    QQ邮箱 503 : HTTP Error 503 服务暂时不可用,请刷新重试
    再加几个MQL4 中的字符串处理函数
    C 处理可变参数函数 (二)
    Memcache 中实现消息队列
    提供MQL4 中比较实用的两个字符串处理函数
    在freebsd 上编译 pango with cairo
    C语言小技巧(1) 实现可变参数
    PHP 中的递归效率
    windows 下php 扩展 的好 资源
  • 原文地址:https://www.cnblogs.com/dealdwong2018/p/10099975.html
Copyright © 2011-2022 走看看