Python使用MySQL資料庫

2021-07-27 16:41:37 字數 2051 閱讀 7674

直接在terminal中輸入

pip install mysql-python

若沒有安裝pip工具,則先在terminal中輸入

sudo apt install pip-python

pip install --upgrade pip

安裝和更新pip工具

會自動完成安裝

安裝完成後,進行python環境,輸入

import mysqldb

不報錯則說明安裝成功

import mysqldb

conn= mysqldb.connect(

host='localhost', # host主機名

port = 3306, # port埠號

user='root', # 登入的使用者名稱

passwd='123456', # 登入的密碼

db ='test', # 連線的資料庫

)cur = conn.cursor() # 獲得當前游標

cur.execute('sql_string') # 執行sql語句

cur.close() # 關閉游標

conn.commit() # 提交事務,若執行插入語句,則必須commit之後才會對資料庫進行寫入

conn.close() # 關閉連線

cur.execute('create table testtable(id int not null auto_increment, name varchar(20), primary key (id))')
新建了一張表testtable,包含id和name兩列,其中id為主鍵

cur.execute('insert into testtable (name) values ("test")') # 記得'和"要混合用,不然會將字串切斷

conn.commit()

上面的語句執行完後將會在testtable中插入一條記錄,id自動增長,name的值為test

還可以以帶入引數的方式執行

sql = 'insert into testtable (name) values (%s)'

cur.execute(sql, ("test"))

conn.commit()

若想要帶入多個引數,可以使用executemany()

sql = 'insert into testtable (name) values (%s)'

cur.executemany(sql, [("test"), ("test2")])

conn.commit()

可以看出executemany是用列表傳入引數的

print cur.execute('select * from testtable')

# 1

輸出1,只是輸出得到的結果的數量而

如果想要得到結果,可以使用fetchone()和fetchmany()函式

cur.execute('select * from testtable')

cur.fetchone()

# (1l, 'test')

cur.fetchone()

# (2l, 'test')

從上述語句輸出可以看出,fetchone()有點類似迭代器的next()函式,使用cur的scroll(0,'absolute')方法可以返回到第一條資料

使用cur.fetchmany()函式可以返回乙個包含所有結果的元組

results = cur.execute('select * from testtable')

result_tuple = cur.fetchmany(results)

print result_tuple

# ((1l, 'test'),(2l, 'test'))

python使用mysql資料庫

import pymysql 連線mysql資料庫 db pymysql.connect host 127.0.0.1 user root password 123456 db first schema charset utf8mb4 建立cursor游標 cursor db.cursor 插入資料...

使用python控制資料庫(MySQL)

mysql官網 mysql pip install mysql connector python allow external mysql connector python usr bin env python coding utf 8 import mysql.connector conn mys...

使用Python來向MySQL裡插入資料

在python3以上版本中一般使用pymysql庫來操作mysql資料庫。首先匯入pymysql,並且連線上你已經建立好的資料庫。import pymysql self.conn pymysql.connect host self.host,port self.port,user self.user...