Develop Python Applications with MySQL Connector/Python DEV5957

Size: px
Start display at page:

Download "Develop Python Applications with MySQL Connector/Python DEV5957"

Transcription

1 Develop Python Applications with MySQL Connector/Python DEV5957 Jesper Wisborg Krogh Senior Principal Technical Support Engineer Oracle MySQL Support October 24, 2018

2 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle s products may change and remains at the sole discretion of Oracle Corporation.

3 Who Am I? Started to use MySQL in 2006 Been a MySQL Support engineer since 2011 Contributed to the Oracle Certified Professional exams for MySQL: MySQL 5.7 Database Administrator MySQL 5.6 Database Administrator MySQL 5.6 Developer Contributed to the MySQL sys schema Author of MySQL Connector/Python Revealed (Apress, 2018) Coauthor of Pro MySQL NDB Cluster (Apress, 2017)

4 Program Agenda What is MySQL Connector/Python? PEP249 Python Database API NoSQL + SQL the X DevAPI

5 What is MySQL Connector/Python? An overview of Support, Features, and Installation

6 MySQL Connector/Python 8 GA in April 2018 Maintained by Oracle Dual license Supports MySQL Server 5.5, 5.6, 5.7, and 8.0 SQL and NoSQL support Table and JSON Document support

7 Choice of Three APIs API Python Module Comment PEP249 Python Database API mysql.connector The traditional API C Extension API _mysql_connector Similar to the MySQL C API MySQL X DevAPI mysqlx New in 8.0, both SQL and NoSQL

8 Installing MySQL Connector/Python The Ease Choice: pip shell$ pip install mysql-connector-python Collecting mysql-connector-python Downloading 27df8a6b91e5eb9a95933f301aaac59d2af047df6/mysql_connector_python cp27-cp27mu-manylinux1_x86_64.whl (8.3MB) 100% 8.3MB 4.9MB/s Collecting protobuf>=3.0.0 (from mysql-connector-python) Downloading 05e fe8d17aa21d3c7dda811b8d01469/protobuf cp27- cp27mu-manylinux1_x86_64.whl (1.1MB) 100% 1.1MB 12.8MB/s Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages (from protobuf>=3.0.0->mysqlconnector-python) (0.9.8) Requirement already satisfied: six>=1.9 in /usr/lib/python2.7/site-packages (from protobuf>=3.0.0->mysqlconnector-python) (1.9.0) Installing collected packages: protobuf, mysql-connector-python Successfully installed mysql-connector-python protobuf

9 Installing MySQL Connector/Python MySQL Installer Great Choice on Microsoft Windows

10 Installing MySQL Connector/Python Other Choices Platform specific packages: RPM APT MySQL s Yum repository macos Platform-independent tar or zip files Source code

11 Create a Test User mysql> CREATE USER pyuser@localhost IDENTIFIED BY 'my_password'; mysql> GRANT ALL ON world.* TO pyuser@localhost; mysql> GRANT ALL ON py_test_db.* TO pyuser@localhost; [client] host = port = 3306 [connector_python] user = pyuser password = my_password The examples in this presentation are simplified. Please add the required checks in your programs, particularly check for warnings and errors.

12 PEP249 Python Database API Most Powerful for SQL

13 The Cursor Workflow Source: MySQL Connector/Python Revealed

14 Five Largest Cities in Australia import mysql.connector db = mysql.connector.connect(option_files="my.ini") cursor = db.cursor(named_tuple=true) cursor.execute(""" SELECT ID, Name, District, Population FROM world.city WHERE CountryCode = 'AUS' ORDER BY Population DESC LIMIT 5""") for row in cursor.fetchall(): print(row) cursor.close() db.close() Row(ID=130, Name='Sydney', District='New South Wales', Population= ) Row(ID=131, Name='Melbourne', District='Victoria', Population= ) Row(ID=132, Name='Brisbane', District='Queensland', Population= ) Row(ID=133, Name='Perth', District='West Australia', Population= ) Row(ID=134, Name='Adelaide', District='South Australia', Population=978100)

15 Do Not Trust User Input Never Ever! import mysql.connector user_input = "' OR TRUE;" db = mysql.connector.connect(option_files="my.ini") cursor = db.cursor(named_tuple=true) cursor.execute("select * FROM world.city WHERE Name = '{0}'".format(user_input)) rows = cursor.fetchall() for i in range(3): print(rows[i]) print("\nexecuted statement: {0}".format(cursor.statement)) print("total number of rows: {0}".format(cursor.rowcount)) cursor.close() db.close() Row(ID=1, Name='Kabul', CountryCode='AFG', District='Kabol', Population= ) Row(ID=2, Name='Qandahar', CountryCode='AFG', District='Qandahar', Population=237500) Row(ID=3, Name='Herat', CountryCode='AFG', District='Herat', Population=186800) Executed statement: SELECT * FROM world.city WHERE Name = '' OR TRUE;' Total number of rows: 4079

16 Protect Yourself Against Bad User Input Validate the input Parametrize the queries Use prepared statements Minimum privileges

