pymysql的快速复习

130 阅读1分钟

pymysql的复习

把下面的代码按顺序全部放到一个python文件中就能运行

创建数据库

```
import pymysql
```

# 创建一个数据库
# 传入这个数据库的名字
def create_db(dbname):
    # 与数据库建立连接
    conn = pymysql.connect(host='127.0.0.1', user='root', password='111111',port=3306, charset='utf8')
    
    # 创建游标链接
    cur = conn.cursor()
    
    # 新建一个database
    # 如果这个数据库存在就先删掉
    sql = f"drop database if exists {dbname};"
    # cur.execute(sql)就是执行上面的sql语句
    cur.execute(sql)
    
    # 再重新建立这个数据库
    sql =f"create database {dbname};"
    cur.execute(sql)
    
    # 使用这个数据库
    sql = f"use {dbname}"
    cur.execute(sql)
    
    # 关闭游标链接
    cur.close()
    
    # 提交操作
    conn.commit()
    
    # 关闭数据库服务连接, 释放内存
    conn.close()

向数据表插入两列数据

# 链接数据库并插入两列数据
# 传入数据库名,数据表名,和两列数据
# 注意不能在单独插一列数据
def connect_db(dbname,tablename,title_list,context_list):
    # 与数据库建立连接
    conn = pymysql.connect(host='127.0.0.1', user='root', password='981128',database=dbname, port=3306, charset='utf8')
    
    # 创建游标链接
    cur = conn.cursor()
    
    # 创建表如果存在这个表则先删除
    sql=f"drop table if exists {tablename};"
    cur.execute(sql)
    
    # 创建表
    sql = f"CREATE TABLE {tablename}" \
          f"(id int(255) AUTO_INCREMENT," \
          f"title_name MEDIUMTEXT," \
          f"context_html MEDIUMTEXT," \
          f"PRIMARY KEY (id)" \
          f");"
    cur.execute(sql)

    # 对数据库的操作
    # =============================================
    # 按行数据存到数据表中
    # 使用了zip(list1,list2)可以同时遍历两个数组
    for i,j in zip(title_list,context_list):
        cur.execute(f"insert into {tablename}"
                    f"(title_name,context_html)"
                    " VALUE(%s,%s);",(i,j))
    # =============================================
                    
    # 提交
    conn.commit()
    
    # 关闭游标链接
    cur.close()
    
    # 关闭数据库服务连接, 释放内存
    conn.close()

示例

if __name__ == '__main__':
    title_list = ["1","2","3"]
    context_list = ["a","b","c"]
    
    create_db(dbname="pacong")
    
    connect_db(dbname="pacong",tablename="test",title_list=title_list,context_list=context_list)