python环境下使用sqlalchemy和mysql搭建数据库环境及编码

为了兼容中文和其他国家的文字,我们将编码格式都设置为utf8

mysql设置utf8可以直接修改配置文件,或则通过命令行下的环境变量来进行设置

sqlalchemy设置编码字符集一定要在数据库访问的URL上增加charset=utf8,否则数据库的连接就不是utf8的编码格式

eng = create_engine(‘mysql://root:[email protected]:3306/test2?charset=utf8‘,echo=True)

注意URL的后面部分

charset=utf8

这个很关键,除了上述两处需要设置和修改的地方,另外python文件需要将编码格式设置为utf8(不带BOM)的,这样忘数据库

直接存储数据,就可以直接用‘中文‘ ,或则u‘中文‘来正确存储到mysql数据库中。

mysql数据库在dos命令窗口中不能正确显示中文,如果要查看utf8编码格式的中文,最好是下载一个mysql的可视化工具。

目前我感觉不错的mysql可视化工具是SQLyog。

下面是我写的使用sqlalchemy写入数据库的demo代码,可以参考参考。

#coding=utf-8

from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
	__tablename__ = 'user2'

	id = Column(String(20),primary_key=True)
	name = Column(String(20))

class School(Base):
	__tablename__ = 'school'
	id = Column(String(20), primary_key=True)
	name = Column(String(20))

#创建从Base派生的所有表
def createAll(eng):
	Base.metadata.create_all(eng)

#删除DB中所有的表
def dropAll(eng):
	Base.metadata.drop_all(eng)

#删除数据库中从Base派生的所有表

#创建session对象
if __name__ == '__main__':
	#创建数据库引擎
	eng = create_engine('mysql://root:[email protected]:3306/test2?charset=utf8',echo=True)

	#设置回显
	#eng.echo = True

	#创建DBSession类型
	DBSession = sessionmaker(bind=eng)

	#创建session对象
	session = DBSession()

try:
	#创建表
	createAll(eng)

	#创建新User对象
	new_user = User(id='13', name='我еёжжщщщьфффтххмлл')

	print(u'你好吗')

	#添加到session
	session.add(new_user)

	#提交保存到数据库
	session.commit()

except BaseException,e:
	print('e.message=%s' % str(e.message))

finally:
	session.close()
	#eng.close()
时间: 2024-10-08 17:54:11

python环境下使用sqlalchemy和mysql搭建数据库环境及编码的相关文章

python环境下使用mysql数据及数据结构和二叉树算法(图)

python环境下使用mysql数据及数据结构和二叉树算法(图):1 python环境下使用mysql2使用的是 pymysql库3 开始-->创建connection-->获取cursor-->操作-->关闭cursor->关闭connection->结束45 代码框架6 import pymysql.cursors7 ###连接数据库8 connection = pymysql.connect(host='127.0.0.1',port=3306,user='roo

Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)

参考文章: https://blog.csdn.net/qq_38198744/article/details/80261695 前文说过如何在Ubuntu环境下 为PyQt5  安装MySql驱动, 这里面主要说的是如何在Windows环境下安装MySql驱动. # -*- coding: utf-8 -*- ''' [简介] PyQt5中 处理database 例子 ''' import sys from PyQt5.QtCore import * from PyQt5.QtGui impo

CentOS6.5环境下OpenSSL实战:自己搭建CA中心,申请,签发,吊销,导入证书,SSL 握手详解

CentOS6.5环境下OpenSSL实战: 自己搭建CA中心,申请,签发,吊销,导入证书,SSL 握手详解

python环境下实现OrangePi Zero寄存器访问及GPIO控制

最近入手OrangePi Zero一块,程序上需要使用板子上自带的LED灯,在网上一查,不得不说OPi的支持跟树莓派无法相比.自己摸索了一下,实现简单的GPIO控制方法,作者的Zero安装的是Armbian系统,使用python写了一个读写寄存器的简单模块,通过这个模块,即可实现对GPIO的控制. 作者以前使用过STM32的MCU,这类MCU,如果要实现对GPIO的控制,只需要根据datasheet查找相应GPIO寄存器并进行配置,即可实现IO控制,例如,要将内存地址为0x12345678的寄存

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲高终和寡 *******************如果你看到这一行,说明爬虫在本人还没有发布完成的时候就抓走了我的文章,导致内容不完整,请去上述的原文链接查看原文**************** 由于最近经过朋友启发,又有了一个写个人项目的小想法,在这次个人项目中准备学习并使用一些之前自己没有掌握的新

图像处理基本工具——Python 环境下的 Pillow( PIL )

由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境下,对图像的处理笔者主要使用 Pillow 库,主要操作包括对图像的读取.存储和变换等.实际应用中,Pillow 中提供的 Image 模块适合对图像整体进行变换处理操作. 注:以下介绍仅包括对应模块和函数的基础用法,故而在介绍时省略了部分参数和选项,更完备的用法和介绍可参考 Pillow 的官方文

virtualenv 环境下 Django + Nginx + Gunicorn+ Supervisor 搭建 Python Web

在这篇文章里,我们将搭建一个简单的 Web 应用,在虚拟环境中基于 Flask 框架,用 Gunicorn 做 wsgi 容器,用 Supervisor 管理进程,然后使用 OneAPM Python 探针来监测应用性能,形成一个「闭环」 !希望能对大家有所帮助,首先简单来介绍一下环境: 系统环境:ubuntu 14.04 Python 2.7.6 安装组件库 第一步安装所需要的存储库,因为打算用到虚拟环境,用到 pip 安装和管理 Python 组件,所以先更新本地包,然后安装组件: sudo

mysql环境下分分彩源码搭建的操作

首先打开分分彩源码搭建数据库(Linux):service mysql start(关闭数据库 service mysql stop)企 娥:217 1793 408window下:net start mysql 然后输入密码:mysql -uroot -p密码 进入mysql后开始操作1.数据库的相关操作 查看所有的数据库 show databases;创建数据库 create database 数据库名;删除数据库 drop database 数据库名:mysql数据库的名称在黑窗口下是无法

Ubuntu中python环境下import requests错误的解决(学习过程问题记录)

python中导入模块:import requests提示错误,错误信息描述如下: >>>import requests Traceback (most recent last):   File "<stdin>", line 1, in <module> ImportError:No module named requests 意思就是说没有名为requests的模块,解决方案是在命令行下使用 pip install requests 来进行