mysql 学习三 ORM 修改mysql编码utf-8

ORM 对象映像关系程序。

通过ORM将程序语言的对象模型和数据库的关系模型建立映射关系,
这样我们在使用编程语言对数据库操作的时候,可以直接使用编程语言的对象模型进行操作就可以了,而不是直接使用sql

orm的优点:

1.隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库,交互变得简单,一套代码导出数据库运行,跨平台,并且完全不用考虑该死的SQL语句,快速开发

2.ORM使我们构造化数据结构变得简单

缺点:

1.代价是牺牲性能,现在的各种ORM框架都在尝试使用各种方法来减轻这款,效果很明显 
最有名的ORM框架是SQLAlchemy
pip install sqlalchemy

修改mysql默认编码

1.查看mysql编码:
使用status命令
mysql> status
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8

2.使用show variables命令
mysql>show variables like 'char%'


2.改变mysql数据库的默认编码
安装mysql数据库的默认编码是latin1,实际使用时要用到utf-8:
Ubuntu18.04的方法:
1.输入sudo vim /etc/mysql/conf.d/mysql.cnf
在[mysql]标签的下一行添加下面配置:default-character-set=utf8
2.输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到[mysqld]标签,在其下一行添加下面的配置
character-set-server=utf8
3.重启:sudo service mysql restart
4.status or show variables like '%character%';


这个是Windows和Ubuntu18.04以下的方法
1.修改mysql的配置文件/etc/mysql/my.cnf:
在[client]下追加
default-character-set=utf8
在[mysqld]下追加
default-character-set-server=utf8
在mysql下追加:
default-character-set=utf8
2.修改完毕以后:
service mysql restart
/etc/init.d/mysql restart 
3.改变以后,为显示,默认为latin1,可使用如下命令
mysql>alter database db_name character set  utf8

ORM框架SQlAlchemy使用,创建表:

#conding:utf-8
import  sqlalchemy
from sqlalchemy import  create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String #区分大小写
#创建连接
engine=create_engine("mysql+pymysql://root:123456@localhost/ceshi",encoding='utf-8',echo=True)
#生成orm基类
base=declarative_base()
class user(base):
    __tablename__ = 'users' #表名
    id = Column(Integer, primary_key=True)
    name = Column(String(32))
    password = Column(String(64))
base.metadata.create_all(engine) #创建表结构

猜你喜欢

转载自blog.csdn.net/weixin_42262889/article/details/89668586