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



  • 相关阅读:
    又来项目了,星座运势widget
    ubuntu下编译android源代码
    Android UI,界面辅助设置工具,可随意拖动控件,比google官方提供的方便
    Android 1.5原生软件开发SDK公布
    REST转自WIKI
    Android SDK 1.5 包装索引
    android google market FreshFace上线了,大家都试用试用,反正免费的
    JSON
    ubuntu命令
    网站支付宝接口错误代码:TRADE_DATA_MATCH_ERROR怎么处理? uz
  • 原文地址:https://www.cnblogs.com/dealdwong2018/p/10099975.html
Copyright © 2011-2022 走看看