17 Use Parametrization as Protection import mysql.connector user_input = "' OR TRUE;" db = mysql.connector.connect(option_files="my.ini") cursor = db.cursor(named_tuple=true) sql = "SELECT * FROM world.city WHERE Name = %(name)s" params = {'name': user_input} cursor.execute(sql, params) rows = cursor.fetchall() print("executed statement: {0}".format(cursor.statement)) print("total number of rows: {0}".format(cursor.rowcount)) cursor.close() db.close() Executed statement: SELECT * FROM world.city WHERE Name = '\' OR TRUE;' Total number of rows: 0

18 Use Prepared Statements as Protection import mysql.connector db = mysql.connector.connect(option_files="my.ini", use_pure=true) cursor = db.cursor(prepared=true) sql = "SELECT * FROM world.city WHERE Name = %s" cursor.execute(sql, ("San Francisco",)) row = cursor.fetchone() while row is not None: dict_row = dict(zip(cursor.column_names, row)) print(dict_row) row = cursor.fetchone() cursor.close() db.close() {'ID': 3805, 'Name': 'San Francisco', 'CountryCode': 'USA', 'District': 'California', 'Population': }

19 Always Check for Warnings import mysql.connector from mysql.connector.constants import SQLMode db = mysql.connector.connect(option_files="my.ini") db.get_warnings = True db.raise_on_warnings = True db.sql_mode = [SQLMode.ERROR_FOR_DIVISION_BY_ZERO, SQLMode.STRICT_TRANS_TABLES] cursor = db.cursor() cursor.execute("select 1/0") try: rows = cursor.fetchall() except mysql.connector.errors.databaseerror as e: if e.errno == mysql.connector.errorcode.er_division_by_zero: print("errno: {0.errno} - SQL State: {0.sqlstate}: {0.msg}".format(e)) print("warnings: {0}".format(cursor.fetchwarnings())) cursor.close() db.close() Errno: SQL State: None: Division by 0 Warnings: [('Warning', 1365, 'Division by 0')]

20 Other Features Stored procedures Multiple result sets Connection pool Failover

21 Tips and Tricks Use Native Methods Rather Than Queries When Changing Settings db.set_charset_collation() to change the character set/collation db.set_charset_collation(charset = "utf8mb4", collation = utf8mb4_0900_ai_ci") db.database or db.cmd_init_db() to change the default schema/database db.database = "world cmd_init_db("world") db.time_zone to change the time zone applies to timestamp columns db.time_zone = "-09:00" db.time_zone = "US/Pacific"

22 Tips and Tricks Connection Utility Methods Change the user: charset = CharacterSet.get_charset_info("utf8mb4", "utf8mb4_0900_ai_ci") db.cmd_change_user(username="root", password="password", database="world", charset=charset[0])) Check whether the connection exists: db.is_connected() db.ping(reconnect=true, attempts=5, delay=1) Reset the connection: db.cmd_reset_connection() db.reset_session(user_variables={ }, session_variables={ })

23 Tips and Tricks Get the MySQL Connector/Python and Server Version import mysql.connector conpy_version = mysql.connector. version print("mysql Connector/Python version...: {0}".format(conpy_version)) db = mysql.connector.connect(option_files="my.ini") print("server info:...: {0}".format(db.get_server_info())) server_version = db.get_server_version() print("server version...: {0}".format(server_version)) if server_version > (8, 0, 2): print("supports window functions") db.close() MySQL Connector/Python version...: Server info:...: commercial Server version...: (8, 0, 12) Supports window functions

24 Tips and Tricks Recommendations and Best Practices Use utf8mb4 as the character set Use one of the new Unicode 9.0 collations (utf8mb4_%0900_%) Give your database users minimal privileges Never ever store passwords in the source code Raise on warnings and check warnings from the get go

25 MySQL X DevAPI NoSQL + SQL = MySQL

26 The X DevAPI Developed from scratch for modern development Supports: SQL NoSQL JSON documents NoSQL SQL tables Uniform API across programming languages Supported in MySQL Shell

27 The X DevAPI Full ACID support Savepoints Connection pools (as of ) Failover

28 The MySQL Document Store

29 DEV5959 Python and the MySQL Document Store When: Today at 2:30pm Where: This room (Moscone West Room 2014) What: 45 minutes dedicated to Python and the MySQL Document Store

30 X DevAPI with SQL Tables CRUD support SQL support Supports MySQL Server 5.7 and 8.0. Source: MySQL Connector/Python Revealed

31 Create Table and Data import mysqlx import config session = mysqlx.get_session(**config.connect_args) schema = session.create_schema("py_test_db") session.sql(""" CREATE TABLE py_test_db.t1 ( id int unsigned NOT NULL auto_increment PRIMARY KEY, val varchar(10) NOT NULL)""").execute() table = schema.get_table("t1") connect_args = { "user": "pyuser", "password": "my_password", "host": " ", "port": 33060, } session.start_transaction() stmt = table.insert("val").values("abc") stmt.values("def") result = stmt.values("ghi").execute() session.commit() print("inserted {0} rows".format(result.get_affected_items_count())) print("first ID generated: {0}".format(result.get_autoincrement_value())) session.drop_schema("py_test_db") session.close() Inserted 3 rows First ID generated: 1

