一、要求
基于 MySQL 用 Python 实现郑码查询:使得输入aacm,则输出“无可奉告”。而输入一个汉字或汉字词,则输出该字或词的郑码编码。
二、工具
- Navicat for MySQL
- spyder
三、操作过程
(1)建立数据表
在 Navicat for MySQL 中新建数据库:zmb,数据表:zmtable。添加数据之后如下:
(2)python代码
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","root","root","zmb" )
print("数据库连接成功!")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT *FROM zmtable"
try:
# 使用 execute()方法执行 SQL 查询
cursor.execute(sql)
#获取所有记录列表
results = cursor.fetchall()
# 循环操作
while (True):
str1=input("请输入郑码或汉字:")
code=""
chinese=""
flag=0
for row in results:
code=row[0]
chinese=row[1]
if str1==code:
flag=1
print(chinese)
if str1==chinese:
flag=1
print(code)
if str1=="byebye":
print("退出程序!")
break;
elif flag==0:
print("查询无果")
except:
print("Error:unable to fetch data")
# 关闭数据库连接
db.close()
测试结果: