Django 使用MYSQL数据库 Latin1
公司mysql统一用latin1的编码,真是叫人苦不堪言。Django用默认UTF8访问MYSQL数据库。在操作数据库时,不管你怎么转码,最终写到数据库里的中文都是乱码。在网上找了很久,也没解决这个问题。
后来看了一个DJANGO的MYSQL操作的源码,发现了一些问题 先是/django/db/backends/mysql/base.py 文件的 257 到263行
def _cursor(self):
if not self._valid_connection():
kwargs = {
'conv': django_conversions,
'charset': 'utf8',
'use_unicode': True,
}
关键在这两行2def _cursor(self):
261 'charset': 'utf8',
262 'use_unicode': True,
这说明,操作数据库用的是通用编码utf8 而且是硬编码进去的。如果我也硬编码改这里的话,以后有UTF8的库的话,就糟糕了。所以要想办法将这两项写到配置文件里。所以选注释掉这两行。在settings_dict = self.settings_dict 这行下面添加如下的代码
if settings_dict['USE_UNICODE']:
kwargs['use_unicode'] = settings_dict['USE_UNICODE']
else:
kwargs['use_unicode'] = True
if settings_dict['DATABASE_CHARSET']:
kwargs['charset'] = settings_dict['DATABASE_CHARSET']
修改settings.py 加入如下两行
TEST_DATABASE_CHARSET = 'latin1'
USE_UNICODE = False
但这样改了之后,会找不到DATABASE_CHARSET和USE_UNICODE 这说明在配置转进来之前做了筛选,再继续看这个文件/django/db/__init__.py 会看到这样的代码
connection = backend.DatabaseWrapper({
'DATABASE_HOST': settings.DATABASE_HOST,
'DATABASE_NAME': settings.DATABASE_NAME,
'DATABASE_OPTIONS': settings.DATABASE_OPTIONS,
'DATABASE_PASSWORD': settings.DATABASE_PASSWORD,
'DATABASE_PORT': settings.DATABASE_PORT,
'DATABASE_USER': settings.DATABASE_USER,
'TIME_ZONE':
相关文档:
how to install apache, PHP and MySQL on Linux
This tutorial explains the installation of Apache web server, bundled with PHP and MySQL server on a Linux machine. The tutorial is primarily for SuSE 9.2, 9.3, 10.0 & 10.1 operating systems, but most of the steps ought to be valid for all Linux-lik ......
新建backup.bat
设置mysqldump全局环境变量或使用时写入绝对路径
@echo off
set date0=%date:~0,10%
set time0=%time:~0,8%
set time1=%time:~0,2%
set time2=%time:~3,2%
set time3=%time:~6,2%
echo %time0%
echo %time1%
echo %time2%
echo %time3%
mysqldump -u<用户> -p<密码> -h <ip ......
DELIMITER $$
DROP PROCEDURE IF EXISTS `heli`.`prodtest` $$
CREATE PROCEDURE `heli`.`prodtest` ()
BEGIN
/*局部变量的定义 declare*/
declare pid varchar(45) default '';
declare pq int default 0;
declare pk double default 0.0;
declare cur1 CURSOR FOR SELECT pro ......
文章出处:http://www.diybl.com/course/7_databases/mysql/myxl/20081127/152723.html
设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:
1,创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的, ......
MySQL语句优化的基本原则:
◆1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
a.有大量重复值、且经常有范围查询( > ,< ,> =,& ......