32 CRUD Select Statement Workflow

33 Read Data import mysqlx import config session = mysqlx.get_session(**config.connect_args) schema = session.get_schema("world") city = schema.get_table("city") result = city.select("id", "Name", "District", "Population") \.where("countrycode = :country_code") \.order_by("population DESC") \.limit(5) \.bind("country_code", "AUS") \.execute() fmt = "{ID:3d} {Name:9s} {District:15s} {Population:7d}" for row in result.fetch_all(): dict_row = {column.column_name: row[column.column_name] for column in result.columns} print(fmt.format(**dict_row)) session.close() 130 Sydney New South Wales Melbourne Victoria Brisbane Queensland Perth West Australia Adelaide South Australia

34 MySQL Shell Great for Interactive Use

35 Q & A Thanks for Attending

NoSQL + SQL = MySQL Get the Best of Both Worlds

NoSQL + SQL = MySQL Get the Best of Both Worlds NoSQL + SQL = MySQL Get the Best of Both Worlds Jesper Wisborg Krogh Senior Principal Technical Support Engineer Oracle, MySQL Support October 22, 2018 NEXT 15-MINUTE BRIEFING NoSQL + SQL = MySQL Safe

More information

MySQL as a Document Store. Ted Wennmark

MySQL as a Document Store. Ted Wennmark MySQL as a Document Store Ted Wennmark ted.wennmark@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and

More information

State of the Dolphin Developing new Apps in MySQL 8

State of the Dolphin Developing new Apps in MySQL 8 State of the Dolphin Developing new Apps in MySQL 8 Highlights of MySQL 8.0 technology updates Mark Swarbrick MySQL Principle Presales Consultant Jill Anolik MySQL Global Business Unit Israel Copyright

More information

Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018

Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018 Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018 Safe Harbor Statement The following is intended to outline our general

More information

Using the MySQL Document Store

Using the MySQL Document Store Using the MySQL Document Store Alfredo Kojima, Sr. Software Dev. Manager, MySQL Mike Zinner, Sr. Software Dev. Director, MySQL Safe Harbor Statement The following is intended to outline our general product

More information

NoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect

NoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect NoSQL + SQL = MySQL Nicolas De Rico Principal Solutions Architect nicolas.de.rico@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for

More information

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1 Insert Information Protection Policy Classification from Slide 12 Getting Started with MySQL Santo Leto Principal Technical Support Engineer, MySQL Jesper Wisborg Krogh Principal Technical Support Engineer,

More information

3 / 120. MySQL 8.0. Frédéric Descamps - MySQL Community Manager - Oracle

3 / 120. MySQL 8.0. Frédéric Descamps - MySQL Community Manager - Oracle 1 / 120 2 / 120 3 / 120 MySQL 8.0 a Document Store with all the benefits of a transactional RDBMS Frédéric Descamps - MySQL Community Manager - Oracle 4 / 120 Save the date! 5 / 120 Safe Harbor Statement

More information

MySQL Group Replication in a nutshell

MySQL Group Replication in a nutshell 1 / 126 2 / 126 MySQL Group Replication in a nutshell the core of MySQL InnoDB Cluster Oracle Open World September 19th 2016 Frédéric Descamps MySQL Community Manager 3 / 126 Safe Harbor Statement The

More information

Modern Development With MySQL

Modern Development With MySQL Modern Development With MySQL Nicolas De Rico nicolas.de.rico@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

MySQL InnoDB Cluster. MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients. FOSDEM 18 - February 04, 2018

MySQL InnoDB Cluster. MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients. FOSDEM 18 - February 04, 2018 MySQL InnoDB Cluster MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients FOSDEM 18 - February 04, 2018 Safe Harbor Statement The following is intended to outline our

More information

Databases in Python. MySQL, SQLite. Accessing persistent storage (Relational databases) from Python code

Databases in Python. MySQL, SQLite. Accessing persistent storage (Relational databases) from Python code Databases in Python MySQL, SQLite Accessing persistent storage (Relational databases) from Python code Goal Making some data 'persistent' When application restarts When computer restarts Manage big amounts

More information

1Z MySQL 5 Database Administrator Certified Professional Exam, Part II Exam.

1Z MySQL 5 Database Administrator Certified Professional Exam, Part II Exam. Oracle 1Z0-874 MySQL 5 Database Administrator Certified Professional Exam, Part II Exam TYPE: DEMO http://www.examskey.com/1z0-874.html Examskey Oracle 1Z0-874 exam demo product is here for you to test

More information

MySQL Document Store. How to replace a NoSQL database by MySQL without effort but with a lot of gains?

MySQL Document Store. How to replace a NoSQL database by MySQL without effort but with a lot of gains? 1 / 71 2 / 71 3 / 71 MySQL Document Store How to replace a NoSQL database by MySQL without effort but with a lot of gains? Percona University, Ghent, Belgium June 2017 Frédéric Descamps - MySQL Community

More information

MariaDB ColumnStore PySpark API Usage Documentation. Release d1ab30. MariaDB Corporation

