,,,,因为出于个人项目的需要,获取到的数据都是json类型的,并且都要存入MySQL数据库中,因为json类型数据不像一般的文本数据,所以在存入MySQL时需要注意的问题很多。
,,,,在网上找了很多方法,整理了一下比较实用可靠的,总结下来就是下面的过程:
- <李>
李> <李>
李> <李>
李>
,,,,下面就来实战一下,实际上,在我的需求中,我需要将Python中的字典存入MySQL,所以只能先将其转换为json来处理。
- <李>
李>
mysql> create table jsondata ,,,,,( ,,,,,id int (6), auto_increment primary 键, ,,,,,data 团(1024) ,,,,,); Query 好吧,,0,rows affected (0.25,秒) mysql>, show 表; +-------------------+ | |,Tables_in_spyinux  +-------------------+ |,jsondata ,,,,,,,, | |,test ,,,,,,,,,,,, | +-------------------+ 2,rows set 拷贝;(0.00,sec) mysql>, describe jsondata; + - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |,Field Type ,, |, Null |, Key |, Default |, Extra ,,,,,,,, | + - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + |,id ,,, |, int (6), |, NO ,, |, PRI |, NULL ,,, |, auto_increment | | |,data 还以为;blob ,, |, YES , |,,,,, |, NULL ,,, |,,,,,,,,,,,,,,, | + - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 2,rows set 拷贝;(0.00,sec)
- <李>
李>
在祝辞祝辞import json 在祝辞祝辞,d =,{“名称”:,“xpleaf”} 在祝辞祝辞,类型(d) & lt; type  dict的祝辞 在祝辞祝辞,d_json =, json.dumps (d) 在祝辞祝辞d_json {“名称”:“xpleaf”}” 在祝辞祝辞,类型(d_json) & lt; type  str的祝辞
- <李>
李>
在祝辞祝辞import MySQLdb 祝辞祝辞祝辞,conn =, m.connect(主机=' localhost ',港口=3306,用户=?,passwd=?23456’, db=spyinux)在祝辞祝辞,cur =, conn.cursor ()
- <李>
李>
在祝辞祝辞,tsql =,“insert into  jsondata(数据),值(“{json}”)”,
- <李>
李>
在祝辞祝辞,sql =, tsql.format (json=MySQLdb.escape_string (d_json)); 在祝辞祝辞sql “insert into  jsondata(数据),值(\ ' {\ \“\ \”:\ \ " xpleaf \ \ "} \ ')”
- <李>
李>
在祝辞祝辞,cur.execute (sql) 1 l 在祝辞祝辞,cur.execute (sql) 1 l
,,,,上面的操作完成之后,我们已经成功将json的数据存取到MySQL中,关键是能不能将该数据取出来,并且最后还原成Python的字典类型类型。
- <李>
李>
mysql>, select *,得到jsondata; + - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |,id data ,,,,,,,,,,,,, | + - - - - - - - - - - - - - - - - - - - - - - - - - - - + |,,1,|,{“名称”:,“xpleaf”}, | + - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1,row set 拷贝;(0.00,sec)
- <李>
李>
在祝辞祝辞,cur.execute (“select *,得到jsondata”); 1 l 在祝辞祝辞,mydata =, cur.fetchall () 在祝辞祝辞mydata ((1 l,“{“名称”:,“xpleaf”}”),) 在祝辞祝辞,mydata =, mydata [0] [1] 在祝辞祝辞mydata {“名称”:“xpleaf”}” 在祝辞祝辞,类型(mydata) & lt; type  str的祝辞
- <李>
李>
在祝辞祝辞,mydata =, json.loads (mydata) 在祝辞祝辞mydata {u 'name’: u 'xpleaf '} 在祝辞祝辞,类型(mydata) & lt; type  dict的祝辞 在祝辞祝辞,mydata(“名字”) u 'xpleaf ' 在祝辞祝辞,mydata.get(“名字”) null使用Python向MySQL数据库中存入json类型数据