【Python】python操作mysql
pymysql模块对mysql进行
1 import pymysql 2 3 4 5 # 创建连接 6 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='test') 7 # 创建游标 8 cursor = conn.cursor() 9 #创建一个表 10 effect_row = cursor.execute("create table user (id int unsigned primary key auto_increment,name varchar(15) not NULL ,age int(3) not NULL ,addr varchar(255))DEFAULT CHARACTER set utf8;")#创建一个表 11 12 13 # 执行SQL,并返回受影响行数 14 #effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,)) 15 16 17 18 # 执行SQL,并返回受影响行数 executemany 默认开启事务 19 cursor.executemany("INSERT INTO user(name,age,addr) values (%s,%s,%s)",[('XX',35,'DDD')]) 20 #effect_row = cursor.executemany("insert into user(name,age,addr) values (%s,%s,%s)",data) 21 #conn.commit()#关闭事务 22 23 24 # 提交,不然无法保存新建或者修改的数据 25 conn.commit() 26 27 # 关闭游标 28 cursor.close() 29 # 关闭连接 30 conn.close()
sqlalchemy 模块
1 from sqlalchemy.ext.declarative import declarative_base
2 from sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint, Index
3 from sqlalchemy.orm import sessionmaker, relationship
4 from sqlalchemy import create_engine
5 # 用户 密码 主机 库
6 engine = create_engine("mysql+pymysql://root:root@127.0.0.1:3306/test",encoding="utf-8",echo=True)
7
8 Base = declarative_base()#生成orm 基类
9 class User(Base):
10 __tablename__='info_l' #表名
11 id = Column(Integer,primary_key=True)#整数类型 设为主键
12 name = Column(String(32))#字符串类型
13 addrs= Column(String(256))
14
15 Base.metadata.create_all(engine)#创建表
16
17 Session_class=sessionmaker(bind=engine)#创建与数据库的会话 类
18 Session=Session_class()#生成实例
19
20 user_obj =User(name="sdf",addrs="sdfs")#生成你要创建的数据对象
21 print(user_obj.name,user_obj.addrs)#此时并未创建对象
22 Session.add(user_obj)#开启事务进行连接
23 Session.commit()#关闭事务
备注安装相关模块
mysqldb模块安装
centos7:安装
|
1
2
3
|
yum install MYSQL-python #自动安装mysqldb模块 不支python3yum install pymysql #安装pymysql框架 |
windows: 在cmd下
|
1
|
pip3 install pymysql |

浙公网安备 33010602011771号