MariaDB ColumnStore PySpark API Usage Documentation. Release d1ab30. MariaDB Corporation MariaDB ColumnStore PySpark API Usage Documentation Release 1.2.3-3d1ab30 MariaDB Corporation Mar 07, 2019 CONTENTS 1 Licensing 1 1.1 Documentation Content......................................... 1 1.2

More information

Best Practices for Performance Part 2.NET and Oracle Database

Best Practices for Performance Part 2.NET and Oracle Database Best Practices for Performance Part 2.NET and Oracle Database Alex Keh Christian Shay Product Managers Server Technologies September 19, 2016 Program Agenda 1 2 3 4 Caching SQL Tuning Advisor Oracle Performance

More information

What's New in MySQL 5.7?

What's New in MySQL 5.7? What's New in MySQL 5.7? Norvald H. Ryeng Software Engineer norvald.ryeng@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

More information

MySQL & NoSQL: The Best of Both Worlds

MySQL & NoSQL: The Best of Both Worlds MySQL & NoSQL: The Best of Both Worlds Mario Beck Principal Sales Consultant MySQL mario.beck@oracle.com 1 Copyright 2012, Oracle and/or its affiliates. All rights Safe Harbour Statement The following

More information

MySQL Performance Tuning 101

MySQL Performance Tuning 101 MySQL Performance Tuning 101 Hands-on-Lab Mirko Ortensi Senior Support Engineer MySQL Support @ Oracle October 3, 2017 Copyright 2017, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

LABORATORY OF DATA SCIENCE. Data Access: Relational Data Bases. Data Science and Business Informatics Degree

LABORATORY OF DATA SCIENCE. Data Access: Relational Data Bases. Data Science and Business Informatics Degree LABORATORY OF DATA SCIENCE Data Access: Relational Data Bases Data Science and Business Informatics Degree RDBMS data access 2 Protocols and API ODBC, OLE DB, ADO, ADO.NET, JDBC Python DBAPI with ODBC

More information

NoSQL and SQL: The Best of Both Worlds

NoSQL and SQL: The Best of Both Worlds NoSQL and SQL: The Best of Both Worlds Mario Beck MySQL Presales Manager EMEA Mablomy.blogspot.de 5 th November, 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

Oracle and.net: Best Practices for Performance. Christian Shay & Alex Keh Product Managers Oracle October 28, 2015

Oracle and.net: Best Practices for Performance. Christian Shay & Alex Keh Product Managers Oracle October 28, 2015 Oracle and.net: Best Practices for Performance Christian Shay & Alex Keh Product Managers Oracle October 28, 2015 Oracle Confidential Internal/Restricted/Highly Restricted Program Agenda 1 2 3 4 Optimization

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Introduction to MySQL InnoDB Cluster

Introduction to MySQL InnoDB Cluster 1 / 148 2 / 148 3 / 148 Introduction to MySQL InnoDB Cluster MySQL High Availability made easy Percona Live Europe - Dublin 2017 Frédéric Descamps - MySQL Community Manager - Oracle 4 / 148 Safe Harbor

More information

Help Us Help You - TFA Collector and the Support Tools Bundle

Help Us Help You - TFA Collector and the Support Tools Bundle Help Us Help You - TFA Collector and the Support Tools Bundle Bryan Vongray Senior Principal Technical Support Engineer Oracle Support October 24, 2018 Copyright 2018, Oracle and/or its affiliates. All

More information

<Insert Picture Here> MySQL Cluster What are we working on

<Insert Picture Here> MySQL Cluster What are we working on MySQL Cluster What are we working on Mario Beck Principal Consultant The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Building Highly Available and Scalable Real- Time Services with MySQL Cluster

Building Highly Available and Scalable Real- Time Services with MySQL Cluster Building Highly Available and Scalable Real- Time Services with MySQL Cluster MySQL Sales Consulting Director Philip Antoniades April, 3rd, 2012 1 Copyright 2012, Oracle and/or its affiliates. All rights

More information

Best Practices for Performance Part 1.NET and Oracle Database

Best Practices for Performance Part 1.NET and Oracle Database Best Practices for Performance Part 1.NET and Oracle Database Alex Keh Christian Shay Product Managers Server Technologies September 19, 2016 Program Agenda 1 2 3 4 Optimization Process ODP.NET Performance

More information

Upgrading to MySQL 8.0+: a More Automated Upgrade Experience. Dmitry Lenev, Software Developer Oracle/MySQL, November 2018

Upgrading to MySQL 8.0+: a More Automated Upgrade Experience. Dmitry Lenev, Software Developer Oracle/MySQL, November 2018 Upgrading to MySQL 8.0+: a More Automated Upgrade Experience Dmitry Lenev, Software Developer Oracle/MySQL, November 2018 Safe Harbor Statement The following is intended to outline our general product

More information

What s New for.net Developers in Oracle Database

What s New for.net Developers in Oracle Database What s New for.net Developers in Oracle Database Alex Keh Christian Shay Product Managers Server Technologies September 22, 2016 Program Agenda 1 2 3 4 5 Release Timelines ODAC 12c Release 4 Cloud Oracle

