python3 操作MySQL資料庫

2021-09-13 03:38:43 字數 3103 閱讀 8741

pip3 install pymysql

#!/usr/bin/python3

import pymysql

# 在進行資料的修改更新和刪除時,需要進行commit()

'''資料的獲取:

cursor.fetchone(self)

cursor.fetchall(self)

cursor.fetchmany(self,size)

'''# 開啟資料庫連線

db = pymysql.connect(

"localhost"

,"zz"

,"123"

,"my"

, charset=

'utf8'

)cursor = db.cursor(

)# 檢視mysql的版本

cursor.execute(

"select version()"

)print

("mysql的版本:%s"

% cursor.fetchone())

# 建立乙個表my_table 欄位有name *** number,然後進行資料的插入,檢視,最後刪除資料表

defrunsql

(my_sql, cursor=cursor, db=db)

:try

: cursor.execute(my_sql)

db.commit(

)if my_sql.lstrip(

).startswith(

'create',0

,8):

print

("資料庫表生成成功"

)elif my_sql.lstrip(

).startswith(

'drop',0

,8):

print

("資料庫表刪除成功"

)elif my_sql.lstrip(

).startswith(

'insert',0

,8):

print

("資料庫表插入成功"

)else

:print

("操作成功"

)except

: db.rollback(

)if my_sql.lstrip(

).startswith(

'create',0

,8):

print

("資料庫表生成失敗"

)elif my_sql.lstrip(

).startswith(

'insert',0

,8):

print

("資料庫表插入失敗"

)elif my_sql.lstrip(

).startswith(

'drop',0

,8):

print

("資料庫表刪除失敗"

)else

:print

("操作失敗"

)def

displaysql

(sql, my_cursor=cursor)

: my_cursor.execute(sql)

title_list =

[item[0]

for item in my_cursor.description]

# 獲取**的欄位名稱

for title in title_list:

print

("%-10s"

% title, end="")

print()

for values in cursor.fetchall():

for value in values:

print

("%-10s"

% value, end="")

print()

my_table =

'my_table'

print

("建立表:"

)my_sql =

"create table %s (name varchar(20),*** varchar(2),number varchar(10))"

%(my_table,

)runsql(my_sql)

print

("進行插入"

)cursor.execute(

"select * from %s"

%my_table)

table_title =

[item[0]

for item in cursor.description]

# 獲取**的欄位名稱

insert_value =

[str

(i)for i in

range(1

,len

(table_title)+1

)]# 需要插入的值,這裡1,2,3...

my_sql =

"insert into %s (%s) values (%s)"

%(my_table,

",".join(table_title)

,","

.join(insert_value)

)runsql(my_sql)

print

("進行查詢:"

)displaysql(

"select * from %s"

% my_table)

print

("進行表刪除:"

)runsql(

"drop table if exists %s"

%(my_table,))

# 關閉連線

db.close(

)'''

mysql的版本:5.7.25-0ubuntu0.16.04.2

建立表:

資料庫表生成成功

進行插入

資料庫表插入成功

進行查詢:

name *** number

1 2 3

進行表刪除:

資料庫表刪除成功

'''

Python3的mysql操作和session用法

建立乙個test庫 create database test 授權乙個使用者 grant all privileges on to xiang identified by 1qaz wsx 建立表create table student id int not null 查詢select from t...

Python3登入跳板機訪問MySQL資料庫

生產環境的資料庫基於安全的原因是無法直連訪問的,但是有時本地測試的時候又需要訪問生產環境的庫,這時候就需要登入跳板機來中轉。目前登入跳板機有兩種 使用paramiko 使用sshtunnel.以下以sshtunnel為例實現 import os import pymysql from sshtunn...

python3 兩數之和

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9...