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)
    '''
    复制代码



  • 相关阅读:
    第一篇日志
    Spring mvc 4系列教程(三)—— Spring4.X的新特性
    Spring mvc 4系列教程(二)——依赖管理(Dependency Management)和命名规范(Naming Conventions)
    Spring mvc 4系列教程(一)
    【管理心得之三十六】《黄帝内经》中的一句话
    【管理心得之三十五】好习惯也能惹“骂名”
    【管理心得之三十四】“禅宗境界”的员工
    【管理心得之三十三】管理者的“眉头”
    【管理心得之三十二】PMP杂谈---------爱情必胜术
    【管理心得之三十一】我的位置
  • 原文地址:https://www.cnblogs.com/dealdwong2018/p/10099975.html
Copyright © 2011-2022 走看看