print
("====建立資料庫test*****"
)import pymysql
# 建立資料庫並開啟
db = pymysql.connect(host=
'localhost'
,port =
3306
,user=
'root'
,passwd=
'12345'
,db=
'test'
,charset=
'utf8'
)cursor = db.cursor(
)# 使用 execute() 方法執行 sql,如果表存在則刪除
cursor.execute(
"drop table if exists 51job"
)# 使用預處理語句建立表
sql =
"""create table 51job (
jobname varchar(50) not null,
company varchar(50) not null,
location varchar(50) not null,
salary varchar(20),
postdate varchar(50) not null)"""
cursor.execute(sql)
# 關閉資料庫連線
db.close(
)```
## 2.新增資料
```python
print
("**********==新增表51job.xls到51job資料表中**********="
)import xlrd, pymysql
# 建立資料庫連線
conn = pymysql.connect(host=
'localhost'
, user=
"root"
, password=
'12345'
, database=
'test'
)cursor = conn.cursor(cursor=pymysql.cursors.dictcursor)
sql =
"insert into 51job (jobname,company,location,salary,postdate) values (%s,%s,%s,%s,%s)"
# 開啟檔案
file
= xlrd.open_workbook(
"e:/python/python資料/51job.xls"
)sheet_1 =
file
.sheet_by_index(0)
# 根據sheet頁的排序選取sheet
row_content = sheet_1.row_values(0)
# 獲取指定行的資料,返回列表,排序自0開始
row_number = sheet_1.nrows # 獲取有資料的最大行數
for i in
range(2
, row_number)
: jobname = sheet_1.cell(i,0)
.value
company = sheet_1.cell(i,1)
.value
location = sheet_1.cell(i,2)
.value
salary = sheet_1.cell(i,3)
.value
postdate = sheet_1.cell(i,4)
.value
values =
(jobname, company, location, salary, postdate)
# 執行sql語句插入資料
cursor.execute(sql, values)
conn.commit(
)cursor.close(
)conn.close(
)
print
("**********=讀取51job.xls檔案**********"
)import xlrd
# 使用xlrd的函式開啟本地檔案,並使用變數儲存
workbook=xlrd.open_workbook(
'e:\\python\\python資料\\51job.xls'
)sheetnames=workbook.sheet_names(
)# 通過表名稱獲取指定表
sheetone=workbook.sheet_by_name(sheetnames[0]
)# 獲取行數
row=sheetone.nrows
for i in
range
(row)
: each_row=sheetone.row_values(i)
print
(each_row)```
![在這裡插入描述]
## 4.查詢資料
```python
from config import get_connect
import os
import csv
import xlrd
from xlutils.copy import copy
import xlwt
from openpyxl import workbook
connect = get_connect(
'test'
)# 獲取連線物件
print
("資料庫鏈結成功"
)# 使用 cursor() 方法建立乙個游標物件 cursor
cursor = connect.cursor(
)# 查詢操作
# select * from 51job where location like '上海-浦東新區'
defselect()
: sql =
"select * from 51job where location like '%s'"
data =
('上海-浦東新區',)
strsql = sql % data
print
(strsql)
cursor.execute(strsql)
for row in cursor.fetchall():
print
(row)
print
('共查詢出'
, cursor.rowcount,
'條資料'
訪問資料庫 訪問資料庫
程式執行的時候,資料都是在記憶體中的。當程式終止的時候,通常都需要將資料儲存到磁碟上,無論是儲存到本地磁碟,還是通過網路儲存到伺服器上,最終都會將資料寫入磁碟檔案。而如何定義資料的儲存格式就是乙個大問題。如果我們自己來定義儲存格式,比如儲存乙個班級所有學生的成績單 名字成績 michael99 bo...
訪問資料庫 資料庫並行訪問
作者姓名 neo chen 陳景峰 暱稱 netkiller 呼號 bg7nyt 手機 86 13113668890 多維度架構 知乎 www.zhihu.com 這裡主要講述有關開發中遇到的資料庫並行問題 防止並行顯示背景 我們有乙個order訂單表,工作流如下 建立訂單 訂單分配 訂單審核 批准...
c 資料庫訪問服務(綜合資料庫操作)
還是重複的說下資料庫操作封裝。berkeley db資料庫,redis資料庫,sqlite資料庫。每個資料庫操作封裝各乙個專案。可以單獨使用。可以複製 使用。這裡說明下這個服務的內容。net core實現 服務端提供多種資料庫,將常用資料庫封裝。netcsdb.dll是控制台服務。啟動即可。客戶端有...