keyshen 2020-10-26 10:39 采纳率: 80%
浏览 94
已采纳

关于python使用postgreSQL问题

1.本人新手,今日练习python连接postgre数据库中,发现以下问题

# coding = utf-8
import psycopg2

conn = psycopg2.connect(database="School", user="postgres", password="aaaaaa", host="127.0.0.1", port="5432",
                        )

print("Opened database successfully")

cur = conn.cursor()
cur.execute("SELECT 课程号, 课程名称, 教师号  from Course")
rows = cur.fetchall()
for row in rows:
    print("课程号 = ", row[0])
    print("课程名称 = ", row[1])
    print("教师号 = ", row[2])

print("Operation done successfully")
conn.close()

之后出现错误

Traceback (most recent call last):
  File "C:/Users/Administrator.DESKTOP-02S6LKD/PycharmProjects/pythonProject/HelloWorld.py", line 10, in <module>
    cur.execute("SELECT 课程号, 课程名称, 教师号  from Course")
psycopg2.errors.UndefinedTable: relation "course" does not exist
LINE 1: SELECT 课程号, 课程名称, 教师号  from Course
                                              ^

数据库如下:
图片说明

这个很头痛,后来新建一个库,设置列表名全是英文又可以读取,是不是不能识别中文?

  • 写回答

1条回答 默认 最新

  • 后端工匠之道 2020-10-26 18:01
    关注

    首先不建议使用中文命名表字段,或者表名称。其次postgres是严格区分大小写和中文的,sql语句中记得为大写英文及文字字段带入双引,如
    INSERT INTO "public"."name_age"("姓名", "id", "年龄") VALUES ('张三', 1, '13');

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现