More information

#MySQL #oow16. MySQL Server 8.0. Geir Høydalsvik

#MySQL #oow16. MySQL Server 8.0. Geir Høydalsvik #MySQL #oow16 MySQL Server 8.0 Geir Høydalsvik Copyright Copyright 2 2016, 016,Oracle Oracle aand/or nd/or its its aaffiliates. ffiliates. AAll ll rights rights reserved. reserved. Safe Harbor Statement

More information

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer MySQL Group Replication Bogdan Kecman MySQL Principal Technical Engineer Bogdan.Kecman@oracle.com 1 Safe Harbor Statement The following is intended to outline our general product direction. It is intended

More information

LECTURE 21. Database Interfaces

LECTURE 21. Database Interfaces LECTURE 21 Database Interfaces DATABASES Commonly, Python applications will need to access a database of some sort. As you can imagine, not only is this easy to do in Python but there is a ton of support

More information

Oracle NoSQL Database at OOW 2017

Oracle NoSQL Database at OOW 2017 Oracle NoSQL Database at OOW 2017 CON6544 Oracle NoSQL Database Cloud Service Monday 3:15 PM, Moscone West 3008 CON6543 Oracle NoSQL Database Introduction Tuesday, 3:45 PM, Moscone West 3008 CON6545 Oracle

More information

MySQL Protocol Tutorial

MySQL Protocol Tutorial MySQL Protocol Tutorial Stéphane Legrand May 13, 2013 Abstract This tutorial illustrates the use of the MySQL Protocol library, a native OCaml implementation of the MySQL client protocol.

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

MySQL HA Solutions Selecting the best approach to protect access to your data

MySQL HA Solutions Selecting the best approach to protect access to your data MySQL HA Solutions Selecting the best approach to protect access to your data Sastry Vedantam sastry.vedantam@oracle.com February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved

More information

MySQL JSON. Morgan Tocker MySQL Product Manager. Copyright 2015 Oracle and/or its affiliates. All rights reserved.

MySQL JSON. Morgan Tocker MySQL Product Manager. Copyright 2015 Oracle and/or its affiliates. All rights reserved. MySQL 5.7 + JSON Morgan Tocker MySQL Product Manager Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

Oracle and.net Introduction and What s New. Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Oracle and.net Introduction and What s New. Copyright 2017, Oracle and/or its affiliates. All rights reserved. Oracle and.net Introduction and What s New Alex Keh Senior Principal Product Manager Oracle Christian Shay Senior Principal Product Manager Oracle Program Agenda 1 2 3 4 Getting Started Oracle Database

More information

CS108 Lecture 19: The Python DBAPI

CS108 Lecture 19: The Python DBAPI CS108 Lecture 19: The Python DBAPI Sqlite3 database Running SQL and reading results in Python Aaron Stevens 6 March 2013 What You ll Learn Today Review: SQL Review: the Python tuple sequence. How does

More information

LABORATORY OF DATA SCIENCE. Data Access: Relational Data Bases. Data Science and Business Informatics Degree

LABORATORY OF DATA SCIENCE. Data Access: Relational Data Bases. Data Science and Business Informatics Degree LABORATORY OF DATA SCIENCE Data Access: Relational Data Bases Data Science and Business Informatics Degree RDBMS data access 2 Protocols and API ODBC, OLE DB, ADO, ADO.NET, JDBC Python DBAPI with ODBC

More information

Why we re excited about MySQL 8

Why we re excited about MySQL 8 Why we re excited about MySQL 8 Practical Look for Devs and Ops Peter Zaitsev, CEO, Percona February 4nd, 2018 FOSDEM 1 In the Presentation Practical view on MySQL 8 Exciting things for Devs Exciting things

More information

Ad Hoc Reporting with Report Builder

Ad Hoc Reporting with Report Builder BI316 Ad Hoc Reporting with Report Builder David Lean Principal Technology Specialist Microsoft Australia Visit www.sqlserver.com.au Monthly Meetings + Great info + Great Contacts + Pizza & Beer It s Free!!!

More information

Histogram Support in MySQL 8.0

Histogram Support in MySQL 8.0 Histogram Support in MySQL 8.0 Øystein Grøvlen Senior Principal Software Engineer MySQL Optimizer Team, Oracle February 2018 Program Agenda 1 2 3 4 5 Motivating example Quick start guide How are histograms

More information

MySQL 8.0: Atomic DDLs Implementation and Impact

MySQL 8.0: Atomic DDLs Implementation and Impact MySQL 8.0: Atomic DDLs Implementation and Impact Ståle Deraas, Senior Development Manager Oracle, MySQL 26 Sept 2017 Copyright 2017, Oracle and/or its its affiliates. All All rights reserved. Safe Harbor

More information

Welcome to Virtual Developer Day MySQL!

Welcome to Virtual Developer Day MySQL! Welcome to Virtual Developer Day MySQL! Keynote: Developer and DBA Guide to What s New in MySQL 5.6 Rob Young Director of Product Management, MySQL 1 Program Agenda 9:00 AM Keynote: What s New in MySQL

