操作mysql數據庫實例(mysql 數據庫實例)

本文目錄一覽:

掌握Python 操作 MySQL 數據庫

本文Python 操作 MySQL 數據庫需要是使用到 PyMySQL 驅動

Python 操作 MySQL 前提是要安裝好 MySQL 數據庫並能正常連接使用,安裝步驟詳見下文。

注意: 安裝過程我們需要通過開啟管理員權限來安裝,否則會由於權限不足導致無法安裝。

首先需要先下載 MySQL 安裝包, 官網下載地址 下載對應版本即可,或直接在網上拉取並安裝:

權限設置:

初始化 MySQL:

啟動 MySQL:

查看 MySQL 運行狀態:

Mysql安裝成功後,默認的root用戶密碼為空,你可以使用以下命令來創建root用戶的密碼:

登陸:

創建數據庫:

查看數據庫:

PyMySQL 模塊使用 pip命令進行安裝:

假如系統不支持 pip 命令,可以使用以下方式安裝:

pymysql .connect 函數:連接上數據庫

輸出結果顯示如下:表面數據庫連接成功

使用 pymysql 的 connect() 方法連接數據庫,connect 參數解釋如下:

conn.cursor():獲取游標

如果要操作數據庫,光連接數據是不夠的,咱們必須拿到操作數據庫的游標,才能進行後續的操作,游標的主要作用是用來接收數據庫操作後的返回結果,比如讀取數據、添加數據。通過獲取到的數據庫連接實例 conn 下的 cursor() 方法來創建游標,實例如下:

輸出結果為:

cursor 返回一個游標實例對象,其中包含了很多操作數據的方法,如執行sql語句,sql 執行命令: execute() 和 executemany()

execute(query,args=None):

executemany(query,args=None):

其他游標對象如下表:

完整數據庫連接操作實例如下:

以上結果輸出為:

創建表代碼如下:

如下所示數據庫表創建成功:

插入數據實現代碼:

插入數據結果:

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。

查詢數據代碼如下:

輸出結果:

DB API中定義了一些數據庫操作的錯誤及異常,下表列出了這些錯誤和異常:

本文給大家介紹 Python 如何連接 Mysql 進行數據的增刪改查操作,文章通過簡潔的代碼方式進行示例演示,給使用 Python 操作 Mysql 的工程師提供支撐。

怎麼用python鏈接和操作mysql數據庫

你可以訪問Python數據庫接口及API查看詳細的支持數據庫列表。不同的數據庫你需要下載不同的DB API模塊,例如你需要訪問Oracle數據庫和Mysql數據,你需要下載Oracle和MySQL數據庫模塊。

DB-API 是一個規範. 它定義了一系列必須的對象和數據庫存取方式, 以便為各種各樣的底層數據庫系統和多種多樣的數據庫接口程序提供一致的訪問接口 。

Python的DB-API,為大多數的數據庫實現了接口,使用它連接各數據庫後,就可以用相同的方式操作各數據庫。

Python DB-API使用流程:

引入 API 模塊。

獲取與數據庫的連接。

執行SQL語句和存儲過程。

關閉數據庫連接。

什麼是MySQLdb?

MySQLdb 是用於Python鏈接Mysql數據庫的接口,它實現了 Python 數據庫 API 規範 V2.0,基於 MySQL C API 上建立的。

如何安裝MySQLdb?

為了用DB-API編寫MySQL腳本,必須確保已經安裝了MySQL。複製以下代碼,並執行:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

如果執行後的輸出結果如下所示,意味着你沒有安裝 MySQLdb 模塊:

Traceback (most recent call last):

File “test.py”, line 3, in module

import MySQLdb

ImportError: No module named MySQLdb

安裝MySQLdb,請訪問 ,(Linux平台可以訪問:)從這裡可選擇適合您的平台的安裝包,分為預編譯的二進制文件和源代碼安裝包。

如果您選擇二進制文件發行版本的話,安裝過程基本安裝提示即可完成。如果從源代碼進行安裝的話,則需要切換到MySQLdb發行版本的頂級目錄,並鍵入下列命令:

$ gunzip MySQL-python-1.2.2.tar.gz

$ tar -xvf MySQL-python-1.2.2.tar

$ cd MySQL-python-1.2.2

$ python setup.py build

$ python setup.py install

注意:請確保您有root權限來安裝上述模塊。

數據庫連接

連接數據庫前,請先確認以下事項:

您已經創建了數據庫 TESTDB.

在TESTDB數據庫中您已經創建了表 EMPLOYEE

EMPLOYEE表字段為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。

連接數據庫TESTDB使用的用戶名為 “testuser” ,密碼為 “test123”,你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql數據庫用戶授權請使用Grant命令。

在你的機子上已經安裝了 Python MySQLdb 模塊。

如果您對sql語句不熟悉,可以訪問我們的 SQL基礎教程

實例:

以下實例鏈接Mysql的TESTDB數據庫:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# 使用execute方法執行SQL語句

cursor.execute(“SELECT VERSION()”)

# 使用 fetchone() 方法獲取一條數據庫。

data = cursor.fetchone()

print “Database version : %s ” % data

# 關閉數據庫連接

db.close()

執行以上腳本輸出結果如下:

Database version : 5.0.45

創建數據庫表

如果數據庫連接存在我們可以使用execute()方法來為數據庫創建表,如下所示創建表EMPLOYEE:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# 如果數據表已經存在使用 execute() 方法刪除表。

cursor.execute(“DROP TABLE IF EXISTS EMPLOYEE”)

# 創建數據表SQL語句

sql = “””CREATE TABLE EMPLOYEE (

FIRST_NAME CHAR(20) NOT NULL,

LAST_NAME CHAR(20),

AGE INT,

SEX CHAR(1),

INCOME FLOAT )”””

cursor.execute(sql)

# 關閉數據庫連接

db.close()

數據庫插入操作

以下實例使用執行 SQL INSERT 語句向表 EMPLOYEE 插入記錄:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# SQL 插入語句

sql = “””INSERT INTO EMPLOYEE(FIRST_NAME,

LAST_NAME, AGE, SEX, INCOME)

VALUES (‘Mac’, ‘Mohan’, 20, ‘M’, 2000)”””

try:

# 執行sql語句

cursor.execute(sql)

# 提交到數據庫執行

db.commit()

except:

# Rollback in case there is any error

db.rollback()

# 關閉數據庫連接

db.close()

以上例子也可以寫成如下形式:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# SQL 插入語句

sql = “INSERT INTO EMPLOYEE(FIRST_NAME, \

LAST_NAME, AGE, SEX, INCOME) \

VALUES (‘%s’, ‘%s’, ‘%d’, ‘%c’, ‘%d’ )” % \

(‘Mac’, ‘Mohan’, 20, ‘M’, 2000)

try:

# 執行sql語句

cursor.execute(sql)

# 提交到數據庫執行

db.commit()

except:

# 發生錯誤時回滾

db.rollback()

# 關閉數據庫連接

db.close()

實例:

以下代碼使用變量向SQL語句中傳遞參數:

…………………………….

user_id = “test123”

password = “password”

con.execute(‘insert into Login values(“%s”, “%s”)’ % \

(user_id, password))

…………………………….

數據庫查詢操作

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。

fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象

fetchall():接收全部的返回結果行.

rowcount: 這是一個只讀屬性,並返回執行execute()方法後影響的行數。

實例:

查詢EMPLOYEE表中salary(工資)字段大於1000的所有數據:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# SQL 查詢語句

sql = “SELECT * FROM EMPLOYEE \

WHERE INCOME ‘%d'” % (1000)

try:

# 執行SQL語句

cursor.execute(sql)

# 獲取所有記錄列表

results = cursor.fetchall()

for row in results:

fname = row[0]

lname = row[1]

age = row[2]

sex = row[3]

income = row[4]

# 打印結果

print “fname=%s,lname=%s,age=%d,sex=%s,income=%d” % \

(fname, lname, age, sex, income )

except:

print “Error: unable to fecth data”

# 關閉數據庫連接

db.close()

以上腳本執行結果如下:

fname=Mac, lname=Mohan, age=20, sex=M, income=2000

數據庫更新操作

更新操作用於更新數據表的的數據,以下實例將 TESTDB表中的 SEX 字段全部修改為 ‘M’,AGE 字段遞增1:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# SQL 更新語句

sql = “UPDATE EMPLOYEE SET AGE = AGE + 1

WHERE SEX = ‘%c'” % (‘M’)

try:

# 執行SQL語句

cursor.execute(sql)

# 提交到數據庫執行

db.commit()

except:

# 發生錯誤時回滾

db.rollback()

# 關閉數據庫連接

db.close()

刪除操作

刪除操作用於刪除數據表中的數據,以下實例演示了刪除數據表 EMPLOYEE 中 AGE 大於 20 的所有數據:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打開數據庫連接

db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )

# 使用cursor()方法獲取操作游標

cursor = db.cursor()

# SQL 刪除語句

sql = “DELETE FROM EMPLOYEE WHERE AGE ‘%d'” % (20)

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。

python連接MySQL數據庫實例分析

python連接MySQL數據庫實例分析

本文實例講述了python連接MySQL數據庫的方法。分享給大家供大家參考。具體實現方法如下:

