pymysql数据库的简单使用

# 导入pymysql
import pymysql

# 1.建立连接
# localhost = 127.0.0.1
conn = pymysql.connect(
    # 主机地址
    host='127.0.0.1',
    # 端口号
    port=3306,
    # 用户名
    user='root',
    # 密码
    password='123456',
    # 使用的数据库
    db='books',
    # 注意:utf8  没有-
    charset='utf8'
)
# 2.获取数据库连接游标
# 指定字典类型的游标 cursor=pymysql.cursors.DictCursor
cursor = conn.cursor()

# 3.执行sql语句
# PRIMARY KEY(主键约束) NOT NULL(非空约束) AUTO_INCREMENT(自动增长)
sql = "CREATE TABLE IF NOT EXISTS books(bid INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, name CHAR(50), author CHAR(20), ntype CHAR(20))"
cursor.execute(sql)

# 4.插入数据
# for x in range(10):
#     # 拼接sql语句
#     # 可能会有sql注入的风险
#     # 使用字符串拼接sql语句
#     # sql = f"INSERT INTO books(name,author,ntype)VALUES('斗破苍穹第{x}部','天蚕土豆','玄幻奇幻')"
#     # 执行sql语句
#     # execute(sql,sql需要拼接的参数),可以防止sql注入
#     cursor.execute("INSERT INTO books(name, author, ntype)VALUES(%s, %s, %s)", (f'斗破苍穹第{x}部', '天蚕土豆', '玄幻奇幻'))
#     # 提交操作
#     conn.commit()

# 5.查询数据
# 接收查询数据
# result是一个数字,表示sql语句执行了多少条数据
result = cursor.execute('SELECT * FROM books')
# 取出查询的结果
# fetchall()返回一个大元组,元组里面存放小元组,小元组就是查询到的数据
s = cursor.fetchall()
print(s)

# for bid, name, author, ntype in result:
#     print(bid,name,author,ntype)

# fetchone()取出第一条数据,是一个元组
# result = cursor.fetchone()
# print(result)

# fetchmany()取出指定个数的数据
# s = cursor.fetchmany(3)
# print(s)

# 修改数据
cursor.execute('UPDATE books SET author=%s WHERE bid > %s',('唐家三少',10))
conn.commit()

# 删除
# 元组中若只有一条数据,一定要在最后加上一个逗号,表示后面没有数据了
cursor.execute('DELETE FROM books WHERE bid>%s',(10,))
conn.commit()

# 关闭游标
cursor.close()
# 关闭数据库连接
conn.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值