python訪問資料庫檔案 Python訪問資料庫

2021-10-11 09:41:55 字數 4548 閱讀 8279

python訪問資料庫

本文案例基於runoob資料庫下,51job表演示

1.mysql的連線

import pymysql

# 開啟資料庫連線

db = pymysql.connect("localhost", "root", "123456", "runoob")

# 使用 cursor() 方法建立乙個游標物件 cursor

cursor = db.cursor()

# 使用 execute() 方法執行 sql,如果表存在則刪除

cursor.execute("drop table if exists employee")

# 使用預處理語句建立表

sql = """create table employee (

first_name char(20) not null,

last_name char(20),

age int,

*** char(1),

income float )"""

cursor.execute(sql)

# 關閉資料庫連線

db.close()

2.插入資料

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 執行sql語句

result=cursor.execute("insert into websites values (7,'秋弦','',4,'china')")

# 如果sql語句是新增

result=connect.commit()

print('成功插入',cursor.rowcount,'條資料')

3.修改資料

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 執行sql語句

result=cursor.execute("update websites set alexa=2 where id=1")

# 如果sql語句是新增

connect.commit()

print('成功修改',cursor.rowcount,'條資料')

4.刪除資料

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 執行sql語句

result=cursor.execute("delete from websites where id=7")

# 如果sql語句是新增

connect.commit()

print('成功刪除',cursor.rowcount,'條資料')

5.查詢資料

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 執行sql語句

result=cursor.execute("select * from websites")

# 如果sql語句是新增

result=connect.commit()

for row in cursor.fetchall():

print(row)

print('共查出',cursor.rowcount,'條資料')

6.基本操作

import pymysql

from config import get_connect

connect=get_connect('job')

print('資料庫連線成功')

# 獲取游標物件,游標物件可以將sql語句傳送到mysql資料庫並執行

cursor=connect.cursor()

# 執行sql語句

result=cursor.execute('select * from 51job')

# print(type(result))

# print(result)

# 從游標物件中獲取一條資料

# data=cursor.fetchone()

# print(data)

# 從游標物件中獲取10條資料

# data=cursor.fetchmany(10)

# for row in data:

# print(row)

# 獲取所有資料

# data=cursor.fetchall()

# print(len(data))

# 資料庫連線結束後,關閉游標和連線

cursor.closo()

connect.close()

案例:題目需求:

檔案操作+資料庫練習

1)使用pymsql建立資料庫和資料表,庫名稱:test,表名稱:51job2)使用任意可用與解析excel檔案的模組,解析51job.xls

3)使用pymysql將51job.xls中的資料新增到test.5ljob表中

4)使用pymysql查詢test.51job中的所有資料,篩選出位於」上海-浦東新區」的所有工作崗位

1.建立乙個配置檔案config.py

import pymysql

host='localhost'

user='root'

pwd='123456'

def get_connect(db):

connect=pymysql.connect(host=host,

user=user,

password=pwd,

db=db)

return connect

2.demo.py

# 讀取f:\\python資料\\51job.xls檔案內容後,將需要到字段資訊(jobname,company,location,salary,postdate)存入mysql資料庫例項,最終記得要關資料庫和連線哦!

# 讀取excel表的內容然後寫入資料庫

import xlrd,pymysql

from config import get_connect

# 連線的資料庫

conn = get_connect('runoob')

def insert():

# 獲取游標物件

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("f:\\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(1,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()

insert()

# 查詢位址在上海-浦東新區的資料

def select():

connect = get_connect('runoob')

cursor = connect.cursor()

# 執行sql語句

result = cursor.execute("select * from 51job where location like '%上海-浦東新區'")

# 如果sql語句是新增

result = connect.commit()

for row in cursor.fetchall():

print(row)

print('共查出', cursor.rowcount, '條資料')

select()

資料庫檔案

if exists select from mater.sysdatabases where name db 09zy drop database db 09zy go create database zy on primary name zy data filename e 09.9zy1 zy ...

資料庫 檔案

定長記錄 檔案頭維護空閒列表 變長記錄 塊頭 空閒空間 記錄 插入 在空閒空間末尾分配空間 刪除 將條目之前的全部向後移動 大物件通常儲存到特殊檔案,通過指標儲存在記錄中 引數檔案 日誌檔案 套接字檔案 通過套接字檔案,unix系統下本地連線mysql可以採用unix域套接字方式 pid檔案 mys...

java直接訪問資料庫檔案

class.forname sun.jdbc.odbc.jdbcodbcdriver string url jdbc odbc printdata 這樣寫必須在系統odbc中建立乙個指向printdata.mdb資料庫的資料來源 以下方式就可以直接訪問printdata.mdb資料庫檔案了,這個檔案...