python

【Python】 使用pymysql模块通过ssh隧道连接mysql

通常运维为了保证数据库安全,不会允许直接连接数据库,需要通过SSH隧道去连接服务器背后的数据库。下面直接上代码: import pymysql from sshtunnel import SSHTunnelForwarder if __name__ == '__main__': server = SSHTunnelForwarder( ssh_address_or_host=('<服务器地址>', 22), # 指定ssh登录的跳转机的address ssh_username='root', # 跳转机的用户 ssh_password='ZHIrensha123456',

  • zgljl2012
1 min read
SQL

【MySQL】查看数据库所占空间大小

在Mysql中会有一个默认的数据库:information_schema,里面有一个Tables表记录了所有表的信息。使用该表来看数据库所占空间大小的代码如下: USE information_schema; SELECT TABLE_SCHEMA, SUM(DATA_LENGTH) FROM TABLES GROUP BY TABLE_SCHEMA; 可看到各个数据库的所占空间大小,如果想要看到以k为单位的大小,代码如下: USE information_schema; SELECT TABLE_SCHEMA, SUM(DATA_LENGTH)/1024

  • zgljl2012
1 min read
python

【Django】queryset实现按指定字段的值进行排序

最近碰到一个需求,要对用户的学历进行排序,也就是按照['中专及以下', '高中', '大专', '本科', '硕士', '博士'] 的顺序进行排序,这就需要使用Django的ORM实现按指定字段的值进行排序。 1、 MySQL中的SQL语句的语法: select * from user_education where user_id = 1 ORDER BY FIELD(degree, '中专及以下', '高中', '大专', '本科', '硕士', '博士') DESC 2、

  • zgljl2012
1 min read
MySQL

【MySQL】使用中文条件查询时查询不到结果

首先看是不是编码统一了,我的是前端HTML、Js都采用的UTF-8,后端也是UTF-8,;数据库编码使用的UTF-8、表的编码、字段的编码都是UTF-8. 如果在上述都是UTF-8,使用中文条件查询时还出错,就在my.ini的[mysqld]下面加上一句: [mysqld] character_set_server = utf8 重启MYSQL服务即可。 网上很多资料都是设置default-character-set=utf8,但这只在5.5之前生效,之后的版本如果这么设置,MYSQL会启动不了。

  • zgljl2012
1 min read
zgljl2012@gmail.com