Python教程:如何创建数据库表 (python 创建数据库表)

Python是一种高级编程语言,被广泛应用于许多领域。数据库是一个重要的组成部分,用于存储和操作数据。创建数据库表是数据库管理的重要方面之一,本文将介绍如何使用Python创建数据库表。

1.什么是数据库表

在关系数据库管理系统(RDBMS)中,数据库是由表组成的。表是一组相关数据的,可以通过行和列来组织和表示数据。每个表都有一个唯一的名称,由一个或多个列组成。每个列定义了表中数据的特性。

例如,一个用户表可能包含名称、地址和号码列。每行代表一个用户,并包含该用户的特定数据。

2.创建数据库

在创建数据库表之前,需要创建一个数据库。可以使用Python内置的sqlite3模块来创建和连接到SQLite数据库。SQLite是一个轻量级的RDBMS,非常适合小型应用程序和嵌入式设备。

以下是创建和连接到SQLite数据库的示例代码:

“`python

import sqlite3

# 连接到数据库

conn = sqlite3.connect(‘example.db’)

# 创建一个游标对象

cursor = conn.cursor()

# 关闭数据库连接

conn.close()

“`

此代码连接到名为“example.db”的数据库,并创建一个游标对象。游标是一种从数据库中检索和操作数据的对象。关闭连接以释放资源。

3.创建表

一旦连接到数据库,就可以使用游标对象创建表。表是使用CREATE TABLE语句创建的,可以按以下方式指定列和列的特性:

“`python

import sqlite3

# 连接到数据库

conn = sqlite3.connect(‘example.db’)

# 创建一个游标对象

cursor = conn.cursor()

# 创建一个表

cursor.execute(”’CREATE TABLE users

(name TEXT, address TEXT, phone TEXT)”’)

# 关闭数据库连接

conn.close()

“`

此代码创建一个名为“ users”的表,并定义三个列:名称、地址和号码。在SQLite中,列的数据类型是动态的,即不需要明确指定类型。在此示例中,每个列都可以存储文本(TEXT)数据。

4.插入数据

一旦创建了表,就可以插入数据。可以使用INSERT INTO语句将数据插入表中。以下是一个示例代码:

“`python

import sqlite3

# 连接到数据库

conn = sqlite3.connect(‘example.db’)

# 创建一个游标对象

cursor = conn.cursor()

# 插入数据

cursor.execute(“INSERT INTO users VALUES (‘John Doe’, ‘123 Mn St’, ‘555-5555’)”)

# 提交更改

conn.commit()

# 关闭数据库连接

conn.close()

“`

此代码将一个名为“ John Doe”的新用户插入到用户表中。行数据是作为VALUES子句中的文本指定的。调用commit()方法将更改写入数据库中。

5.查询数据

一旦数据入到表中,就可以使用SELECT语句检索数据。可以使用游标对象执行SELECT语句,并使用fetchall()方法检索所有匹配行的数据。以下是一个示例代码:

“`python

import sqlite3

# 连接到数据库

conn = sqlite3.connect(‘example.db’)

# 创建一个游标对象

cursor = conn.cursor()

# 查询数据

cursor.execute(“SELECT * FROM users”)

# 检索所有匹配行

rows = cursor.fetchall()

for row in rows:

print(row)

# 关闭数据库连接

conn.close()

“`

此代码将检索用户表中的所有用户,并循环打印每个匹配行。fetchall()方法返回一个元组列表,其中每个元组包含一行数据的值。

Python是一种允许开发人员轻松创建数据库表的伟大编程语言。通过创建和连接到数据库,创建表,插入数据和查询数据,可以将Python用于许多应用程序中的数据库管理。本文介绍了如何使用内置的sqlite3模块创建和管理SQLite数据库表的基础知识。

相关问题拓展阅读:

求助用python从数据库取数据动态生成表格的方法

一、可使用的第三方库

python中处理excel表格,常用的库有xlrd(读excel)表、xlwt(写excel)表、openpyxl(可读写excel表)等。xlrd读数据较大的excel表时效率高于openpyxl,所以我在写脚燃扰明本时就采用了xlrd和xlwt这两个库。介绍及下载地址为:

这些库文件都没有提供修改现有excel表格内容的功皮告能。一般只能将原excel中的内容读出、做完处理后,再写入一个新的excel文件。

二、常见问题

使用python处理excel表格时,发现两个个比较难缠的问题:unicode编码和excel中记录的时间。

因为python的默认字符编码都为unicode,所以打印从excel中读出的中文或读取中文名的excel表或sheet时,程序提示错误UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-2: ordinal not in range(128)。这是由于在windows中,中文使用了gb2312编码方式,python将其当作unicode和ascii来解码都不正确才报出的错误。使用VAR.encode(‘gb2312’)即可解决打印中文的问题。(很奇怪,有的时候虽然能打印出结果,但显示的不是中文,而是一堆编码。)若要从中文文件名的excel表李缺中读取数据,可在文件名前加‘u’表示将该中文文件名采用unicode编码。

有excel中,时间和日期都使用浮点数表示。可看到,当‘2023年3月20日’所在单元格使用‘常规’格式表示后,内容变为‘41353’;当其单元格格式改变为日期后,内容又变为了‘2023年3月20日’。而使用xlrd读出excel中的日期和时间后,得到是的一个浮点数。所以当向excel中写入的日期和时间为一个浮点数也不要紧,只需将表格的表示方式改为日期和时间,即可得到正常的表示方式。excel中,用浮点数1表示1899年12月31日。

三、常用函数

以下主要介绍xlrd、xlwt、datetime中与日期相关的函数。

import xlrd

import xlwt

from datetime

def testXlrd(filename):

book=xlrd.open_workbook(filename)

sh=book.sheet_by_index(0)

print “Worksheet name(s): “,book.sheet_names()

print ‘book.nsheets’,book.nsheets

print ‘sh.name:’,sh.name,’sh.nrows:’,sh.nrows,’sh.ncols:’,sh.ncols

print ‘A1:’,sh.cell_value(rowx=0,colx=1)

#如果A3的内容为中文

print ‘A2:’,sh.cell_value(0,2).encode(‘gb2312’)

def testXlwt(filename):

book=xlwt.Workbook()

sheet1=book.add_sheet(‘hello’)

book.add_sheet(‘word’)

sheet1.write(0,0,’hello’)

sheet1.write(0,1,’world’)

row1 = sheet1.row(1)

row1.write(0,’A2′)

row1.write(1,’B2′)

sheet1.col(0).width = 10000

sheet2 = book.get_sheet(1)

sheet2.row(0).write(0,’Sheet 2 A1′)

sheet2.row(0).write(1,’Sheet 2 B1′)

sheet2.flush_row_data()

sheet2.write(1,0,’Sheet 2 A3′)

sheet2.col(0).width = 5000

sheet2.col(0).hidden = True

book.save(filename)

if __name__==’__main__’:

testXlrd(u’你好。xls’)

testXlwt(‘helloWord.xls’)

base=datetime.date(1899,12,31).toordinal()

tmp=datetime.date(2023,07,16).toordinal()

python 创建数据库表的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python 创建数据库表,Python教程:如何创建数据库表,求助用python从数据库取数据动态生成表格的方法的信息别忘了在本站进行查找喔。


数据运维技术 » Python教程:如何创建数据库表 (python 创建数据库表)