More information

PL/SQL Programming for.net Developers: Tips, Tricks, and Debugging. Christian Shay Product Manager, Oracle

PL/SQL Programming for.net Developers: Tips, Tricks, and Debugging. Christian Shay Product Manager, Oracle 1 PL/SQL Programming for.net Developers: Tips, Tricks, and Debugging Christian Shay Product Manager, Oracle Program Agenda PL/SQL Development Lifecycle in VS Using PL/SQL with ODP.NET Introduction PL/SQL

More information

What s New with Oracle Database 12c on Windows: On-Premises and in the Cloud

What s New with Oracle Database 12c on Windows: On-Premises and in the Cloud What s New with Oracle Database 12c on Windows: On-Premises and in the Cloud Santanu Datta Vice President Database Technologies Alex Keh Senior Principal Product Manager Database Technologies Oracle Confidential

More information

Deploying Spatial Applications in Oracle Public Cloud

Deploying Spatial Applications in Oracle Public Cloud Deploying Spatial Applications in Oracle Public Cloud David Lapp, Product Manager Oracle Spatial and Graph Oracle Spatial Summit at BIWA 2017 Safe Harbor Statement The following is intended to outline

More information

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

POSTGRESQL - PYTHON INTERFACE

POSTGRESQL - PYTHON INTERFACE POSTGRESQL - PYTHON INTERFACE http://www.tutorialspoint.com/postgresql/postgresql_python.htm Copyright tutorialspoint.com Installation The PostgreSQL can be integrated with Python using psycopg2 module.

More information

OpenWorld Supply Orchestration Troubleshooting Tips For Supply Chain Management Cross Functional Flows

OpenWorld Supply Orchestration Troubleshooting Tips For Supply Chain Management Cross Functional Flows OpenWorld 2018 Supply Orchestration Troubleshooting Tips For Supply Chain Management Cross Functional Flows Ashish Pachauri Senior Technical Support Engineer Oracle Support, Fusion Application Support

More information

Centralized Database User Management Using Active Directory

Centralized Database User Management Using Active Directory Centralized Database User Management Using Active Directory CON6574 Alan Williams Product Management Oracle Database Security October 2017 Presented with Copyright 2017, Oracle and/or its affiliates. All

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1 MySQL : 5.6 the Next Generation Lynn Ferrante Principal Consultant, Technical Sales Engineering Northern California Oracle Users Group November 2012 2 Safe Harbor Statement The

More information

Combining SQL and NoSQL with MySQL

Combining SQL and NoSQL with MySQL Combining SQL and NoSQL with MySQL Manyi Lu Director MySQL Optimizer Team, Oracle April, 2018 Copyright 2016, 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following

More information

From the Beginning: Your First Node.js Web Service

From the Beginning: Your First Node.js Web Service From the Beginning: Your First Node.js Web Service P. Venkatramen Data Access Development Oracle Database 10 April 2018 Copyright 2017, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Copyright 2018, Oracle and/or its affiliates. All rights reserved. Copyright 2018, Oracle and/or its affiliates. All rights reserved. OpenWorld 2018 Tips and Tricks Session User Defined Attributes Framework Extend Your Data Capturing in R12.2 EBS Kishor Genikala Senior

More information

Best Practices for Performance

Best Practices for Performance Best Practices for Performance.NET and Oracle Database Alex Keh Senior Principal Product Manager Oracle October 4, 2017 Christian Shay Senior Principal Product Manager Oracle Program Agenda 1 2 3 4 Optimization

More information

MySQL for Developers Ed 3

MySQL for Developers Ed 3 Oracle University Contact Us: 1.800.529.0165 MySQL for Developers Ed 3 Duration: 5 Days What you will learn This MySQL for Developers training teaches developers how to plan, design and implement applications

More information

MySQL Cluster (NDB) An Introduc+on and Overview. Ma3hew Boehm April

MySQL Cluster (NDB) An Introduc+on and Overview. Ma3hew Boehm April MySQL Cluster (NDB) An Introduc+on and Overview Ma3hew Boehm April 15 2015 Outline 2 What is it? Who uses it? Why use it? How do you...? Who - About Me 3 Ma3hew (not Ma3) Boehm Percona since November 2012

More information

PYTHON MYSQL DATABASE ACCESS

PYTHON MYSQL DATABASE ACCESS PYTHON MYSQL DATABASE ACCESS http://www.tuto rialspo int.co m/pytho n/pytho n_database_access.htm Copyrig ht tutorialspoint.com T he Python standard for database interfaces is the Python DB-API. Most Python

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Getting Started with Oracle and.net

Getting Started with Oracle and.net Getting Started with Oracle and.net Christian Shay Product Manager Oracle Eric Courville Senior Member of Technical Staff Verizon Oracle Confidential Internal/Restricted/Highly Restricted Program Agenda

More information

Multitenancy and Continuous Availability for Java Applications Oracle Database 18

Multitenancy and Continuous Availability for Java Applications Oracle Database 18 Multitenancy and Continuous Availability for Java Applications Oracle Database 18 Nirmala Sundarappa Kuassi Mensah Jean De Lavarene Principal Product Manager Director of Product Management Director, Development

