工具:mysql  python sqlalchemy

----------------------------------------

准备工作:

1.安装mysql

如果是window环境请参考 win7安装mysql

如果是linux环境请参考 linux安装mysql

2.安装python

windows: win7安装python2和python3

linux: linux安装python36

注:CentOS自带python2.6.6,如果要安装2.7.9以后的版本同样要通过源码包安装

转载dudu博主的linux安装python2.7.9

3.基于python安装第三方库pymysql和sqlalchemy

pip install pymysql
pip install sqlalchemy pip3 install pymysql
pip3 install sqlalchemy

--------------------------------------------------------------------------

可以开始撸码了~~~~~~

我是基于python36写的,话不多说直接上代码吧

  • 第一步:用mysql创建数据库

  • 第二步:创建数据库连接
# encoding:utf-8
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, INTEGER, String
from sqlalchemy.orm import sessionmaker
HOST_NAME = '127.0.0.1' # 数据库所在服务器ip,因为我是本地数据库所以这里是127.0.0.1
HOST_PORT = '' # 数据库端口
DATABASE_NAME = 'pydb' # 数据库名
USER_NAME = 'root' # 链接数据的用户名
PWD = '' # 链接数据库的密码
# DB_URI是固定的格式,因为我的数据库是mysql,所以按照这个格式写就行了
DB_URI = 'mysql+pymysql://{0}:{1}@{2}:{3}/{4}?charset=utf8'.format(USER_NAME,PWD,HOST_NAME,HOST_PORT,DATABASE_NAME)
# 创建数据库连接
engine = create_engine(DB_URI)
  • 第三步: 创建表
# -------------创建数据库--------------------------------------------------------------------------------
# 操作数据库的基类
Base = declarative_base(engine) class User(Base):
"""定义类其实就是创建一个表
create table user (
id int primary key auto_increment,
user_name varchar(50) not null,
password varchar(20) default '123456'
);
"""
__tablename__ = 'user' # 表名
id = Column(INTEGER,primary_key=True, autoincrement=True) # id字段,主键,自增
user_name = Column(String(50), nullable=False) # 用户名字段
password = Column(String(20), nullable=False, default='') # 密码字段 def __repr__(self):
"""定义数据库查询返回的数据格式"""
return 'User(id="%s",username="%s",password="%s")' % (self.id, self.user_name,self.password) Base.metadata.create_all()

查看数据库,创建成功

  • 第四步: 插入数据
 # ------------插入数据---------------------------------------------------------------------
# 创建会话
Session = sessionmaker(engine)
session = Session()
panda = User(user_name='panda', password='')
# 插入单条数据
session.add(panda)
user_list = []
# 插入多条数据
user_list.append(User(user_name='test1', password=''))
user_list.append(User(user_name='test2', password=''))
user_list.append(User(user_name='test3', password=''))
session.add_all(user_list)
session.commit()

查看数据库已经添加成功

  • 第五步:查询数据
# select top 1 from user;
res_first = session.query(User).first()
print(res_first)
# select *from user;
res_all = session.query(User).all()
print(res_all)
# select *from user where user_name='panda';
res_panda = session.query(User).filter_by(user_name='panda').all()
print(res_panda)
# select *from user where user_name='panda';
res = session.query(User).filter(User.user_name == 'panda').all()
print(res)

运行结果如下,这里返回的格式是以class类的__repr__方法定义的

  • 第六步: 更新数据
# update user set password = '654321' where user_name='panda';
res = session.query(User).filter(User.user_name == 'panda').all()[0]
res.password = ''
session.commit()

查看数据库已经更新成功

  • 第七步: 删除数据
# delete from user where id=3;
res = session.query(User).filter_by(user_name='test3').all()[0]
session.delete(res)
session.commit()

查看数据库已经删除成功

 

python如何用sqlalchemy操作数据库的更多相关文章

  1. Python3.x:SQLAlchemy操作数据库

    Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...

  2. 使用python简单连接并操作数据库

    python中连接并操作数据库 图示操作流程 一.使用的完整流程 # 1. 导入模块 from pymysql import connect # 2. 创建和数据库服务器的连接,自行设置 服务器地址, ...

  3. 04:sqlalchemy操作数据库

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  4. 04:sqlalchemy操作数据库 不错

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  5. python学习笔记:操作数据库

    1.下载安装模块 第一种:cmd下:执行命令下载安装:pip3 install pymysql 第二种:IDE下pycharm python环境路径下添加模块 2.连接数据库 import pymys ...

  6. SQLAlchemy 操作数据库

    首先安装 SQLAlchemy install PyMySQL install sqlalchemy 代码: #!/usr/bin/env python # encoding: utf-8 " ...

  7. python自定义ORM并操作数据库

    看这个代码之前先去看上篇文章,理解type的用法及元类的含义: ORM可以代替pymysql,实现将python语义装换为sql语句,简单化 import pymysql ''' metaclass, ...

  8. python测试开发django-13.操作数据库(增删改查)

    前言 django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢? 本篇详细讲解django操作mysql数 ...

  9. sqlalchemy操作数据库(二)

    sqlalchemy的基本操作 表结构如下: from sqlalchemy import create_enginefrom sqlalchemy.ext.declarative importdec ...

随机推荐

  1. 1、微服务--为什么有consul,consul注册,心跳检测,服务发现

    一.为什么有consul? 在微服务,每1个服务都是集群式的,订单服务在10台服务器上都有,那么用户的请求到达,获取哪台服务器的订单服务呢?如果10台中的有的订单服务挂了怎么办?10台服务器扛不住了, ...

  2. C# LINQ学习笔记二:LINQ标准查询操作概述

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式 ...

  3. P5331 [SNOI2019]通信 [线段树优化建图+最小费用最大流]

    这题真让人自闭-我EK费用流已经死了?- (去掉define int long long就过了) 我建的边害死我的 spfa 还是spfa已经死了? 按费用流的套路来 首先呢 把点 \(i\) 拆成两 ...

  4. MySQL的修改和删除数据表字段

    MySQL的修改和删除数据表字段 写在前面: 数据库存在的意义:数据存储和数据管理. 数据库:行(数据),列(字段) 注意:本页是解决了列的字段问题.下一页是解决行的数据问题. 注意,所有的字段名,最 ...

  5. Hibernate 和Mybatis的区别

    Hibernate 和Mybatis的区别   1.hibernate 入门门槛高,是一个标准的ORM框架(对象关系映射),不需要程序写sql,sql语句自动生成,对sql语句进行优化.修改比较困难. ...

  6. ZOJ1310-Robot (BFS)

    The Robot Moving Institute is using a robot in their local store to transport different items. Of co ...

  7. Windows下MongoDB的配置及其远程连接

    基本操作MongoDB的基本安装https://blog.csdn.net/heshushun/article/details/77776706启动和配置MongoDB服务参考博客https://bl ...

  8. LED Keychain-Ideal For Mass Promotions

    Looking for something memorable to remind people of your business or nonprofit? Consider custom LED ...

  9. 【C语言】【欢哥TV】冒泡法排序视频演示

    fromB站 点击进入:Go

  10. 利用 Hexo + Github 搭建自己的博客

    扯在前面 在很久很久以前,一直就想搭建属于自己的一个博客,但由于各种原因,最终都不了了之,恰好最近突然有了兴趣,于是就自己参照网上的教程,搭建了属于自己的博客. 至于为什么要搭建自己的博客了?哈哈,大 ...