zoukankan      html  css  js  c++  java
  • python pymysql连接数据库并创建表

    之前看菜鸟教程

    #!/usr/bin/python3
     
    import pymysql
     
    # 打开数据库连接
    db = pymysql.connect("localhost","testuser","test123","TESTDB" )
     
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
     
    # 使用 execute() 方法执行 SQL,如果表存在则删除
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
     
    # 使用预处理语句创建表
    sql = """CREATE TABLE EMPLOYEE (
             FIRST_NAME  CHAR(20) NOT NULL,
             LAST_NAME  CHAR(20),
             AGE INT,  
             SEX CHAR(1),
             INCOME FLOAT )"""
     
    cursor.execute(sql)
     
    # 关闭数据库连接
    db.close()

    但是有报错

    问题原因:

    迁移服务后,可能是因为mysql版本或者pymysql的版本有变化,导致不能再这么简单的写了,传参规则变得规范了

    解决办法:

    主要就是将传参的参数名加上

    最终代码:

    #!/usr/bin/python3
    import pymysql
    
    # 打开数据库连接
    db = pymysql.connect(host="localhost", user="root", password="258000", database="yiqing",charset="utf8mb4")
    #db = pymysql.connect(host="localhost", user="用户名", password="密码", database="数据库名",charset="utf8mb4")
    
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
    
    # 使用 execute() 方法执行 SQL,如果表存在则删除
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
    
    # 使用预处理语句创建EMPLOYEE表
    sql = """CREATE TABLE EMPLOYEE (
             FIRST_NAME  CHAR(20) NOT NULL,
             LAST_NAME  CHAR(20),
             AGE INT,  
             SEX CHAR(1),
             INCOME FLOAT )"""
    
    cursor.execute(sql)
    
    # 关闭数据库连接
    db.close()

    效果

  • 相关阅读:
    python time库
    python urllib.request
    python random库
    python3中post请求 json 数据
    python3 中post处理json 数据
    python3中post和get请求处理
    ThinVnc-身份验证绕过(CVE-2019-17662)
    python3 获取博彩网站页面下所有域名(批量)
    Apache Solr Velocity模板注入RCE漏洞复现
    宽字节注入和防御
  • 原文地址:https://www.cnblogs.com/linmob/p/14587747.html
Copyright © 2011-2022 走看看