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

Python 如何开发一个简单的数据库,python,mysql,database,Python,Mysql,Database,我有一些编程方面的知识,我对Python和C中的过程编程非常满意,我主要用它来解决数学问题。我也学了一些OOP。 一位朋友让我开发一个简单的软件,供医务人员使用。 基本上,他们应该能够访问患者列表并添加、删除或编辑他们。 他们还可以点击患者的姓名,进入一个页面,显示患者的出生日期和详细信息。此外,每位患者都应该有体检的“历史记录”,包括他过去做过的任何事情的日期和细节。这只是让你大致了解一下情况 现在,我知道了如何在Python中使用GUI(Tkinter库)。我想知道是否有一种方法可以使用唯一

我有一些编程方面的知识,我对Python和C中的过程编程非常满意,我主要用它来解决数学问题。我也学了一些OOP。 一位朋友让我开发一个简单的软件,供医务人员使用。 基本上,他们应该能够访问患者列表并添加、删除或编辑他们。 他们还可以点击患者的姓名,进入一个页面,显示患者的出生日期和详细信息。此外,每位患者都应该有体检的“历史记录”,包括他过去做过的任何事情的日期和细节。这只是让你大致了解一下情况

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

我说得对吗? 开发这样一个简单的软件,你有什么建议

谢谢。

您熟悉吗?他们有许多优秀的教程可以满足您的需要

以下是一些可能有帮助的方法:



请注意,如果在YouTube上观看,所有教程/视频都是免费的。Alex只收取代码的费用(如果你不想在观看示例时自己输入代码,这会节省时间),他接受捐赠

我从这个家伙那里学到了很多东西。欠他很多,捐了一点。你熟悉吗?他们有许多优秀的教程可以满足您的需要

以下是一些可能有帮助的方法:



请注意,如果在YouTube上观看,所有教程/视频都是免费的。Alex只收取代码的费用(如果你不想在观看示例时自己输入代码,这会节省时间),他接受捐赠


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

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

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

使用MySQL这样的数据库是非常好的,尤其是与创建自己的数据库相比,在这种情况下,创建自己的数据库将是重新发明轮子。大多数数据库软件都能很好地处理您希望做的事情(还有一些是免费的,包括MySQL)

我建议从一些简单的“了解MySQL”程序开始,以适应查询、插入等操作。在线上有几个优秀的教程(有一个)

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


如果你不是在截止日期前,这是一个极好的学习机会

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

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

使用MySQL这样的数据库是非常好的,尤其是与创建自己的数据库相比,在这种情况下,创建自己的数据库将是重新发明轮子。大多数数据库软件都能很好地处理您希望做的事情(还有一些是免费的,包括MySQL)

我建议从一些简单的“了解MySQL”程序开始,以适应查询、插入等操作。在线上有几个优秀的教程(有一个)

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


如果你不是在截止日期前,这是一个极好的学习机会

从这个简单的例子开始

插入数据

#!/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
检索数据

#!/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)

来源:

从这个简单的例子开始

插入数据

#!/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
检索数据

#!/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)

来源:

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

如果您正在使用这些技术,则可以使用以便使用flask的数据库或。我仍然建议您学习一点SQL(这是一种“数据库语言”),但是有了这些库,您就不需要编写自己的SQL查询了


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

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

如果您正在使用这些技术,则可以使用以便使用flask的数据库或。我仍然建议您学习一下SQL(这是