More information

NOSQL DATABASE CLOUD SERVICE. Flexible Data Models. Zero Administration. Automatic Scaling.

NOSQL DATABASE CLOUD SERVICE. Flexible Data Models. Zero Administration. Automatic Scaling. NOSQL DATABASE CLOUD SERVICE Flexible Data Models. Zero Administration. Automatic Scaling. Application development with no hassle... Oracle NoSQL Cloud Service is a fully managed NoSQL database cloud service

More information

Press Release Writing Tips and Tricks for the Enterprise Technology Space

Press Release Writing Tips and Tricks for the Enterprise Technology Space A webinar for Press Release Writing Tips and Tricks for the Enterprise Technology Space Julie Sugishita Corporate Communications Manager Oracle May 19, 2016 julie.sugishita@oracle.com https://www.linkedin.com/in/juliesugishita

More information

Python and Databases

Python and Databases Python and Databases Wednesday 25 th March CAS North East Conference, Newcastle Sue Sentance King s College London/CAS/Python School @suesentance sue.sentance@computingatschool.org.uk This handout includes

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 ADVANCED MYSQL REPLICATION ARCHITECTURES Luís

More information

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 Getting Started with Oracle and.net Alex Keh Senior Principal Product Manager Program Agenda Oracle and Microsoft Oracle and.net Getting Started Oracle Developer Tools for Visual Studio Oracle Data Provider

More information

Everything You Need to Know About MySQL Group Replication

Everything You Need to Know About MySQL Group Replication Everything You Need to Know About MySQL Group Replication Luís Soares (luis.soares@oracle.com) Principal Software Engineer, MySQL Replication Lead Copyright 2017, Oracle and/or its affiliates. All rights

More information

Alter Change Default Schema Oracle Sql Developer

Alter Change Default Schema Oracle Sql Developer Alter Change Default Schema Oracle Sql Developer Set default schema in Oracle Developer Tools in Visual STudio 2013 any other schema's. I can run alter session set current_schema=xxx Browse other questions

More information

MySQL Cluster Web Scalability, % Availability. Andrew

MySQL Cluster Web Scalability, % Availability. Andrew MySQL Cluster Web Scalability, 99.999% Availability Andrew Morgan @andrewmorgan www.clusterdb.com Safe Harbour Statement The following is intended to outline our general product direction. It is intended

More information

MySQL X Protocol Talking to MySQL Directly over the Wire

MySQL X Protocol Talking to MySQL Directly over the Wire MySQL X Protocol Talking to MySQL Directly over the Wire Simon J Mudd Percona Live Europe Amsterdam 5 th October 2016 Content What is MySQL X protocol How does it work Building

More information

MySQL for Developers. Duration: 5 Days

MySQL for Developers. Duration: 5 Days Oracle University Contact Us: 0800 891 6502 MySQL for Developers Duration: 5 Days What you will learn This MySQL for Developers training teaches developers how to develop console and web applications using

More information

DBAs can use Oracle Application Express? Why?

DBAs can use Oracle Application Express? Why? DBAs can use Oracle Application Express? Why? 20. Jubilarna HROUG Konferencija October 15, 2015 Joel R. Kallman Director, Software Development Oracle Application Express, Server Technologies Division Copyright

More information

MySQL for Developers. Duration: 5 Days

MySQL for Developers. Duration: 5 Days Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 MySQL for Developers Duration: 5 Days What you will learn This MySQL for Developers training teaches developers how to develop

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

Effective Software Development with MySQL

Effective Software Development with MySQL 25+ years Experience Effective Software Development with MySQL Ronald Bradford August 2015 The greatest performance overhead in MySQL systems today is the lack of SQL skills and general development skills

More information

Kaivos User Guide Getting a database account 2

Kaivos User Guide Getting a database account 2 Contents Kaivos User Guide 1 1. Getting a database account 2 2. MySQL client programs at CSC 2 2.1 Connecting your database..................................... 2 2.2 Setting default values for MySQL connection..........................

More information

Turning Relational Database Tables into Spark Data Sources

Turning Relational Database Tables into Spark Data Sources Turning Relational Database Tables into Spark Data Sources Kuassi Mensah Jean de Lavarene Director Product Mgmt Director Development Server Technologies October 04, 2017 3 Safe Harbor Statement The following

More information

Consolidate and Prepare for Cloud Efficiencies Oracle Database 12c Oracle Multitenant Option

Consolidate and Prepare for Cloud Efficiencies Oracle Database 12c Oracle Multitenant Option Consolidate and Prepare for Cloud Efficiencies Oracle Database 12c Oracle Multitenant Option Eric Rudie Master Principal Sales Consultant Oracle Public Sector 27 September 2016 Safe Harbor Statement The

More information

MySQL Replication Update

MySQL Replication Update MySQL Replication Update Lars Thalmann Development Director MySQL Replication, Backup & Connectors OSCON, July 2011 MySQL Releases MySQL 5.1 Generally Available, November 2008 MySQL

More information

CS 2316 Exam 4 Fall 2011

