注:
前期的配置安裝請參照:
使用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...