dbutils安装笔记以及mysql数据库操作问题

 

dbutils安装笔记;

tar -zxvf DBUtils-1.0.tar.gz

然后python setup.py install

这样dbutils就安装到了python下libs下的site-package下

 

查询的时候,数据类型必须对应正确

 

例如:

sql = 'select * from User_Info where UserID=' + user + ' or Mobile=\'' + user + '\'';

 

查询的时候,对应的数据类型必须正确:

比如UserID是int类型的,那么条件表达式就直接写:UserID=' + user + '  对应到sql语句即为UserID=10013001

而如果为字符串类型,那么条件表达式就得写成: Mobile=\'' + user + '\'' 对应到sql语句即为Mobile='15810687707'

 

所以在python中组织查询语句的时候,得注意字段类型,整体原则是,如果为int类型的,那么就如:UserID=' + user + '

如果为字符串类型的,那么就如: Mobile=\'' + user + '\''

 

其次,查询出来的结果也都是带数据类型的,比如查询UserID字段出来,那么数据库类型UserID为int,查询出来的字段数据在python当中

也是带类型的,如果你需要的是str类型的,那么就需要str(UserID)

 

 

 

class DBConfig(object):

    """数据库配置"""

 

   #使用的连接接口

    dbapi=MySQLdb

    #主机ip

    host='192.168.1.1'

    #端口

    port=3306

    #数据库名

    database_name='db_name'

    #用户名

    username='db_user'

    #密码

    password='db_password'

    #最小连接数

    mincached=5

    #最大连接数

    maxcached=25

 

    #使用unicode

    use_unicode=True

    #字符编码为utf8

    charset="utf8"

 

class ConnFactorty(object):

    """

        数据库连接工厂,负责产生数据库连接 , 此类是不可以被实例化的

        获取连接对象:conn = ConnFactorty.getConn()

    """

    #连接池对象

    __pool = None

    def __init__(self):

        #如果实例化对象是本身,那么抛出异常

        if self.__class__ == ConnFactorty:

            raise NotImplementedError("abstract")

 

    @staticmethod

    def getConn():

        if ConnFactorty.__pool is None :

            __pool = PooledDB(creator=DBConfig.dbapi, mincached=DBConfig.mincached , maxcached=DBConfig.maxcached , 

                              host=DBConfig.host , port=DBConfig.port , user=DBConfig.username , passwd=DBConfig.password , 

                              db=DBConfig.database_name,use_unicode=DBConfig.use_unicode,charset=DBConfig.charset ) 

        return __pool.connection()

 

 

pooldb用法:

DBPARAMS ={

    'creator': psycopg2,  #MySQLdb    

    'host': 'localhost', 

    'user': 'postgres', 

    'password': 'postgres', 

    'database': 'bob',

}

pool = PooledDB(maxusage=1000,  **DBPARAMS)

你可能感兴趣的:(sql,mysql,python,mobile)