Enviar pesquisa
Carregar
Con4445 jesus
•
1 gostou
•
597 visualizações
P
Paulo Jesus
Seguir
Tecnologia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 50
Baixar agora
Baixar para ler offline
Recomendados
Development of Fault-Tolerant Failover Tools with MySQL Utilities - MySQL Con...
Development of Fault-Tolerant Failover Tools with MySQL Utilities - MySQL Con...
Paulo Jesus
Install and upgrade Oracle grid infrastructure 12.1.0.2
Install and upgrade Oracle grid infrastructure 12.1.0.2
Biju Thomas
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
Frederic Descamps
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0
Frederic Descamps
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
Frederic Descamps
MySQL Document Store - when SQL & NoSQL live together... in peace!
MySQL Document Store - when SQL & NoSQL live together... in peace!
Frederic Descamps
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and Histograms
Frederic Descamps
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
Frederic Descamps
Recomendados
Development of Fault-Tolerant Failover Tools with MySQL Utilities - MySQL Con...
Development of Fault-Tolerant Failover Tools with MySQL Utilities - MySQL Con...
Paulo Jesus
Install and upgrade Oracle grid infrastructure 12.1.0.2
Install and upgrade Oracle grid infrastructure 12.1.0.2
Biju Thomas
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
Frederic Descamps
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0
Frederic Descamps
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
Frederic Descamps
MySQL Document Store - when SQL & NoSQL live together... in peace!
MySQL Document Store - when SQL & NoSQL live together... in peace!
Frederic Descamps
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and Histograms
Frederic Descamps
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
Frederic Descamps
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Frederic Descamps
Oracle Golden Gate
Oracle Golden Gate
Muhammad Qasim
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python Developers
Frederic Descamps
MySQL Router REST API
MySQL Router REST API
Frederic Descamps
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020
Frederic Descamps
MySQL Shell for DBAs
MySQL Shell for DBAs
Frederic Descamps
101 2.4b use debian package management v2
101 2.4b use debian package management v2
Acácio Oliveira
101 2.4 use debian package management
101 2.4 use debian package management
Acácio Oliveira
2.4.1 use debian package management v2
2.4.1 use debian package management v2
Acácio Oliveira
Tools, not only for Oracle RAC
Tools, not only for Oracle RAC
Markus Flechtner
Rac nonrac clone
Rac nonrac clone
stevejones167
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
Frederic Descamps
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial
KlausePaulino
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and Database
Nikhil Kumar
Rac 12c optimization
Rac 12c optimization
Riyaj Shamsudeen
Setup oracle golden gate 11g replication
Setup oracle golden gate 11g replication
Kanwar Batra
361 Rac
361 Rac
Emanuel Mateus
MySQL Database Service Webinar: Upgrading from on-premise MySQL to MDS
MySQL Database Service Webinar: Upgrading from on-premise MySQL to MDS
Frederic Descamps
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
Frederic Descamps
Oracle Globalization Support, NLS_LENGTH_SEMANTICS, Unicode
Oracle Globalization Support, NLS_LENGTH_SEMANTICS, Unicode
Markus Flechtner
MySQL JSON Functions
MySQL JSON Functions
Sveta Smirnova
Performance schema and_ps_helper
Performance schema and_ps_helper
Mark Leith
Mais conteúdo relacionado
Mais procurados
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Frederic Descamps
Oracle Golden Gate
Oracle Golden Gate
Muhammad Qasim
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python Developers
Frederic Descamps
MySQL Router REST API
MySQL Router REST API
Frederic Descamps
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020
Frederic Descamps
MySQL Shell for DBAs
MySQL Shell for DBAs
Frederic Descamps
101 2.4b use debian package management v2
101 2.4b use debian package management v2
Acácio Oliveira
101 2.4 use debian package management
101 2.4 use debian package management
Acácio Oliveira
2.4.1 use debian package management v2
2.4.1 use debian package management v2
Acácio Oliveira
Tools, not only for Oracle RAC
Tools, not only for Oracle RAC
Markus Flechtner
Rac nonrac clone
Rac nonrac clone
stevejones167
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
Frederic Descamps
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial
KlausePaulino
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and Database
Nikhil Kumar
Rac 12c optimization
Rac 12c optimization
Riyaj Shamsudeen
Setup oracle golden gate 11g replication
Setup oracle golden gate 11g replication
Kanwar Batra
361 Rac
361 Rac
Emanuel Mateus
MySQL Database Service Webinar: Upgrading from on-premise MySQL to MDS
MySQL Database Service Webinar: Upgrading from on-premise MySQL to MDS
Frederic Descamps
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
Frederic Descamps
Oracle Globalization Support, NLS_LENGTH_SEMANTICS, Unicode
Oracle Globalization Support, NLS_LENGTH_SEMANTICS, Unicode
Markus Flechtner
Mais procurados
(20)
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Oracle Golden Gate
Oracle Golden Gate
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Router REST API
MySQL Router REST API
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020
MySQL Shell for DBAs
MySQL Shell for DBAs
101 2.4b use debian package management v2
101 2.4b use debian package management v2
101 2.4 use debian package management
101 2.4 use debian package management
2.4.1 use debian package management v2
2.4.1 use debian package management v2
Tools, not only for Oracle RAC
Tools, not only for Oracle RAC
Rac nonrac clone
Rac nonrac clone
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and Database
Rac 12c optimization
Rac 12c optimization
Setup oracle golden gate 11g replication
Setup oracle golden gate 11g replication
361 Rac
361 Rac
MySQL Database Service Webinar: Upgrading from on-premise MySQL to MDS
MySQL Database Service Webinar: Upgrading from on-premise MySQL to MDS
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
Oracle Globalization Support, NLS_LENGTH_SEMANTICS, Unicode
Oracle Globalization Support, NLS_LENGTH_SEMANTICS, Unicode
Semelhante a Con4445 jesus
MySQL JSON Functions
MySQL JSON Functions
Sveta Smirnova
Performance schema and_ps_helper
Performance schema and_ps_helper
Mark Leith
Enterprise manager 13c -let's connect to the Oracle Cloud
Enterprise manager 13c -let's connect to the Oracle Cloud
Trivadis
Developing for Node.JS with MySQL and NoSQL
Developing for Node.JS with MySQL and NoSQL
John David Duncan
Develop Python Applications with MySQL Connector/Python
Develop Python Applications with MySQL Connector/Python
Jesper Wisborg Krogh
MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.
Miguel Araújo
Stackato Presentation Techzone 2013
Stackato Presentation Techzone 2013
Martin Kenneth Michalsky
Pixels_Camp
Pixels_Camp
Nelson Gomes
20161029 py con-mysq-lv3
20161029 py con-mysq-lv3
Ivan Ma
MySQL Administration and Monitoring
MySQL Administration and Monitoring
Mark Leith
Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFish
Arun Gupta
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
Geir Høydalsvik
MySQL Quick Dive
MySQL Quick Dive
Sudipta Kumar Sahoo
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
Mark Leith
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Sven Sandberg
CloudStack Meetup Santa Clara
CloudStack Meetup Santa Clara
NetApp
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
Women in Technology Poland
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
Orgad Kimchi
Python and the MySQL Document Store
Python and the MySQL Document Store
Jesper Wisborg Krogh
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
Ivan Ma
Semelhante a Con4445 jesus
(20)
MySQL JSON Functions
MySQL JSON Functions
Performance schema and_ps_helper
Performance schema and_ps_helper
Enterprise manager 13c -let's connect to the Oracle Cloud
Enterprise manager 13c -let's connect to the Oracle Cloud
Developing for Node.JS with MySQL and NoSQL
Developing for Node.JS with MySQL and NoSQL
Develop Python Applications with MySQL Connector/Python
Develop Python Applications with MySQL Connector/Python
MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.
Stackato Presentation Techzone 2013
Stackato Presentation Techzone 2013
Pixels_Camp
Pixels_Camp
20161029 py con-mysq-lv3
20161029 py con-mysq-lv3
MySQL Administration and Monitoring
MySQL Administration and Monitoring
Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFish
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
MySQL Quick Dive
MySQL Quick Dive
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
CloudStack Meetup Santa Clara
CloudStack Meetup Santa Clara
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
Python and the MySQL Document Store
Python and the MySQL Document Store
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
Último
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
V3cube
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Último
(20)
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Con4445 jesus
1.
1 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
2.
Developing with MySQL Connector/Python Dr.
Paulo Jesus Software Developer 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
3.
Program Agenda Introduction
of Connector/Python Download and Installation Coding About Performance Frameworks and Applications 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
4.
Introduction 4 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
5.
Introducing MySQL Connector/Python
MySQL Database Driver Pure Python, no 3rd party dependencies Python v2 and v3 For MySQL, by MySQL Documentation – http://dev.mysql.com/doc/connector-python/en/index.html 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
6.
Pure Python Written
entirely using Python No compiling against MySQL client libraries Only Standard Library used Developed for Python v2 and v3 PEP-249 compliant 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
7.
Current Connector/Python Versions
v1.0 – GA since September 2012 – v1.0.12 released August 2013 v1.1 – Alpha since June 2013 – Some new features: Prepared Statements and Pooling Django backend included 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
8.
Python Support Overview of
supported Python version 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3 v1.0 ? ? v1.1 Connector/Python 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
9.
MySQL Server Support
MySQL v5.5 and higher Known to work on earlier versions – No old password hashing support – MySQL v4.0 and older will not work 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
10.
Download & Installation 10 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
11.
Dependencies Python! For Windows –
Install Python from http://python.org Other systems – should have Python (2.6 or greater) 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
12.
Download MySQL Website –
http://dev.mysql.com/downloads/connector/python Available as – TAR/ZIP archive – RPM and Debian package – Windows Installer (MSI) Launchpad – https://launchpad.net/myconnpy 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
13.
Download Example file
names: – mysql-connector-python-1.1.1.zip – mysql-connector-python-1.1.1-py2.7.msi – mysql-connector-python-1.1.1.el6.noarch.rpm Architecture independent 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
14.
Installation: Using TAR/ZIP Running
setup.py Most common way Works anywhere – .. where Python is installed For both Python v2 & v3 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
15.
Installation: Universal Using setup.py shell>
unzip mysql-connector-1.0.12.zip shell> cd mysql-connector-1.0.12 shell> python setup.py install # Or any other Python binary shell> /opt/python/3.3/bin/python3 setup.py install 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
16.
Installation using RPM
and Debian package # On Oracle Linux shell> rpm -i mysql-connector-python-1.1.1.el6.noarch.rpm # On Ubuntu shell> dpkg -i mysql-connector-python_1.0.12-1ubuntu12.04_all.deb 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
17.
Installation: using PyPI Python
Package Index shell> easy_install mysql-connector-python or shell> pip install mysql-connector-python 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
18.
Install Inside Virtual
Environment Useful for testing and new development # If not installed yet shell> pip install virtualenv shell> virtualenv ENV shell> source ENV/bin/activate shell> pip install mysql-connector-python 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
19.
Coding 19 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
20.
Classes and Objects mysql.connector
module import mysql.connector mysql.connector.connect() – accepts numerous arguments – returns a MySQLConnection 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
21.
Classes and Objects MySQLConnection
MySQLConnection – connects with MySQL – retrieve server information – reconfigure and reconnect – commit/rollback transactions – create MySQLCursor objects 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
22.
Classes and Objects MySQLCursor
MySQLCursor – fetch & manipulate data – transactions – different flavors (buffered, raw) 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
23.
Connecting with MySQL Basic
connection import mysql.connector cnx = mysql.connector.connect(user='root', host='prod.example.com') print(cnx.connection_id) cnx.close() 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
24.
Connecting with MySQL Use
a dict to hold configuration & use IPv6 CONFIG = { 'user': 'root', 'host': '::1', } cnx = mysql.connector.connect(**CONFIG) print(cnx.connection_id) cnx.close() 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
25.
Reconnecting with MySQL Reconfigure
and reconnect cnx = mysql.connector.connect(**CONFIG) cnx.config(user='joe', password='mysecret') cnx.reconnect() cnx.close() 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
26.
Cursor methods MySQLCursor class
execute(query, data) – data is list of values fetchone() – returns row as tuple fetchmany(20) – Get the next 20 rows (or less) as list of tuples fetchall() – Get all, or remaining, as list of tuples 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
27.
Fetching Data Fetch a
row cur = cnx.cursor() cur.execute("SELECT NOW()") result= cur.fetchone()[0] print(result) cur.close() # Result (datetime.datetime(2013, 9, 2, 10, 41, 58)) 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
28.
Fetching Data Going through
results using iterator query = ( "SELECT id, last_name FROM employees " "WHERE id > %s AND first_name LIKE %s" ) cur.execute(query, (500, 'J%')) for row in cur: print("{id} {name}".format(id=row[0], name=row[1])) 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
29.
Manipulating data Inserting, updating
and deleting insert_stmt = ( "INSERT INTO employees (first_name, last_name) " "VALUES (%s, %s) ) cur = cnx.cursor() cur.execute(insert_stmt, ('John', 'Doe')) print("ID of new employee: {id}".format(id=cur.lastrowid)) cnx.commit() 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
30.
Change Many Records MySQLCursor.executemany() data
= [ ('John', 'Doe'), ('Jane', 'Doe'), ] cur.executemany(insert_stmt, data) cnx.commit() 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
31.
Execute Multiple Statements
Separated by semicolon ; Could return one or more results Example: – "SELECT NOW(); SELECT CURRENT_USER()" Needs multi argument set to True – Raises error if not – cur.execute(query, multi=True) 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
32.
Executing Multiple Statements Example cur
= cnx.cursor() queries = "SELECT NOW(); SELECT CURRENT_USER()" for mcur in cur.execute(query, multi=True): if mcur.with_rows: print(mcur.fetchall()) 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
33.
Retrying a Transaction
(1/2) Using reconnect() tries = 10 while tries: tries -= 1 try: if not cnx.is_connected(): cnx.reconnect() cur = cnx.cursor() cur.execute(insert, ('Joe',)) 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
34.
Retrying a Transaction
(2/2) Using reconnect() cur.execute(insert, ('Joe',)) except mysql.connector.Error as err: if not tries: raise else: cnx.commit() break 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
35.
Some Performance Tips 35 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
36.
Push Work to
Server General tips Use MySQL functions – Date/Time calculation, – String operations, etc.. Sorting using ORDER BY in queries Select what you need – Don't SELECT * 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
37.
Push Work to
Server: Example Date calculation done by MySQL server query = "SELECT DATEDIFF( end, start) FROM events WHERE id = %s" cur.execute(query, (1234,)) event_length = cur.fetchone()[0] 37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
38.
Raw Data Use
a raw cursor – cnx.cursor(raw=True) No MySQL to Python conversion – data are all strings It is faster in most cases – dumping to CSV or create XML – handle conversion elsewhere 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
39.
Bulk Load Using
CSV Use LOAD DATA LOCAL INFILE Server configuration has to allow it – local_infile=1 Client flag has to be set 39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
40.
Using LOAD DATA
LOCAL INFILE CONFIG = { 'user': 'root', 'host': 'fk.example.com', 'client_flags': [mysql.connector.ClientFlag.LOCAL_FILES] } sql = "LOAD DATA LOCAL INFILE %s INTO TABLE employees" cur.execute(sql, ('employees.csv',)) 40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
41.
Frameworks and Applications 41 Copyright ©
2013, Oracle and/or its affiliates. All rights reserved.
42.
MySQL Projects Depending on
Connector/Python MySQL Utilities – Command line utilities – Managing, dumping data, failover, .. MySQL Fabric – Data distribution – High-availability for groups of MySQL servers Both pure Python & no 3rd party modules 42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
43.
SQLAlchemy SQL Toolkit
and ORM (Object Relational Mapper) Pythonic database access Used by lots of other (web) frameworks Connector/Python dialect included – Since SQLAlchemy 0.6 43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
44.
SQLAlchemy: Usage Connect String from
sqlalchemy import create_engine DB_URI = "mysql+mysqlconnector://{user}:{pwd}@{host}:{port}/{db}" engine = create_engine(DB_URI.format( user='joe', pwd='mysecret', db='employees', host='127.0.0.1', port=3306) ) 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
45.
Django Web framework
ORM and database API No support for Connector/Python But Connector/Python 1.1.1 supports Django – Support features as microsecond precision – Works with Django 1.4 and 1.5 – Python 3 support 45 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
46.
Django: Configuration Using Connector/Python
backend # settings.py DATABASES = { 'default': { 'ENGINE': 'mysql.connector.django', } } 46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
47.
Q&A 47 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
48.
Q&A More Information Documentation
& Examples – http://dev.mysql.com/doc/connector-python/en/index.html Download – http://dev.mysql.com/downloads/connector/python/#downloads Blog – http://geert.vanderkelen.org Feedback & Forum – http://forums.mysql.com/list.php?50 – http://bugs.mysql.com/ 48 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
49.
Graphic Section Divider 49 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
50.
50 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
Baixar agora