MySQL数据库的增删查改

叁歲伎倆 2022-12-11 06:24 309阅读 0赞

接着我上篇文章继续:MySQL数据库操作

在上篇文章中,我们创建了数据表。
现在我们需要向数据表增加、删除、查询、修改数据

一、创建会话

创建一个会话对象;类似pymysql中的游标,检测我们的sql语句位置

  1. from sqlalchemy.orm import sessionmaker
  2. base.metadata.create_all(db)
  3. s = sessionmaker(bind = db)
  4. session = s()

单条语句插入

  1. # 二、单条语句插入
  2. user = User(id = 1,name = "zhangsan",addree = "beijing",age = 20)
  3. session.add(user)
  4. session.commit()

多条插入

  1. session.add_all([
  2. User(id = 2,name = "lisi",addree = "chaoyangqu",age = 23),
  3. User(id = 3,name = "lisi",addree = "chaoyangqu",age = 23),
  4. User(id = 4,name = "lihua",addree = "chaoyangqu",age = 26)]
  5. )
  6. session.commit()

查询全部数据

  1. result = session.query(User).all()
  2. for r in result:
  3. print(r.name,r.age)

查询单条数据

  1. result = session.query(User).get(1)
  2. print(result.name,result.age)

条件查询

  1. result = session.query(User).filter_by(name = "zhangsan")
  2. for i in result:
  3. print(i.name)
  4. print(i.age)

修改数据

  1. result = session.query(User).get(1)
  2. print(result.age)
  3. result.age = 20
  4. session.commit()
  5. print(result.age)

删除数据

  1. result = session.query(User).get(1)
  2. session.delete(result)
  3. re = session.query(User).all()

完整的代码:

  1. import sqlalchemy
  2. from sqlalchemy.ext.declarative import declarative_base
  3. from sqlalchemy.orm import sessionmaker
  4. #创建链接
  5. #mysql://scott:tiger@hostname/dbname
  6. db = sqlalchemy.create_engine("mysql://root:root@localhost/sqlorm")
  7. #创建基类
  8. base = declarative_base((db))
  9. #创建数据表
  10. class User(base):
  11. __tablename__ = 'user'
  12. id = sqlalchemy.Column(sqlalchemy.Integer,primary_key = True)
  13. name = sqlalchemy.Column(sqlalchemy.String(32))
  14. addree = sqlalchemy.Column(sqlalchemy.String(32))
  15. age = sqlalchemy.Column(sqlalchemy.Integer)
  16. class UserInfo(base):
  17. __tablename__ = 'userinfo'
  18. id = sqlalchemy.Column(sqlalchemy.Integer,primary_key = True)
  19. phone = sqlalchemy.Column(sqlalchemy.String(11))
  20. user = sqlalchemy.Column(sqlalchemy.Integer,sqlalchemy.ForeignKey('user.id'))
  21. if __name__=="__main__":
  22. # 一、创建会话
  23. #创建一个会话对象;类似pymysql中的游标,检测我们的sql语句位置
  24. base.metadata.create_all(db)
  25. s = sessionmaker(bind = db)
  26. session = s()
  27. # 二、单条语句插入
  28. # user = User(id = 1,name = "zhangsan",addree = "beijing",age = 20)
  29. # session.add(user)
  30. # session.commit()
  31. # 三、多条语句插入
  32. # 多条语句的插入,使用add_all()方法,数据用列表形式
  33. # session.add_all([
  34. # User(id = 2,name = "lisi",addree = "chaoyangqu",age = 23),
  35. # User(id = 3,name = "lisi",addree = "chaoyangqu",age = 23),
  36. # User(id = 4,name = "lihua",addree = "chaoyangqu",age = 26)]
  37. # )
  38. # session.commit()
  39. #四、查询所有的数据
  40. #惰性特质
  41. # result = session.query(User).all()
  42. # for r in result:
  43. # print(r.name,r.age)
  44. # 五、查询单条数据
  45. # get()方法使用主键查询,参数输入id
  46. # result = session.query(User).get(1)
  47. # print(result.name,result.age)
  48. #六、条件查询
  49. # result = session.query(User).filter_by(name = "zhangsan")
  50. # for i in result:
  51. # print(i.name)
  52. # print(i.age)
  53. # 七、修改数据,首先使用get()获取数据,然后直接使用.加字段名的方法修改
  54. # result = session.query(User).get(1)
  55. # print(result.age)
  56. # result.age = 20
  57. # session.commit()
  58. # print(result.age)
  59. # 八、删除数据
  60. # result = session.query(User).get(1)
  61. # session.delete(result)
  62. # re = session.query(User).all()

发表评论

表情:
评论列表 (有 0 条评论,309人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL数据库增删

    接着我上篇文章继续:[MySQL数据库操作][MySQL] 在上篇文章中,我们创建了数据表。 现在我们需要向数据表增加、删除、查询、修改数据 一、创建会话 创建一

    相关 MySQL 增删

    MySQL 增删改查 虽然经常对数据库进行操作,但有时候一些sql语句还是会忘记,因此总结一下,方便记忆。 一 对库操作 1 创建数据库 > create dat