【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模块 不支python3
 
yum install pymysql #安装pymysql框架

 windows: 在cmd下

1
pip3 install pymysql

  

posted @ 2017-07-07 10:08  杨浪  阅读(232)  评论(0编辑  收藏  举报