数据库

技术笔记

数据库学习经历-day1


大致内容为:

  • 1.配置python自带的pymysql库
  • 2.建立数据库,使用SQLynx工具,完成数据库和表格的建立
  • 3.连接数据库,使用pymysql库的连接工具
  • 4.操作数据库,完成内容的交互

具体操作内容:

  • 实现添加数据库表格用户的姓名和年龄,提示插入后新建的自增新id
  • 实现查找数据库的表格全部内容拉取,返回表格字典
  • 实现修改数据库的表格内容,并且返回修改行数
  • 实现删除数据库的表格内容,并且返回删除行数

学习内容:

下载PyMysql库

pip install pymysql

建立数据库

新建表格内容: id(自增)nameagecreated_at id是int类型,name是varchar类型,age是tinyint类型,created_at是date类型

id name age created_at
1 张三 20 time.today
2 李四 35 time.today

完成数据库的配置

  • 链接数据库
with pymysql.connect(
    host='localhost',port=3306,user='root',
    password='your_passwor',database='test_db',
    charset='utf8mb4') as conn:

将数据库连接赋值给conn

数据库的CRUD

with conn.cursor() as cur:
    sql = "INSERT INTO users(name, age, created_at) VALUES (%s, %s, %s)"
    cur.execute(sql,(name,age,data.today()))
    conn.commit()
    print("插入成功,新id = ",cur.lastrowid())

向数据库连接申请一个游标赋值给cur,写出sql添加方法,cur.execute()执行sql的方法并且导入参数,conn.commit()提交数据库,输出插入提示和返回一个id

with conn.cursor() as cur:
    sql = "DELETE FROM users WHERE id = %s"
    cur.execute(sql,(user_id,))
    conn.commit()
    print("删除行数 = ",cur.rowcount)

同样申请一个游标赋值给cur,写出sql的删除方法,执行sql方法,提交数据库,完成数据库的指定用户id整行删除

with conn.cursor() as cur:
    sql = "UPDATE users SET age = %s WHERE id = %s"
    cur.execute(sql,(new_age,user_id))
    conn.commit()
    print("更改行数 = ",cur.rowcount)

使用sql的删除方法,执行sql方法,提交数据库,完成修改指定用户id的年龄更改

with conn.cursor(pymysql.cursors.DictCursor) as cur:
    cur.execute("SELECT id, name, age, created_at FROM users ORDER BY id DESC")
    rows = cur.fetchall()

    for r in rows:
        print(r)

conn.cursor(pymysql.cursor.DictCursor) as cur游标本来取的元组改成取字典,并且没有需要传入的参数,直接执行cur.execute(),取到的字典内容在cur游标里,使用cur.fetchall()把内容赋给rows,通过循环把字典内容输出

返回列表