数据库
数据库学习经历-day1
大致内容为:
- 1.配置python自带的pymysql库
- 2.建立数据库,使用SQLynx工具,完成数据库和表格的建立
- 3.连接数据库,使用pymysql库的连接工具
- 4.操作数据库,完成内容的交互
具体操作内容:
- 实现添加数据库表格用户的姓名和年龄,提示插入后新建的自增新id
- 实现查找数据库的表格全部内容拉取,返回表格字典
- 实现修改数据库的表格内容,并且返回修改行数
- 实现删除数据库的表格内容,并且返回删除行数
学习内容:
下载PyMysql库
pip install pymysql
建立数据库
新建表格内容: id(自增),name,age,created_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,通过循环把字典内容输出