如何开发一个简单的数据库

时间:2013-08-14 17:10:57

标签: python mysql database

我对编程有一定的了解,我对Python和C中的过程编程非常满意,我主要用于数学问题。我也学到了一些OOP。 我被朋友要求开发一个供医疗服务员使用的简单软件。 基本上,他们应该能够访问患者列表并添加,删除或编辑它们。 他们还可以点击患者姓名并访问包含出生日期和该患者详细信息的页面。此外,每位患者都应该有一份体检的“历史”,包括他过去做过的事情的日期和细节。这只是为了让您了解情况的一般情况。

现在,我知道如何在Python中使用GUI(Tkinter库)。我想知道是否有一种方法可以使用唯一的python,但我想我也需要使用一些DB,也许是MySQL。

我说错了吗? 你会建议开发这么简单的软件吗?

谢谢。

4 个答案:

答案 0 :(得分:3)

简单的界面并不总是意味着简单的软件(只是一个友好的警告)。

您的程序最终会被事件驱动(例如“单击此按钮时执行此操作”),而不是程序性的,因此您肯定会在这方面处于学习曲线上。您将被迫学习处理数据的新方法(过程代码只能向前传递数据,而事件驱动的软件通常需要以或多或少的随机顺序访问事物)。这是数据库软件可以提供的帮助。它将您的数据与代码分开。

使用像MySQL这样的数据库是非常好的,特别是与创建自己的数据库相比,在这种情况下,这将重新发明轮子。大多数数据库软件都会处理你想要做的事情(有些是免费的,包括MySQL)。

我建议从一些简单的“了解MySQL”程序开始,习惯于查询,插入等。在线有几个优秀的教程(W3 Schools有一个)。

在学习如何有效地使用数据库时,真正计划出你想要存储的所有内容是值得的,例如:姓名,生日,地址,电话#。在您了解哪些有效且哪些无效时,您可能需要重新构建数据库表几次。

如果你没有在截止日期前,这是一个很好的学习机会!

答案 1 :(得分:0)

您熟悉phpacademy.org吗?他们有许多优秀的教程可以满足您的需求。

以下是一些可能会有所帮助的内容:

MySQL and PHP
PHP Security
Register & Login

请注意,如果在YouTube上观看,则所有教程/视频都是免费的。亚历克斯只收取代码费用(如果您不想在观看示例时自己输入所有内容,则节省时间)并接受捐款。

我从这个家伙那里学到了很多东西。对他说了很多,捐了一点。

答案 2 :(得分:0)

从这个简单的例子开始

插入数据

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sqlite3 as lite
import sys

con = lite.connect('test.db')

with con:

    cur = con.cursor()    
    cur.execute("CREATE TABLE Cars(Id INT, Name TEXT, Price INT)")
    cur.execute("INSERT INTO Cars VALUES(1,'Audi',52642)")
    cur.execute("INSERT INTO Cars VALUES(2,'Mercedes',57127)")
    cur.execute("INSERT INTO Cars VALUES(3,'Skoda',9000)")
    cur.execute("INSERT INTO Cars VALUES(4,'Volvo',29000)")
    cur.execute("INSERT INTO Cars VALUES(5,'Bentley',350000)")
    cur.execute("INSERT INTO Cars VALUES(6,'Citroen',21000)")
    cur.execute("INSERT INTO Cars VALUES(7,'Hummer',41400)")
    cur.execute("INSERT INTO Cars VALUES(8,'Volkswagen',21600)")

检索数据

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sqlite3 as lite
import sys


con = lite.connect('test.db')

with con:    

    cur = con.cursor()    
    cur.execute("SELECT * FROM Cars")

    rows = cur.fetchall()

    for row in rows:
        print row

逐行将数据打印到控制台。

$ ./retrieveall.py
(1, u'Audi', 52642)
(2, u'Mercedes', 57127)
(3, u'Skoda', 9000)
(4, u'Volvo', 29000)
(5, u'Bentley', 350000)
(6, u'Citroen', 21000)
(7, u'Hummer', 41400)
(8, u'Volkswagen', 21600)

来源:http://zetcode.com/db/sqlitepythontutorial/

答案 3 :(得分:0)

首先,你真的需要为此创建一个GUI吗?或者网页是否适合您的需求? 如果您的网站没问题,建议您查看flaskdjango。 (第二个需要更长时间才能学习)。

如果您正在使用这些技术,则可以使用flask-sqlalchemy来使用数据库获取烧瓶或django-orm。我仍然建议你应该学习一下SQL(这是'数据库语言'),但是使用这些库你不需要编写自己的SQL查询。

你可以找到关于这些框架的好教程,如果你遇到困难,很多人都会帮助你。