Python存储数据库教程--超具体!!

打印 上一主题 下一主题

主题 864|帖子 864|积分 2592

目录
1、起首导入需要用到的包
2、连接数据库
3、创建游标对象
4、创建名为 `dataname`的数据库,如果数据库不存在则创建,字符集设置为`utf8`。
5、执行sql1语句
6、创建数据表语句
1.如果名为`user_id`的数据表不存在,则创建一个名为 `user_tb` 的数据表
2.列界说
 7、执行sql2语句
8、设置需要存入数据库的字段
9、将数据插入`user_tb`数据表
10、执行sql3语句
11、提交事务
12、末了,关闭游标和数据库连接


1、起首导入需要用到的包

   import pymysql  2、连接数据库

   db = pymysql.connect(host="localhost",   # 连接主机地址
                     user="root",   # 登录数据库的用户名
                     passwd="123456",   # 数据库暗码(这里输入你自己数据库的暗码)
                     port=3306,   # 数据库端口号,MySQL默认端口是3306。
                     charset='utf8')   # 字符集,这里设置为utf8,以支持中文和其他字符。
  3、创建游标对象

        在使用 pymysql 连接到数据库后,获取游标对象是进行数据库操作的第一步。游标对象答应你执行 SQL 查询并处理结果。
   # 获取游标对象
cursor = db.cursor()
  4、创建名为 `dataname`的数据库,如果数据库不存在则创建,字符集设置为`utf8`。

   sql1 = 'create database if not exists dataname character set utf8;'
  5、执行sql1语句

   cursor.execute(sql1)
  6、使用数据库,并执行语句

   # 使用数据库
use_sql = "use dataname;"

# 执行use_sql 语句
cursor.execute(use_sql)
  7、创建数据表语句

1.如果名为`user_id`的数据表不存在,则创建一个名为 `user_tb` 的数据表

2.列界说

   uname VARCHAR(255) NULL


  • uname: 列名,表现用户的名字。
  • VARCHAR(255): 数据类型,表现该列可以存储最大长度为 255 个字符的字符串。
  • NULL: 表现该列可以包含空值(即该列的值可以为 NULL)。如果你希望该列不能为空,可以将其改为 NOT NULL。

 sex ENUM('male', 'female') NULL


  • sex: 列名,表现用户的性别。
  • ENUM('male', 'female'): 这是一个摆列类型,表现该列只能包含 'male' 或 'female' 这两个值中的一个。
  • NULL: 表现该列可以包含空值。如果你希望强制用户提供性别信息,可以将 NULL 改为 NOT NULL。

 age INT NULL        


  • age: 列名,表现用户的年龄。
  • INT: 数据类型,表现该列存储整数值。
  • NULL: 表现该列可以包含空值。如果你希望年龄必须提供,可以将 NULL 改为 NOT NULL。

   sql2 = """create table if not exists user_tb(
uname varchar(255) Null,
sex_enum varchar(255) Null,
age int Null
)"""
   8、执行sql2语句

   cursor.execute(sql2)
  9、设置需要存入数据库的字段

   uname = '小明'
sex_enum = '男'
age = 20
  10、将数据插入`user_tb`数据表

   sql3 = f"""insert into user_tb(uname, sex_enum, age) values('{uname}','{sex_enum}','{age}')"""
  11、执行sql3语句

   cursor.execute(insert_tb)
  12、提交事务

        在你执行完 SQL 语句后,通常需要调用 db.commit() 来提交事务,以确保你的更改被永久生存到数据库中。commit() 方法用于将所有挂起的 SQL 语句提交到数据库,使其生效。
   db.commit()
  13、末了,关闭游标和数据库连接

   cursor.close()
db.close()
  
好啦~任务完成!

最终代码如下:
  1. import pymysql
  2. # 连接数据库
  3. db = pymysql.connect(host="localhost",
  4.                      user="root",
  5.                      passwd="123456",
  6.                      port=3306,
  7.                      charset='utf8')
  8. # 获取游标对象
  9. cursor = db.cursor()
  10. # 创建数据库
  11. sql1 = "create database if not exists dataname character set utf8;"
  12. # 执行sql1语句
  13. cursor.execute(sql1)
  14. # 使用数据库
  15. use_sql = "use dataname;"
  16. # 执行sql1语句
  17. cursor.execute(use_sql)
  18. # 创建数据表
  19. sql2 = """create table if not exists user_tb(
  20.         uname varchar(255) Null,
  21.         sex_enum varchar(255) Null,
  22.         age int Null
  23. )"""
  24. # 执行sql2语句
  25. cursor.execute(sql2)
  26. # 需要存入数据库的字段
  27. uname = '小明'
  28. sex_enum = '男'
  29. age = 20
  30. # 向表中插入数据
  31. sql3 = f"""insert into user_tb(uname, sex_enum, age) values('{uname}','{sex_enum}','{age}')"""
  32. # 通过游标执行语句
  33. cursor.execute(sql3)
  34. # 提交事务
  35. db.commit()
  36. # 关闭游标和数据库连接
  37. cursor.close()
  38. db.close()
复制代码





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表