码迷,mamicode.com
首页 > 数据库 > 详细

Python - 连接msql数据库

时间:2017-12-08 14:02:17      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:内容   password   数据库   连接   err   explorer   占位符   print   com   

可能出现的异常:python中出现SyntaxError: Non-UTF-8 code 解决方法

刚开始一直有用idle写代码,今天用了一下PyDev结果发现中文不支持,在网上搜了一下,结果发现解决方法都写得比较乱,自己写一个记录一下。

1.把相应Python程序文件的编码转成UTF-8格式就可以了。以Eclipse+PyDev为例:

在左侧Package Explorer里面找到相应的文件,点击右键选择“Properties”

把编码从默认:

技术分享图片 

改为:

技术分享图片 

再添入中文内容就可以正常运行了。

 

2.使用gbk


  1. #!user/bin/env python3  
  2. # -*- coding: gbk -*- 

在程序开始处添加一条如上所未的编码定义其中gbk是指定的编码,详细内容可到:http://python.org/dev/peps/pep-0263/ 

****今天试了一下发现,这个问题可能来自于Eclipse保存文件的时候,如果字符串内有Unicode字符的时候,它无法自动选择UTF-8编码,但当把标识符用中文等Unicode字符时,在保存文件的时候Eclipse会提示是否以UTF-8格式保存,选择之后就OK了,这在其它Python专用的Ide中可能不会出现这种情况,它们可能会直接以UTF-8编码来处理.py文件。

 

安装MYSQL驱动

$ pip install mysql-connector-python --allow-external mysql-connector-python

 

编写测试代码:* 数据库要存在,表可以由代码创建

# 导入MySQL驱动:
import mysql.connector

# 注意把password设为你的root口令:
conn = mysql.connector.connect(user=‘root‘, password=‘root‘, database=‘abc‘)

cursor = conn.cursor()

# 创建user表:
cursor.execute(‘create table user (id varchar(20) primary key, name varchar(20))‘)

# 插入一行记录,注意MySQL的占位符是%s:
cursor.execute(‘insert into user (id, name) values (%s, %s)‘, [‘1‘, ‘Michael‘])

print("cursor.rowcount:", cursor.rowcount)

# 提交事务:
conn.commit()
cursor.close()

# 运行查询:
cursor = conn.cursor()
cursor.execute(‘select * from user where id = %s‘, (‘1‘,))
values = cursor.fetchall()

print("values:", values)

# 关闭Cursor和Connection:
cursor.close()
conn.close()

  

 

Python - 连接msql数据库

标签:内容   password   数据库   连接   err   explorer   占位符   print   com   

原文地址:http://www.cnblogs.com/hfultrastrong/p/8004616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!