mysql py支援 pymysql常用操作

2021-10-22 00:21:36 字數 2399 閱讀 9514

安裝pymysql

pymysql是python3+的乙個包(python2使用的是mysqldb),安裝起來比較簡單。

pip install pymysql

建立連線

import pymysql

conn = pymysql.connect(

host='xx.xx.xx.xx',

user='user_name',

password='passwd',

database='db_name',

charset='utf8')

測試連線

with conn.cursor() as cursor:

sql = "select version()"

cursor.execute(sql)

res = cursor.fetchone()

print("mysql version: %s" % res)

新建table(表名mytable2)

with conn.cursor() as cursor:

cursor.execute("drop table if exists mytable2") # 如果存在,刪除同名table

sql = '''

create table mytable2 (

id int not null auto_increment primary key,

symbol char(6) not null,

name varchar(255) not null,

area varchar(255),

industry varchar(255),

listed_date varchar(255)

) engine=innodb default charset=utf8

cursor.execute(sql)

print('create table ok!')

新增一條新記錄

# 建立一條新的記錄

with conn.cursor() as cursor:

sql = "insert into mytable2 (symbol,name,area,industry,listed_date) values ('210099','test','浙江','電器儀表','20120127')"

cursor.execute(sql)

# 或者

# sql = "insert into mytable2 (symbol,name,area,industry,listed_date) values (%s,%s,%s,%s,%s)"

# values = ('220012','test2','江蘇','太陽能','20150206') # 元祖或列表

# cursor.execute(sql, values)

# 連線完資料庫並不會自動提交,所以需要手動 commit 你的改動

conn.commit()

print("insert done")

新增多條新記錄

# 建立多條新的記錄

with conn.cursor() as cursor:

sql = "insert into mytable2 (symbol,name,area,industry,listed_date) values (%s,%s,%s,%s,%s)"

values = [('220016','test6','江蘇','太陽能','20150206'),

('220017','test7','江蘇','太陽能','20150206'),

('220018','test8','江蘇','太陽能','20150206')]

cursor.executemany(sql, values)

# 連線完資料庫並不會自動提交,所以需要手動 commit 你的改動

conn.commit()

print("insert done")

獲取資料

with conn.cursor(cursor=pymysql.cursors.dictcursor) as cursor:

sql = "select * from mytable2"

cursor.execute(sql)

res = cursor.fetchall()

data = pd.dataframe(res)

data

或者sql = "select * from mytable2"

data = pd.read_sql(sql,conn)

data

常用命令

show tables #檢視所有表

show columns from table_name #檢視表字段

describe table_name #檢視表字段(也可以desc table_name)

mac多版本python安裝 pymysql

系統裡面安裝了多個python的版本,有2.7和3.4等。預設的2.7版本,但我開發需要3.4版本的。預設情況下,用pip安裝pymysql sudo pip install pymysql安裝之後,在命令列裡面測試 import pymysql如果沒有報錯,則表示安裝成功。找到3.4到安裝路徑,我...

Mysql儲存之原生語句操作 pymysql

mysql儲存之原生語句操作 pymysql 關係型資料庫是基於關係模型的資料庫,而關係模型是通過二維表時實現的,於是構成了行列的表結構。表可以看作是某個實體的集合,而實體之間存在聯絡,這個就需要通過表之間的關聯關係來體現,比如主鍵的關聯關係,多個表組成了乙個資料庫,也就是關係型資料庫。其中mysq...

php 支援 mysql php支援mysql配置

想在centos5.2上裝乙個discuz論壇,在突破了apache許可權問題後,發現discuz的提示資訊裡顯示不支援mysql mysql connect 不支援 請檢查mysql 模組是否正確載入 我自己寫個測試檔案 php view plaincopy phpinfo 執行後顯示 c sha...