CS 2316 Exam 4 Fall 2011 CS 2316 Exam 4 Fall 2011 Name : Grading TA: Integrity: By taking this exam, you pledge that this is your work and you have neither given nor received inappropriate help during the taking of this exam in

More information

Power your cloud infrastructure with Oracle VM and Cisco!

Power your cloud infrastructure with Oracle VM and Cisco! Power your cloud infrastructure with Oracle VM and Cisco! John Priest Director PM Oracle VM October 26/27, 2015 Safe Harbor Statement The following is intended to outline our general product direction.

More information

MySQL for Developers Ed 3

MySQL for Developers Ed 3 Oracle University Contact Us: 0845 777 7711 MySQL for Developers Ed 3 Duration: 5 Days What you will learn This MySQL for Developers training teaches developers how to plan, design and implement applications

More information

The Blackhole and Federated Storage Engines: The Coolest Kids on the Block

The Blackhole and Federated Storage Engines: The Coolest Kids on the Block The Blackhole and Federated Storage Engines: The Coolest Kids on the Block Kai Voigt, kai@mysql.com Senior Instructor, MySQL AB Giuseppe Maxia, giuseppe@mysql.com QA Developer, MySQL AB Kai Voigt Mister

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1 Insert Information Protection Policy Classification from Slide 13 Active Directory and Windows Security Integration with Oracle Database Santanu Datta Christian Shay Mark Wilcox VP, Development Principal

More information

Relational databases and SQL

Relational databases and SQL Relational databases and SQL Relational Database Management Systems Most serious data storage is in RDBMS Oracle, MySQL, SQL Server, PostgreSQL Why so popular? Based on strong theory, well-understood performance

More information

phoenixdb Release Nov 14, 2017

phoenixdb Release Nov 14, 2017 phoenixdb Release Nov 14, 2017 Contents 1 Installation 3 2 Usage 5 3 Setting up a development environment 7 4 Interactive SQL shell 9 5 Running the test suite 11 6 Known issues 13 7 API Reference 15 7.1

More information

<Insert Picture Here> Active Directory and Windows Security Integration with Oracle Database

<Insert Picture Here> Active Directory and Windows Security Integration with Oracle Database 1 Active Directory and Windows Security Integration with Oracle Database Santanu Datta ` Christian Shay Mark Wilcox Sr. Director Principal Product Manager Principal Product Manager

More information

<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2

<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2 Looking at Performance - What s new in MySQL Workbench 6.2 Mario Beck MySQL Sales Consulting Manager EMEA The following is intended to outline our general product direction. It is

More information

PyMySQL Documentation

PyMySQL Documentation PyMySQL Documentation Release 0.7.2 Yutaka Matsubara and GitHub contributors Mar 10, 2018 Contents 1 User Guide 1 1.1 Installation................................................ 1 1.2 Examples.................................................

More information

SQL Commands & Mongo DB New Syllabus

SQL Commands & Mongo DB New Syllabus Chapter 15 : Computer Science Class XI ( As per CBSE Board) SQL Commands & Mongo DB New Syllabus 2018-19 SQL SQL is an acronym of Structured Query Language.It is a standard language developed and used

More information

PyMySQL Documentation

PyMySQL Documentation PyMySQL Documentation Release 0.7.2 Yutaka Matsubara and GitHub contributors Mar 22, 2017 Contents 1 User Guide 1 1.1 Installation................................................ 1 1.2 Examples.................................................

More information

CE419 Web Programming. Session 15: Django Web Framework

CE419 Web Programming. Session 15: Django Web Framework CE419 Web Programming Session 15: Django Web Framework Web Applications & Databases In modern Web applications, the arbitrary logic often involves interacting with a database. Behind the scenes, a database-driven

More information

DBArtisan New Features Guide

DBArtisan New Features Guide Product Documentation DBArtisan New Features Guide Version 8.7 Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California Street, 12th Floor San Francisco, California 94111 York

More information

Database Migration with MySQL Workbench. Alfredo Kojima, Team Lead MySQL Workbench Mike Frank, Product Manager

Database Migration with MySQL Workbench. Alfredo Kojima, Team Lead MySQL Workbench Mike Frank, Product Manager Database Migration with MySQL Workbench Alfredo Kojima, Team Lead MySQL Workbench Mike Frank, Product Manager Copyright Copyright 2014, 2014, Oracle Oracle and/or and/or its its affiliates. affiliates.

More information

Databases. Course October 23, 2018 Carsten Witt

Databases. Course October 23, 2018 Carsten Witt Databases Course 02807 October 23, 2018 Carsten Witt Databases Database = an organized collection of data, stored and accessed electronically (Wikipedia) Different principles for organization of data:

More information

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Robert Wunderlich Sr. Principal Product Manager September 19, 2016 Copyright 2016, Oracle and/or its affiliates. All rights

More information

Oracle Database 18c and Autonomous Database

Oracle Database 18c and Autonomous Database Oracle Database 18c and Autonomous Database Maria Colgan Oracle Database Product Management March 2018 @SQLMaria Safe Harbor Statement The following is intended to outline our general product direction.

More information