您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“MySQL數據庫如何安裝與配置”,內容詳細,步驟清晰,細節處理妥當,希望這篇“MySQL數據庫如何安裝與配置”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
PyMySQL
是在Python3.x
版本中用于連接MySQL
服務器的一個庫,Python2
中使用mysqldb
。PyMySql
遵循Python數據庫API v2.0
的規范,并包含了pure-Python MySQL
客戶端庫。
$ pip install pymysql
在用PyMySQL
連接MySQL
數據庫之前,請確保MySQL
數據庫安裝配置完成,具體如何安裝與配置MySQL
數據庫,請參考 MySQL 安裝 和 MySQL 管理。
import pymysql # 數據庫服務器名 HOSTNAME = 'node05' # 數據庫用戶名 USER = 'root' # 數據庫名 DATABASE = 'cayman' # 數據庫密碼 PASSWORD = 'Love88me' # 打開數據庫連接 conn = pymysql.connect(HOSTNAME, USER, PASSWORD, DATABASE) # 使用cursor()方法創建一個游標對象 cursor = conn.cursor() # 使用execute()方法執行SQL查詢語句 cursor.execute("select VERSION()") # 使用fetchone()查詢單條數據 data = cursor.fetchone() print(f"Database Version: {data}") # 關閉數據庫連接 conn.close()
import pymysql # 設置數據庫配置項 HOSTNAME = 'node05' USERNAME = 'root' PASSWORD = 'Love88me' DATABASE = 'cayman' # 打開數據庫連接 db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE) # 使用cursor對象創建一個流標對象 cursor = db.cursor() # 使用execute()方法執行SQL, 如果表存在則刪除 cursor.execute("DROP TABLE IF EXISTS employee") # 使用預處理語句創建表 sql = """ CREATE TABLE employee( id bigint primary key auto_increment, user_name varchar(50) not null, age int, sex char(1), income float ) """ # 執行sql語句 cursor.execute(sql) # 關閉數據庫連接 db.close()
import pymysql # 設置數據庫配置項 HOSTNAME = 'node05' USERNAME = 'root' PASSWORD = 'Love88me' DATABASE = 'cayman' # 打開數據庫連接 db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE) # 使用cursor對象創建一個流標對象 cursor = db.cursor() # SQL語句 sql = """ insert into employee(user_name, age, sex, income) values ('風清揚', 64, '男', 22000); """ try: # 執行sql語句 cursor.execute(sql) # 提交 db.commit() except: # 如果發生錯誤就回滾 db.rollback() # 關閉數據庫連接 db.close()
import pymysql # 設置數據庫配置項 HOSTNAME = 'node05' USERNAME = 'root' PASSWORD = 'Love88me' DATABASE = 'cayman' # 打開數據庫連接 db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE) # 使用cursor對象創建一個流標對象 cursor = db.cursor() # SQL語句 sql = " insert into employee(user_name, age, sex, income) values (%s, %s, %s, %s)" data = ( ('風清揚', 64, '男', 22000), ('令狐沖', 22, '男', 14000), ('任盈盈', 20, '男', 10000), ('東方不敗', 32, '男', 18000), ('任我行', 56, '男', 17000), ('段譽', 33, '男', 19000), ('王語嫣', 26, '女', 9000), ('木婉清', 23, '女', 6000), ('喬峰', 38, '男', 23000), ('阿朱', 24, '女', 5000), ('阿紫', 22, '女', 5500), ('虛竹', 35, '男', 11000), ('夢姑', 25, '女', 6500), ('梅超風', 41, '女', 15000), ('陳玄風', 44, '男', 12000), ('楊過', 28, '男', 24000), ('小龍女', 38, '女', 15000), ('鳩摩智', 44, '男', 16000) ) try: # 執行sql語句 cursor.executemany(sql, data) # 提交 db.commit() except: # 如果發生錯誤就回滾 db.rollback() # 關閉數據庫連接 db.close()
Python
查詢MySQL
使用fetchone()
獲取單條數據,使用fetchall()
方法獲取多條數據。
fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
fetchall(): 接收全部的返回結果行;
rowcount(): 這是一個只讀屬性,并返回執行execute()方法后影響的行數。
查詢employee
表中income
(工資)大于20000的所有數據
# 1.查詢employee表中工資大于20000的員工信息 import pymysql # 設置數據庫配置項 HOSTNAME = 'node05' USERNAME = 'root' PASSWORD = 'Love88me' DATABASE = 'cayman' # 打開數據庫連接 db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE) # 使用cursor對象創建一個流標對象 cursor = db.cursor() # 查詢語句 sql = "select * from employee where income >'%d' "%(20000) try: # 執行sql語句 cursor.execute(sql) # 獲取所有滿足條件的列表 ret = cursor.fetchall() # 遍歷打印結果 for row in ret: user_name = row[1] age = row[2] sex = row[3] income = row[4] print(f"員工: {user_name},年齡: {age}, 性別: {sex}, 工資: {income}") except: print("無滿足條件的數據或查詢出錯!!") # 關閉數據庫連接 db.close()
import pymysql # 設置數據庫配置項 HOSTNAME = 'node05' USERNAME = 'root' PASSWORD = 'Love88me' DATABASE = 'cayman' # 打開數據庫連接 db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE) # 使用cursor對象創建一個流標對象 cursor = db.cursor() # 更新語句 sql = "update employee set income=income+income*0.1 where sex='%c'"%('女') try: # 執行SQL語句 cursor.execute(sql) # 提交 db.commit() except: # 發生錯誤時回滾 db.rollback() # 關閉數據庫 db.close()
import pymysql # 設置數據庫連接信息 HOSTNAME = 'node05' USERNAME = 'root' PASSWORD = 'Love88me' DATABASE = 'cayman' # 打開數據庫連接 db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE) # 使用cursor()方法獲取游標 cursor = db.cursor() # 構建刪除數據SQL語句 sql = "delete from employee where user_name = '%s'"%('鳩摩智') try: # 執行sql語句 cursor.execute(sql) # 提交 db.commit() except: # 發生異常時回滾 db.rollback() # 關閉數據庫連接 db.close()
在數據庫操作中,事務機制可以保證數據的一致性。最基本的事務應當具備4個屬性: 原子性、一致性、隔離性、和持久性。這四個屬性被稱作ACID
特性。
原子性(Atomicity): 一個事務是一個不可分割的工作單位,事務中包括的諸操作要么都做,要么都不做。
一致性(Consistency): 事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(Isolation): 一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對并發的其他事務是隔離的,并發執行的各個事務之間不能互相干擾。
持久性(Durability): 持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
Python DB API 2.0
的事務提供了兩個方法commit
和rollback
。對于支持事務的數據庫編程中,當流標建立時,就自動開啟了一個隱形的數據庫事務。
讀到這里,這篇“MySQL數據庫如何安裝與配置”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。