数据库操作

一直想要连一下数据库,今天有空就试了一下,,,真是让人智熄。

版本:python2.7 + MYSQL5.5.8

数据库安装,连接都很顺利,就是死活都插不进去中文字符,各种报错。收集网络上的各种解决方法之后还是没有解决,又是秃头的一天。网络上的各种答案都在说连接时的编码问题,和中文字符的编解码,突发奇想,是不是创建表格的时候没有设置编码格式,铛铛铛,去sql图形界面一查果然如此。问题顺利解决,代码如下:

# -*- coding: UTF-8 -*-
 
import MySQLdb
 
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "1234", "name", charset='utf8' )
 
# 使用cursor()方法获取操作游标
cursor = db.cursor()
 
# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS WORKER")
 
str = '上海'.decode('utf8').encode('utf8')

# 执行sql语句

# 创建数据表SQL语句,设置表的编码格式
sql = """CREATE TABLE WORKER (
         NAME  CHAR(20) NOT NULL,
         ADDR  CHAR(20),
         AGE INT,
         SEX CHAR(1),
         INCOME FLOAT ) ENGINE=InnoDB DEFAULT CHARSET=utf8"""
 
cursor.execute(sql)
sql =  """INSERT INTO WORKER(NAME,
         ADDR, AGE, SEX, INCOME)
         VALUES (%s, %s, %s, %s, %s)"""
try:
   # 执行sql语句
	term = ('Tom',str, '20', 'M', '2000')
	cursor.execute(sql,term)
   # 提交到数据库执行
	db.commit()
except:
   # Rollback in case there is any error
   db.rollback()
 
# 关闭数据库连接
db.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值