如何在每次运行 python 程序时添加新列

2024-06-07

我希望我的表的第一列作为卷号,第二列作为名称。每当我运行 python 程序时,我想在表中添加一列日期。在这个新列中,我想填充从 user.list 获得的列表将包含值“P”、“A”、“P”、“P”等。如何处理? 我尝试首先通过 alter 命令添加一列,然后插入数据,但没有任何效果。

choice1=raw_input("\nEnter 'y' or 'n' to add new column:\n")
if choice1 is 'y':
    cursor.execute(" ALTER TABLE table1 ADD datecolumn varchar(20)")
    db.commit()
    for i in xrange(0,10):
        if students[i] is 'A':
            cursor.execute("insert into table1(datetime) values ('A')")
            db.commit()
        elif students[i] is 'P':
            cursor.execute("insert  into table1(datetime) values ('P')")
            db.commit()

不要在运行时更改数据库设计,而是以更改数据而不是结构的方式进行设计。

你可以有两张桌子。一个叫Student有柱子rollno and name,也许PKrollno如果它是独一无二的。

然后有另一个表称为Thing(任何合适的名称,但我不知道你的数据是关于什么的)三列when(约会时间),value(任何合适的名称)(CHAR(1))和student(与相同类型rollno).

定义两者的 PKwhen and value确保每个学生每个日期只有一个值。定义 FK 从Thing.student to Student.rollno。现在,您的数据库负责保持数据(大部分)一致。

根据您对不同列的选择、插入和更新的需要定义索引。

然后为了查询连接两个表以获得所需的结果,例如

select s.name, t.value
from Student s
left join Thing t on t.student = s.rollno
where t.when == 'whenever'

(我不确定 mysql 方言,所以可能需要更多引号。请随意编辑。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在每次运行 python 程序时添加新列 的相关文章

随机推荐

  • 椭圆与椭圆如何相交?

    我用的是JAVA Ellipse2D s1 new Ellipse2D Float 0 0 100 100 System out println s1 intersects 99 30 100 100 应该返回 false 但它返回 tru
  • height:100% 在 Internet Explorer 中不起作用

    我有一个关于 CSS 属性的问题height 100 在 Internet Explorer 中 height 100 在 IE 中不起作用 但在 Firefox 和 Chrome 中可以 HTML 文件 div ul ul div
  • 使用 javascript 将文本附加到文本区域

    如何将文本列表附加到文本区域
  • Mac OSX 上使用 Java 7 的透明 JFrame/JWindow

    我们有一个屏幕共享小程序 它打开 Swing JFrame 并使用 Robot 类捕获空框架后面的屏幕 用户可以单击框架并与小程序后面的任何内容进行交互 这在 Windows 上运行良好 并且用于 Apple 的 Java 版本 但对于 M
  • 在 bitbake 配方中运行命令,就像在实时系统上一样

    是否可以像在实时系统上运行一样在配方中运行命令 如果是这样 怎么办 我想将我的密钥导入到gpg https www gnupg org 在创建映像之前 这样我就不必在格式化 SD 卡后登录系统 我找到了一个解决方案 涉及指定在调用 do r
  • 默认模板参数的“重新定义”

    我在 Visual C 2010 中遇到以下代码的奇怪编译警告 include
  • 尚未注册类型“Microsoft.AspNetCore.Mvc...”的服务

    我正在尝试测试此控制器方法 以确保它重定向到另一个控制器方法或存在模型错误 public IActionResult ResetPassword ResetPasswordViewModel viewModel if viewModel N
  • 什么会导致 PHP 变量被服务器重写?

    我的公司给了我一个虚拟机来安装网络软件 但我遇到了一个相当奇怪的问题 如果 PHP 变量与特定模式匹配 服务器就会覆盖 重写 它们 什么可以像这样重写 PHP 变量 以下是一个完整的独立脚本
  • Rails:控制文件存储缓存大小

    Rails 中基于文件的缓存的文档说 请注意 缓存将不断增长 直到磁盘已满 除非您 定期清除旧条目 不幸的是 它没有提供任何有关如何定期清除旧条目的信息 是否设置合适的值 expires in完成这项工作还是清除缓存背后还有其他某种黑魔法
  • Set-Cookie 在 Chrome 中不起作用

    我有一个奇怪的问题 我开发的网站之一在请求登录页面时返回防伪 cookie 当我检查 chrome 网络选项卡中的响应时 它包含标头 Set Cookie AspNetCore Antiforgery w5W7x28NAIs xxx pat
  • WordPress:如何使用“wp_query”类搜索“post_content”帖子?

    正如标题所暗示的 我试图通过其找到一个帖子post content 我该怎么做 谢谢 例子 SELECT FROM DBname WHERE post content LIKE phrase 或者 因为它是有问题的 您可以通过实际使用 WP
  • 尽管 HQL 获取,Nhibernate 仍然生成代理

    我有以下 HQL 语句 select distinct t from TaskEntity as inner join fetch t Case as c inner join fetch c Client as client inner
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • 如何跨工作区保存 E​​clipse 启动配置文件?

    当我复制 Eclipse 项目目录时 它包含 classpath 和 project 文件 这样当我将同一目录带到另一个 Eclipse 实例时 我不必设置我的构建路径等 假设所有资源都包含在在项目中 而不是外部 但是 此过程不会导致启动配
  • 在全局范围内查找 JavaScript 函数

    有没有办法在当前活动的对象模型中搜索 JavaScript 属性 例如命名函数 Firebug 在 DOM 选项卡上显示的内容 我在 Chrome 开发人员工具中找不到直接等效项 加载页面 使用主要浏览器的通用开发人员工具 一个例子是 我搜
  • Windows 窗体和 XNA - 绘制不是实时的

    我目前正在为 XNA 开发一个关卡编辑器 它是通过结合 Windows 窗体和 XNA 构建的 我正在使用 App Hub 上示例中的内容链接文本 http create msdn com en US education catalog s
  • Gitlab-CI:有条件的allow_failure

    我最近开始为我的代码实现自动测试 我注意到 CI 没有捕获编译器的警告 即使有警告 测试也显示为成功 我最初为编译器添加了一个标志 将警告转化为错误allow failure True 但问题是编译器在第一个警告 gt 错误时停止 并没有完
  • 具有该名称的查询已存在

    所以我想使用 Excel VBA 创建雅虎财经历史数据 csv 下载 的自动查询 我设置了一个函数 以便 Excel 会自动查询股票代码及其开始日期和结束日期 分别为 K1 K2 K3 这是代码 Sub YFIN get YFIN get
  • 如何在python mechanize中设置cookie

    向服务器发送请求后 br open http xxxx br select form nr 0 br form MESSAGE 1 2 3 4 5 br submit 我得到了响应标题 其中包含 set cookie Set Cookie
  • 如何在每次运行 python 程序时添加新列

    我希望我的表的第一列作为卷号 第二列作为名称 每当我运行 python 程序时 我想在表中添加一列日期 在这个新列中 我想填充从 user list 获得的列表将包含值 P A P P 等 如何处理 我尝试首先通过 alter 命令添加一列