1
+ from sqlalchemy import create_engine
2
+ from sqlalchemy .ext .declarative import declarative_base
3
+ from sqlalchemy import Column , Integer , String
4
+ from sqlalchemy .orm import sessionmaker
5
+
6
+ # 相对路径
7
+ engine = create_engine ('sqlite:///foo.db' , echo = True )
8
+
9
+ # 绝对路径
10
+ # engine = create_engine('sqlite:///C:\\Users\\admin\\Desktop\\db\\foo.db')
11
+ # engine = create_engine(r'sqlite:///C:\Users\admin\Desktop\db\foo.db')
12
+
13
+ # 内存数据库
14
+ # engine = create_engine('sqlite://', echo=True)
15
+ # conn = engine.connect()
16
+
17
+ # 映射基类
18
+ Base = declarative_base ()
19
+
20
+ # 具体映射类
21
+ class SysUser (Base ):
22
+ # 指定映射表名
23
+ __tablename__ = 'sys_user'
24
+
25
+ # id 设置为主键
26
+ id = Column (Integer , primary_key = True )
27
+ # 指定 name 映射到 name 字段
28
+ name = Column (String (30 ))
29
+ password = Column (String (32 ))
30
+
31
+ # 创建表
32
+ # Base.metadata.create_all(engine)
33
+ Session = sessionmaker (bind = engine )
34
+ # 创建 Session 类实例
35
+ session = Session ()
36
+
37
+ # 新增
38
+ # su = SysUser(id=1, name='Jhon', password='123456')
39
+ # 保存
40
+ # session.add(su)
41
+ # 提交
42
+ # session.commit()
43
+ # 关闭
44
+ # session.close()
45
+
46
+ # 查询
47
+ # u = session.query(SysUser).filter(SysUser.id==1).one()
48
+ # session.query(SysUser).filter(SysUser.id==1).all()
49
+ # print('name-->',u.name)
50
+ # session.close()
51
+
52
+ # 修改
53
+ # u = session.query(SysUser).filter(SysUser.id==1).one()
54
+ # print('修改前名字-->', u.name)
55
+ # u.name = 'James'
56
+ # session.commit()
57
+ # print('修改后名字-->', u.name)
58
+ # session.close()
59
+
60
+ # 删除
61
+ u = session .query (SysUser ).filter (SysUser .id == 1 ).one ()
62
+ session .delete (u )
63
+ session .commit ()
64
+ session .close ()
0 commit comments