zoukankan      html  css  js  c++  java
  • navicat安装使用以及pymysql基本使用

    navicat安装与使用:

      使用navicat需要先与MySQL建立连接,如下图:连接建立好之后navicat就相当于MySQL的客户端,MySQL就相当于服务端。两者基于网络通讯。

      使用navicat查看库的时候,直接鼠标双击你的主机就好了,创建新的库直接鼠标点中你的主机右键就能创建,在创建库的时候需要注意的是要选择字符集,字符集一定要选,否则可能会出现乱码的情况,字符集一般情况下选择utf8。 创建表的时候也是如此操作,选中库然后右键创建新表。其实它是内部已经帮你封装好了的,每次右键新建库或表的时候,它内部都有对应的sql语句在进行操作,只是没展现给我们看罢了。

    在使用navicat建表时需要注意:

      设置主键的时候摁一个空格它就变成一个钥匙,钥匙就是键的意思。然后主键在设置的时候下面的自动递增一定要勾选,如果不勾上它就不会自动递增了。注释可以根据自己的需求选择写或者不写。表建好之后双击表进进入了添加数据阶段,id不用添加它自动递增就会帮你添加了

    修改数据表:

      选中数据表点击右键选中设计表,然后跟创建表的操作一样去编辑字段,数据类型,完整性约束等。

    pymysql基本使用:

      pymysql模块是能直接操作MySQL的模块,使用pymysql模块的时候需要先下载。

      调的方法是先导入pymysql模块,然后.connect()     connect连接的意思,只不过我们需要在里面传一些参数

    connect能传入很多参数,列举一下:

    具体语法:

    #  conn类似于通讯对象
    
    import pymysql
    conn = pymysql.connect(
        host = "127.0.0.1",  # ip地址
        prot = 3306,  # MySQL默认端口
        user = "填入你的用户名",
        password = "填入你的密码",
        database = "填入你创建好了的库名",  # 告诉python你要操作哪个库
        charset = "utf8"  # 编码千万不要加 -  如果写成了utf-8会直接报错
    )

    cursor
    = conn.cursor(pymysql.cursors.DictCursor) # 产生一个游标对象,就相当于MySQL里面的光标 # 括号内表示的意思是:以字典的形式返回查询出来的数据 建是表的字段,值是表的字段对应的信息 sql = "select * from 表名" # 往你创建好了的表里面传入数据。 cursor.execute(sql) # 执行传入的sql语句 会有一个返回值,返回的是数据条数 print(cursor.fetchone()) # 只获取一条数据,而且是从头获取 cursor.scroll(1, "absolute") # 控制光标移动 absolute前面传入数字是几就相对于当前位置往后移动几位 cursor.scroll(1, "relative") # relative前面传入数字是几相对于当前位置往后移动几位 print(cursor.fetchone()) # 获取所以的数据,返回的结果是个列表,里面套的是字典

    sql语句注入问题:

      sql注入就是利用注释等具有特殊意义的符号 来完成一些骚操作,后续写sql语句不要手动拼接关键性的数据,而是让excute帮你做拼接

    import pymysql
    conn = pymysql.connect(
        host = "127.0.0.1",  # ip地址
        prot = 3306,  # MySQL默认端口
        user = "填入你的用户名",
        password = "填入你的密码",
        database = "填入你创建好了的库名",  # 告诉python你要操作哪个库
        charset = "utf8"  # 编码千万不要加 -  如果写成了utf-8会直接报错
    )
    cursor = conn.cursor(pymysql.cursors.DictCursor)  # 产生一个游标对象,就相当于MySQL里面的光标
    username = input("请输入用户名>>>:")
    password = input("请输入密码>>>:")
    # sql = "select * from user where name = '%s' and password = '%s'" % (username,password)
    # res = cursor.execute(sql)  # 直接这样使用会被利用注释等具有特殊意义的符号来获取数据
    sql = "select * from user where name = '%s' and password = '%s'"
    
    res = cursor.execute(sql(username,password))  # 能够帮我们自动过滤特殊符号 避免sql注入问题
    # execute 能够自动识别sql语句中的%s自动做替换
    
    if res:
        print(cursor.fetchall())
    else:
        print("用户名或者密码错误")

    pymysql增删改配置:

      增删改操作必须要添加一条conn.commint()操作,commint提交的意思,也就是说只要你进行了增删改这些操作,就必须得提交一次才有结果。

      也可以在连接的时候加有一条语句:autocommit = True  :这个参数配置完成后,增删改操作都不需要手动加conn。communit了。它会自动提交。

  • 相关阅读:
    【新】idea激活码,jetbrains全系列最新2020激活码和破解补丁(亲测可用),可免费使用69年
    分享【高热度网】最火热的10篇文章,每一篇都是精品
    什么是高热度网(gaoredu.com)?高热度网站都有哪些功能?
    【高热度网】2020年最新8款迷你世界手机黑科技辅助软件免费下载
    【我爱科技论坛】关于我爱科技论坛解压密码的说明
    《前端工程师面试宝典》---前端面试必备
    【VIP视频网站项目】VIP视频网站项目v1.0.3版本发布啦(程序一键安装+电影后台自动抓取+代码结构调整)
    【数据结构】队列实现的5种方式及时间复杂度对比分析
    解决Webpack中提示syntax 'classProperties' isn't currently enabled的错误
    如何配置静态MAC地址
  • 原文地址:https://www.cnblogs.com/sweet-i/p/11396489.html
Copyright © 2011-2022 走看看