⑴ 對python來說mysql和postgresql哪個好
python操作資料庫PostgreSQL
1.簡述
python可以操作多種資料庫,諸如SQLite、MySql、PostgreSQL等,這里不對所有的資料庫操作方法進行贅述,只針對目前
項目中用到的PostgreSQL做一下簡單介紹,主要包括python操作資料庫插件的選擇、安裝、簡單使用方法、測試連接資料庫成功。
2.資料庫操作插件的選擇
PostgreSQL至少有三個python介面程序可以實現訪問,包括PsyCopg、PyPgSQL、PyGreSQL(PoPy已經整合在PyGreSQL中),三個介面程序各有利弊,需要根據實踐選擇最適合項目的方式。
推薦使用PsyCopg,對python開發框架的兼容性都很好,本文中我們只討論這個插件。
3.PsyCopg的下載
官網下載psycopg2-2.5.1.tar.gz:http://initd.org/psycopg/
本文使用windows系統開發,未使用官網版本,選擇psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe版,地址:http://vdisk.weibo.com/s/Cd8pPaw56Ozys
4.PsyCopg的安裝
直接exe,根據提示安裝即可.
5.PsyCopg的使用
py文件代碼:
__author__ = 'qiongmiaoer'
import psycopg2
# 資料庫連接參數
conn = psycopg2.connect(database="platoon", user="postgres", password="postgres", host="192.168.10.80", port="5432")
cur = conn.cursor()
cur.execute("CREATE TABLE test(id serial PRIMARY KEY, num integer,data varchar);")
# insert one item
cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (1, 'aaa'))
cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (2, 'bbb'))
cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (3, 'ccc'))
cur.execute("SELECT * FROM test;")
rows = cur.fetchall() # all rows in table
print(rows)
for i in rows:
print(i)
conn.commit()
cur.close()
conn.close()
可參考psycopg官方文檔,介紹postgresql的使用
http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries
6. 輸出結果
"C:\Program Files (x86)\Python275\python.exe" E:/PycharmProjects/psycopgPyCharm/xiaoyu/temp.py
[(1, 1, 'aaa'), (2, 2, 'bbb'), (3, 3, 'ccc')]
(1, 1, 'aaa')
(2, 2, 'bbb')
(3, 3, 'ccc')
Process finished with exit code 0
7.分析
在插件psyCopg安裝後,在python命令下import
psycopg2,即可使用psycopg2中的方法對資料庫,根據測試結果的輸出可以看到我們成功地連接到了資料庫,創建了名為test的table,
添加了三條數據,並成功讀取和輸出數據,最後將查詢到的數據輸出print出來。
ps:
項目環境
windows8
python2.7.5
pyCharm2.7.3(開發環境)
psycopg2-2.4.2(插件)
⑵ 常見的資料庫管理系統軟體有哪些
資料庫管理系統軟體的種類有很多,常用的資料庫管理系統軟體也那麼三五種:ORACLE、MySQL、ACCESS、MS SQL Server這些是不同領域常用的資料庫管理系統軟體。
1、Oracle
Oracle系統,即是以Oracle關系資料庫為數據存儲和管理作為構架基礎,構建出的資料庫管理系統。Oracle,世界第一個支持SQL語言的商業資料庫,定位於高端工作站,以及作為伺服器的小型計算機。
(2)qt庫和mysql資料庫哪個好擴展閱讀:
資料庫管理系統主要功能
1、數據定義:DBMS提供數據定義語言DDL(Data Definition Language),供用戶定義資料庫的三級模式結構、兩級映像以及完整性約束和保密限制等約束。DDL主要用於建立、修改資料庫的庫結構。
2、數據操作:DBMS提供數據操作語言DML(Data Manipulation Language),供用戶實現對數據的追加、刪除、更新、查詢等操作。
3、資料庫的運行管理:資料庫的運行管理功能是DBMS的運行控制、管理功能,包括多用戶環境下的並發控制、安全性檢查和存取限制控制、完整性檢查和執行、運行日誌的組織管理、事務的管理和自動恢復,即保證事務的原子性。這些功能保證了資料庫系統的正常運行。
⑶ 資料庫軟體都有那些
企業里常用的資料庫軟體有Mysql、PostgreSQL、Microsoft SQL Server、Oracle資料庫、MongoDB。
1、Mysql。
MySQL原本是一個開放源碼的關系資料庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被升陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統公司,MySQL成為Oracle旗下產品。
MySQL由於性能高、成本低、可靠性好,已經成為最流行的開源資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用。
2、PostgreSQL。
PostgreSQL 可以說是目前功能最強大、特性最豐富和結構最復雜的開源資料庫管理系統,其中有些特性甚至連商業資料庫都不具備。這個起源於加州大學伯克利分校的資料庫,現已成為一項國際開發項目,並且擁有廣泛的用戶群,尤其是在海外,目前國內使用者也越來越多。
PostgreSQL 基本上算是見證了整個資料庫理論和技術的發展歷程,由 UCB 計算機教授 Michael Stonebraker 於 1986 年創建。在此之前,Stonebraker 教授主導了關系資料庫 Ingres 研究項目,88 年,提出了 Postgres 的第一個原型設計。
MySQL 號稱是使用最廣泛的開源資料庫,而 PG 則被稱為功能最強大的開源資料庫。
3、Microsoft SQL Server。
SQL Server 是 Microsoft 開發的一個關系資料庫管理系統(RDBMS),現在是世界上最為常用的資料庫。SQL Server現在是包括內置的商務智能工具,以及一系列的分析和報告工具,可以創建資料庫、備份、復制、安全性更好以及更多。
SQL Server 是一個高度可擴展的產品,可以從一個單一的筆記本電腦上運行的任何東西或以高倍雲伺服器網路,或在兩者之間任何東西。雖然說是「任何東西」,但是仍然要滿足相關的軟體和硬體的要求。
4、Oracle資料庫。
Oracle資料庫系統是美國Oracle(甲骨文)公司提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(Client/Server,C/S)或瀏覽器/伺服器(Browser/Server,B/S)體系結構的資料庫之一。
Oracle資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。
5、MongoDB
mongoDB是一個介於關系資料庫和非關系資料庫之間的開源產品,是最接近於關系型資料庫的NoSQL資料庫。它在輕量級JSON交換基礎之上進行了擴展,即稱為BSON的方式來描述其無結構化的數據類型。盡管如此它同樣可以存儲較為復雜的數據類型。
參考資料來源:網路——Mysql
參考資料來源:網路——PostgreSQL
參考資料來源:網路——Microsoft SQL Server
參考資料來源:網路——Oracle資料庫
參考資料來源:網路——MongoDB
⑷ SQL Server資料庫和MySQL資料庫有什麼區別
1,優點分析:MYSQL短小精悍,容易上手,操作簡單,免費供用的。相對其它資料庫有特色又實用的語法多一些。SQL怎麼也算是大型資料庫,穩定,能做一般大系統的數據倉庫,運行速度明顯比MYSQL快N多(海量數據下這個優勢顯而易見)。
2,缺點分析:MYSQL難擔當大系統的數據倉庫,運行速度慢,不夠穩定,有掉線的情況。SQLSERVER價格貴(當然沒說5元盜版),使用起來比MYSQL要難一些,畢竟東西大了說道多點。
3,按你的補充(如何登錄)耐梁皮:MySQL自己有文字界面客戶端,用起來咋說也沒滑鼠點方便(不過習慣了也好),當然配對MYSQL有專業的客戶端軟體,我是用SQLYOG519版的,各種操作真的是很方便的說。SQLSERVER 就用自帶的查詢分析器登錄了:)兩者的前提是資料庫服務都帶打開,而且你得知道安裝時的用戶名密碼哦:)
對於程序開發人員而言,目前使用最流行的兩種後台資料庫即為MySQL and SQLServer。這兩者最基本的相似之處在於數據存儲和屬於查詢系統。你可以使用SQL來訪問這兩種資料庫的數據,因為它們都支持ANSI-SQL。還有,這兩種資料庫系統都支持二進制關鍵詞和關鍵索引,這就大大地加快了查詢速度。同時,二者也都提供支持XML的各種格式。除了在顯而易見的軟體價格上的區別之外,這兩個產品還有什麼明顯的區別嗎?在這二者之間你是如何選擇的?讓我們看看這兩個產品的主要的不同之處,包括發行費用,性能以及它們的安全性。
根本的區別是它們遵循的基本原則
二者所遵循的基本原則是它們的主要區別:開放vs保守。SQL伺服器的狹隘的,保守的存儲引擎與MySQL伺服器的可擴展,開放的存儲引擎絕然不同。雖然你可以使用SQL伺服器的Sybase引擎,但MySQL能夠提供更多種的選擇,如MyISAM,Heap, InnoDB, and BerkeleyDB。MySQL不完全支持陌生的關鍵詞,所以它比SQL伺服器要少一些相關的資料庫。同時,MySQL也缺乏一些存儲程序的功能,比如MyISAM引擎聯支持交換功能。
發行費用:MySQL不全是免費,但很便宜
當提及發行的費用,這兩個產品採用兩種絕然不同的決策。對於SQL伺服器,獲取一個免費的開發費用最常的方式是購買微軟的Office或者VisualStudio的費用。但是,如果你想用於商業產品的開發,你必須還要購買SQL Server StandardEdition。學校或非贏利的企業可以不考慮這一附加的費用。
性能:先進的MySQL
純粹就性能而言,MySQL是相當出色的,因為它包含一個預設桌面格式MyISAM。MyISAM資料庫與磁碟非常地兼容而不佔用過多的CPU和內存。MySQL可以運行於Windows系統而不會發生沖突,在UNIX或類似UNIX系統上運行則昌差更好。你還可以通過使用64位處理器來獲取額外的一些性能。因為MySQL在內部里很多時候都使用64位的整數處理。Yahoo!商業網站就使用MySQL作為後台資料庫。
當提及軟體的性能,SQL伺服器的穩定性要比它的競爭對手強很多。但是,這些特性也要付出代價的。比如,必須增加額外復雜操作,磁碟存儲,內存損耗等等。如果你的硬體和軟體不能充分支持SQL伺服器,我建議你渣悉最好選擇其他如DBMS資料庫,因為這樣你會得到更好的結果。
安全功能
MySQL有一個用於改變數據的二進制日誌。因為它是二進制,這一日誌能夠快速地從主機上復制數據到客戶機上。即使伺服器崩潰,這一二進制日誌也會保持完整,而且復制的部分也不會受到損壞。
在SQL伺服器中,你也可以記錄SQL的有關查詢,但這需要付出很高的代價。
安全性
這兩個產品都有自己完整的安全機制。只要你遵循這些安全機制,一般程序都不會出現什麼問題。這兩者都使用預設的IP埠,但是有時候很不幸,這些IP也會被一些黑客闖入。當然,你也可以自己設置這些IP埠。
恢復性:先進的SQL伺服器
恢復性也是MySQL的一個特點,這主要表現在MyISAM配置中。這種方式有它固有的缺欠,如果你不慎損壞資料庫,結果可能會導致所有的數據丟失。然而,對於SQL伺服器而言就表現得很穩鍵。SQL伺服器能夠時刻監測數據交換點並能夠把資料庫損壞的過程保存下來。
根據需要決定你的選擇
對於這兩種資料庫,如果非要讓我說出到底哪一種更加出色,也許我會讓你失望。以我的觀點,任一對你的工作有幫助的資料庫都是很好的資料庫,沒有哪一個資料庫是絕對的出色,也沒有哪一個資料庫是絕對的差勁。我想要告訴你的是你應該多從你自己的需要出發,即你要完成什麼樣的任務?而不要單純地從軟體的功能出發。
如果你想建立一個.NET伺服器體系,這一體系可以從多個不同平台訪問數據,參與資料庫的管理,那麼你可以選用SQL伺服器。如果你想建立一個第三方站點,這一站點可以從一些客戶端讀取數據,那麼MySQL將是最好的選擇。
⑸ 用qt庫做設計用mysql資料庫好還是用sqlserver好
都很強大,具體選用哪個跟你用資料庫的需求以及使用環境等有關。如果你的編程環境是微軟windows伺服器,使用微軟系的編程語言,比如C#、VB等,那麼sql server肯定是首選;如果你對資料庫的企業化要求非常高,比如非常完善的日誌管理、sql代碼優化等,oracle這方面做的不錯;如果你是用php等來做輕量級網站編程,mysql則是非常好的搭檔,php自帶的mysqli工具包對操作mysql來說非常方便。
另外,從好學不好學這個角度來說的話,想入門都很好學,想精通都得下一番功夫!