import MySQLdb

conn = MySQLdb.connect(host=”localhost”,

user=”root”,

passwd=”123456″,

db=”test”)

cursor = conn.cursor()

cursor.execute(“select * from hard”)

res = cursor.fetchall()

for x in res:

print x

cursor.close()

conn.close()

運行結果如下:

希望本文所述對大家的python程序設計有所幫助。

mysql安裝後怎麼使用

在我們日常生活中偶爾會遇到一些自己不知道如何解決的問題,比如使用安裝好的mysql。那麼我們應該怎樣解決這種自己不知道如何使用安裝好的mysql的情況呢?那麼接下來就由我來介紹一下使用安裝好的mysql的步驟吧。

本次操作以Dell電腦為例,具體操作步驟如下:

第一步:

首先,打開MySQLWorkbench,雙擊打開即可。打開後的界面如下所示,然後選擇數據庫實例,雙擊進行登錄。圖中數據庫的實例是LocalinstanceMYSQL57

第二步:

然後,輸入用戶名和密碼進行登錄。如下圖所示:

第三步:

登錄成功後,界面如下所示。其中,區域1顯示的是數據庫服務器中已經創建的數據庫列表。區域2是關於數據庫的操作列表。區域三是sql的編輯器和執行環境,區域4是執行結果的列表

第四步:

在sql的編輯器中輸入測試語句,如圖所示,其中world數據庫是mysql自帶的測試數據庫,然後選擇執行(或者使用快捷鍵ctrl+enter)。執行成功後,查詢結果會顯示在下面的列表中。

第五步:

使用完畢後,直接退出,並且如果無需數據庫的後繼操作的話,記得關掉MySQL的服務

看了我的方法,現在你學會如何使用安裝好的mysql了嗎?學會了的話就快快把這個方法分享出去,讓更多的人知道如何使用安裝好的mysql。以上就是使用安裝好的mysql的步驟。

本文章基於Dell品牌、Windows10系統撰寫的。

nodejs簡單訪問及操作mysql數據庫的方法示例

本文實例講述了nodejs簡單訪問及操作mysql數據庫的方法。分享給大家供大家參考,具體如下:

var

mysql

=

require(‘mysql’);

//調用MySQL模塊

mysql模塊要安裝

$

npm

install

mysql

//創建一個connection

var

connection

=

mysql.createConnection({

host

:

‘127.0.0.1’,

//主機

user

:

‘root’,

//MySQL認證用戶名

password

:

”,

//MySQL認證用戶密碼

port:

‘3306’,

//端口號

database:”

//數據庫名

});

//創建一個connection

connection.connect(function(err){

if(err){

console.log(‘[query]

:’+err);

return;

}

console.log(‘[connection

connect]

succeed!’);

});

//執行SQL語句

connection.query(‘SELECT

1

+

1

AS

solution’,

function(err,

rows,

fields)

{

if

(err)

{

console.log(‘[query]

:’+err);

return;

}

console.log(‘The

solution

is:

‘,

rows[0].solution);

});

//關閉connection

connection.end(function(err){

if(err){

return;

}

console.log(‘[connection

end]

succeed!’);

});

註:nodejs在操作數據庫的時候不用設置數據庫的編碼格式

set

names

utf8

希望本文所述對大家nodejs程序設計有所幫助。

您可能感興趣的文章:nodejs連接mysql數據庫簡單封裝示例-mysql模塊nodejs進階(6)—連接MySQL數據庫示例nodejs實現的連接MySQL數據庫功能示例Nodejs連接mysql並實現增、刪、改、查操作的方法詳解nodeJs實現基於連接池連接mysql的方法示例nodejs中操作mysql數據庫示例NodeJS鏈接MySql數據庫的操作方法Nodejs使用mysql模塊之獲得更新和刪除影響的行數的方法NodeJs使用Mysql模塊實現事務處理實例nodejs連接mysql數據庫及基本知識點詳解

原創文章,作者:YDBW3,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129112.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YDBW3的頭像YDBW3
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • Python代碼實現迴文數最少操作次數

    本文將介紹如何使用Python解決一道經典的迴文數問題:給定一個數n,按照一定規則對它進行若干次操作,使得n成為迴文數,求最少的操作次數。 一、問題分析 首先,我們需要了解迴文數的…

    編程 2025-04-29
  • Python磁盤操作全方位解析

    本篇文章將從多個方面對Python磁盤操作進行詳細闡述,包括文件讀寫、文件夾創建、刪除、文件搜索與遍歷、文件重命名、移動、複製、文件權限修改等常用操作。 一、文件讀寫操作 文件讀寫…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29

發表回復

登錄後才能評論