Python中使用MySQLdb插入数据中文及变量问题
Python中使用MySQLdb插入数据中文及变量问题
我爱吃葱花 发表于3年前
Python中使用MySQLdb插入数据中文及变量问题
  • 发表于 3年前
  • 阅读 57
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: Python中使用MySQLdb插入数据中文及变量问题

1.在建表的时候需注意

CREATE TABLE `15_04_14_node_rtt` (
  `node` varchar(20) DEFAULT NULL,
  `rtt` varchar(20) DEFAULT NULL,
  `rtt_avg` varchar(20) DEFAULT NULL,
  `vist` varchar(30) DEFAULT NULL,
  `user` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

如果你已经建表可通过如下命令进行查询

mysql> show create table 15_04_14_node_rtt;
+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table             | Create Table                                                                                                                                                                                                                                              |
+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 15_04_14_node_rtt | CREATE TABLE `15_04_14_node_rtt` (
  `node` varchar(20) DEFAULT NULL,
  `rtt` varchar(20) DEFAULT NULL,
  `rtt_avg` varchar(20) DEFAULT NULL,
  `vist` varchar(30) DEFAULT NULL,
  `user` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |

2.connect sql 时需注意

CREATE TABLE `15_04_14_node_rtt` (
  `node` varchar(20) DEFAULT NULL,
  `rtt` varchar(20) DEFAULT NULL,
  `rtt_avg` varchar(20) DEFAULT NULL,
  `vist` varchar(30) DEFAULT NULL,
  `user` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

3.insert 注意

a = "你好大大啊啊"
b = "你"
c = "你好大"
d = "你好大大"
e = "你好大大啊啊"
cur.execute("insert into 15_04_14_node_rtt(node,rtt,rtt_avg,vist,user) values (\
        '%s','%s','%s','%s','%s')" % (a,b,c,d,e))

4.sql 查询时候需注意

mysql> select * from 15_04_14_node_rtt;
+--------+------+---------+------+--------+
| node   | rtt  | rtt_avg | vist | user   |
+--------+------+---------+------+--------+
| ?????? | ?    | ???     | ???? | ?????? |
+--------+------+---------+------+--------+
1 row in set (0.00 sec)

mysql> set names utf8;     #原因由于终端和客户端所用绘画不一样
Query OK, 0 rows affected (0.00 sec)

mysql> select * from 15_04_14_node_rtt;
+--------------------+------+-----------+--------------+--------------------+
| node               | rtt  | rtt_avg   | vist         | user               |
+--------------------+------+-----------+--------------+--------------------+
| 你好大大啊啊 | 你  | 你好大 | 你好大大 | 你好大大啊啊 |
+--------------------+------+-----------+--------------+--------------------+
1 row in set (0.00 sec)

mysql>

注:

汉字编码 在脚本顶端添加 

# -*- coding: utf-8 -*-
import sys

reload(sys)  
sys.setdefaultencoding('utf-8')
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 26
博文 108
码字总数 32691
×
我爱吃葱花
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: