最近項目結束了,工作輕松之余,想着拿ptython來連接mysql數據庫,以前在測試過程中難免要給數據庫構造大量數據,以往都是通過source在數據庫本地進行導入的,
今天想着利用python來連接數據庫,創建表,插入輸入等操作。
DROP_sql = "drop table if exists company" 這是在執行之前先判斷數據庫里是否有company表,如果存在就先刪除。示例如下:
#coding utf-8
import pymysql,traceback #導入模塊
DROP_sql = "drop table if exists company" #刪除表
create_sql = """
create table company( #創建表的sql語句
cid BIGINT AUTO_INCREMENT COMMENT '公司ID',
name VARCHAR(30) COMMENT '公司名稱',
loc VARCHAR(100) COMMENT '公司位置',
note TEXT COMMENT '公司介紹',
CONSTRAINT PK_uid PRIMARY KEY(cid)
)engine=INNODB;
"""
data_sql = "insert into company(name,loc,note)values ('%s', '%s', '%s')" #插入數據
data=('沐言優拓1(沐言旗下品牌店)','北京1','www.yootk.com')
def main():
try:
conn = pymysql.connect(host='10.139.7.39',
port=3306, user='root',
passwd='Bccdr@123456',
database='yootk',
charset='utf8'
)
print("mysql數據庫連接成功,當前數據庫版本為: %s" % conn.get_server_info())
cmd = conn.cursor()
cmd.execute(DROP_sql)
conn.commit()
print("成功刪除原有的company數據表:%s")
cmd.execute(create_sql)
conn.commit()
print("成功創建數據表 %s")
cmd.execute(data_sql % data)
conn.commit()
print("更新影響的數據行數: %s" % cmd.rowcount)
print("最后一次增長的ID: %s" % cmd.lastrowid)
except Exception:
print("處理異常: " + traceback.format_exc())
finally:
conn.close()
if __name__ == "__main__":
main()
其實吧,有空閑時間就回頭練習練習,長時間不操作很容易忘記的。