{"id":2014,"date":"2024-03-12T09:04:30","date_gmt":"2024-03-12T09:04:30","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/"},"modified":"2024-03-25T14:47:48","modified_gmt":"2024-03-25T14:47:48","slug":"how-to-use-databases-in-pyqt5","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/","title":{"rendered":"How to use databases in PyQt5?"},"content":{"rendered":"<p>Using databases in PyQt5 involves using Qt&#8217;s SQL module to connect and manipulate databases. Here is a simple example demonstrating how to connect to a SQLite database and execute queries in PyQt5.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">from<\/span> PyQt5 <span class=\"hljs-keyword\">import<\/span> QtSql\r\n\r\n<span class=\"hljs-comment\"># \u521b\u5efa\u6570\u636e\u5e93\u8fde\u63a5<\/span>\r\ndb = QtSql.QSqlDatabase.addDatabase(<span class=\"hljs-string\">'QSQLITE'<\/span>)\r\ndb.setDatabaseName(<span class=\"hljs-string\">'test.db'<\/span>)\r\n\r\n<span class=\"hljs-keyword\">if<\/span> <span class=\"hljs-keyword\">not<\/span> db.<span class=\"hljs-built_in\">open<\/span>():\r\n    <span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">'\u65e0\u6cd5\u6253\u5f00\u6570\u636e\u5e93\u8fde\u63a5'<\/span>)\r\n<span class=\"hljs-keyword\">else<\/span>:\r\n    query = QtSql.QSqlQuery()\r\n    query.exec_(<span class=\"hljs-string\">\"CREATE TABLE person (id INTEGER PRIMARY KEY, name TEXT)\"<\/span>)\r\n\r\n    <span class=\"hljs-comment\"># \u63d2\u5165\u6570\u636e<\/span>\r\n    query.exec_(<span class=\"hljs-string\">\"INSERT INTO person (name) VALUES ('Alice')\"<\/span>)\r\n    query.exec_(<span class=\"hljs-string\">\"INSERT INTO person (name) VALUES ('Bob')\"<\/span>)\r\n\r\n    <span class=\"hljs-comment\"># \u67e5\u8be2\u6570\u636e<\/span>\r\n    query.exec_(<span class=\"hljs-string\">\"SELECT * FROM person\"<\/span>)\r\n    <span class=\"hljs-keyword\">while<\/span> query.<span class=\"hljs-built_in\">next<\/span>():\r\n        <span class=\"hljs-built_in\">id<\/span> = query.value(<span class=\"hljs-number\">0<\/span>)\r\n        name = query.value(<span class=\"hljs-number\">1<\/span>)\r\n        <span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">f'id: <span class=\"hljs-subst\">{<span class=\"hljs-built_in\">id<\/span>}<\/span>, name: <span class=\"hljs-subst\">{name}<\/span>'<\/span>)\r\n\r\n    <span class=\"hljs-comment\"># \u5173\u95ed\u6570\u636e\u5e93\u8fde\u63a5<\/span>\r\n    db.close()\r\n<\/code><\/pre>\n<p>In this example, start by establishing a connection to a <a href=\"https:\/\/www.sqlite.org\/\">SQLite<\/a> database, then perform various database operations such as creating tables, inserting data, and querying data. Finally, close the database connection.<\/p>\n<p>It is important to note that PyQt5 provides the QtSql module for database operations, supporting various databases such as SQLite, MySQL, and PostgreSQL. When using different databases, it is necessary to adjust settings and operations accordingly based on the specific database type.<\/p>\n<p>&nbsp;<\/p>\n<p>More tutorials<\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/insertmany-function-for-bulk-insertion\/\" target=\"_blank\" rel=\"noopener\">insertMany function for bulk insertion into a MongoDB database.<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/what-operating-systems-does-pyqt5-support\/\" target=\"_blank\" rel=\"noopener\">What operating systems does PyQt5 support?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-add-a-menu-bar-in-pyqt5\/\" target=\"_blank\" rel=\"noopener\">How to add a menu bar in PyQt5?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-qthread-class-in-pyqt5\/\" target=\"_blank\" rel=\"noopener\">What is the purpose of the QThread class in PyQt5?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-create-a-file-dialog-in-pyqt5\/\" target=\"_blank\" rel=\"noopener\">How to create a file dialog in PyQt5?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using databases in PyQt5 involves using Qt&#8217;s SQL module to connect and manipulate databases. Here is a simple example demonstrating how to connect to a SQLite database and execute queries in PyQt5. from PyQt5 import QtSql # \u521b\u5efa\u6570\u636e\u5e93\u8fde\u63a5 db = QtSql.QSqlDatabase.addDatabase(&#8216;QSQLITE&#8217;) db.setDatabaseName(&#8216;test.db&#8217;) if not db.open(): print(&#8216;\u65e0\u6cd5\u6253\u5f00\u6570\u636e\u5e93\u8fde\u63a5&#8217;) else: query = QtSql.QSqlQuery() query.exec_(&#8220;CREATE TABLE person (id INTEGER [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-2014","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to use databases in PyQt5? - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Using databases in PyQt5 involves using Qt&#039;s SQL module to connect and manipulate databases. Here is a simple example demonstrating how to\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use databases in PyQt5?\" \/>\n<meta property=\"og:description\" content=\"Using databases in PyQt5 involves using Qt&#039;s SQL module to connect and manipulate databases. Here is a simple example demonstrating how to\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-12T09:04:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-25T14:47:48+00:00\" \/>\n<meta name=\"author\" content=\"Liam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\"},\"author\":{\"name\":\"Liam\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\"},\"headline\":\"How to use databases in PyQt5?\",\"datePublished\":\"2024-03-12T09:04:30+00:00\",\"dateModified\":\"2024-03-25T14:47:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\"},\"wordCount\":186,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\",\"name\":\"How to use databases in PyQt5? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-12T09:04:30+00:00\",\"dateModified\":\"2024-03-25T14:47:48+00:00\",\"description\":\"Using databases in PyQt5 involves using Qt's SQL module to connect and manipulate databases. Here is a simple example demonstrating how to\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use databases in PyQt5?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\",\"name\":\"Liam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"caption\":\"Liam\"},\"sameAs\":[\"http:\/\/Wilson\"],\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use databases in PyQt5? - Blog - Silicon Cloud","description":"Using databases in PyQt5 involves using Qt's SQL module to connect and manipulate databases. Here is a simple example demonstrating how to","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/","og_locale":"en_US","og_type":"article","og_title":"How to use databases in PyQt5?","og_description":"Using databases in PyQt5 involves using Qt's SQL module to connect and manipulate databases. Here is a simple example demonstrating how to","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-12T09:04:30+00:00","article_modified_time":"2024-03-25T14:47:48+00:00","author":"Liam","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Liam","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/"},"author":{"name":"Liam","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671"},"headline":"How to use databases in PyQt5?","datePublished":"2024-03-12T09:04:30+00:00","dateModified":"2024-03-25T14:47:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/"},"wordCount":186,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/","name":"How to use databases in PyQt5? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-12T09:04:30+00:00","dateModified":"2024-03-25T14:47:48+00:00","description":"Using databases in PyQt5 involves using Qt's SQL module to connect and manipulate databases. Here is a simple example demonstrating how to","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-databases-in-pyqt5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use databases in PyQt5?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671","name":"Liam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","caption":"Liam"},"sameAs":["http:\/\/Wilson"],"url":"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/2014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=2014"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/2014\/revisions"}],"predecessor-version":[{"id":72099,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/2014\/revisions\/72099"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=2014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=2014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=2014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}