您的位置:首页 > 编程语言 > Python开发

【Python】python操作mysql

2017-07-07 10:08 323 查看

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:安装

 windows: 在cmd下

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: