使用python訪問資料庫

2021-09-11 18:10:15 字數 2575 閱讀 5421

注:

前期的配置安裝請參照:

使用mysql

mysql5.6.zip格式壓縮版安裝教程

(1)使用mysql

我們演示如何連線到mysql伺服器的test資料庫:

# 使用mysql

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

########## prepare ##########

# install mysql-connector-python:

# pip3 install mysql-connector-python --allow-external mysql-connector-python

# (或者)pip3 install mysql-connector

import mysql.connector

# change root password to yours:

conn = mysql.connector.connect(user='root', password='password', database='test')

cursor = conn.cursor()

# 建立user表:

cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

# 插入一行記錄,注意mysql的佔位符是%s:

cursor.execute('insert into user (id, name) values (%s, %s)', ('1', 'michael'))

print('rowcount =', cursor.rowcount)

# 提交事務:

conn.commit()

cursor.close()

# 執行查詢:

cursor = conn.cursor()

cursor.execute('select * from user where id = %s', ('1',))

values = cursor.fetchall()

print(values)

# 關閉cursor和connection:

cursor.close()

conn.close()

(2)使用sqlalchemy

利用上次我們在mysql的test資料庫中建立的user表,用sqlalchemy來試試:

# 使用sqlalchemy

# 首先通過pip安裝sqlalchemy:

# $ pip install sqlalchemy

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

from sqlalchemy import column, string, create_engine

from sqlalchemy.orm import sessionmaker

from sqlalchemy.ext.declarative import declarative_base

# 建立物件的基類:

base = declarative_base()

# 定義user物件:

class user(base):

# 表的名字:

__tablename__ = 'user'

# 表的結構:

id = column(string(20), primary_key=true)

name = column(string(20))

# 初始化資料庫連線:

engine = create_engine('mysql+mysqlconnector://root:password@localhost:3306/test')

# 建立dbsession型別:

dbsession = sessionmaker(bind=engine)

# 建立session物件:

session = dbsession()

# 建立新user物件:

new_user = user(id='5', name='bob')

# 新增到session:

session.add(new_user)

# 提交即儲存到資料庫:

session.commit()

# 關閉session:

session.close()

# 建立session:

session = dbsession()

# 建立query查詢,filter是where條件,最後呼叫one()返回唯一行,如果呼叫all()則返回所有行:

user = session.query(user).filter(user.id=='5').one()

# 列印型別和物件的name屬性:

print('type:', type(user))

print('name:', user.name)

# 關閉session:

session.close()

python 訪問資料庫

commit 提交 rollback 回滾 cursor用來執行命令的方法 callproc self,procname,args 用來執行儲存過程,接收的引數為儲存過程名和引數列表,返回值為受影響的行數 execute self,query,args 執行單條sql語句,接收的引數為sql語句本身...

Python使用pyodbc訪問資料庫操作方法詳解

1 直接連線資料庫和建立乙個游標 cursor cnxn pyodbc.connect driver server localhost database testdb uid me pwd pass cursor cnxn.cursor 2 使用dsn連線。通常dsn連線並不需要密碼,還是需要提供乙...

訪問資料庫 訪問資料庫

程式執行的時候,資料都是在記憶體中的。當程式終止的時候,通常都需要將資料儲存到磁碟上,無論是儲存到本地磁碟,還是通過網路儲存到伺服器上,最終都會將資料寫入磁碟檔案。而如何定義資料的儲存格式就是乙個大問題。如果我們自己來定義儲存格式,比如儲存乙個班級所有學生的成績單 名字成績 michael99 bo...