Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 34,
- "metadata": {},
- "outputs": [],
- "source": [
- "import ibm_db\n",
- "import ibm_db_dbi\n",
- "import pandas"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {},
- "outputs": [],
- "source": [
- "dsn_hostname = \"dashdb-txn-sbox-yp-lon02-01.services.eu-gb.bluemix.net\" \n",
- "dsn_uid = \"rvq37092\" \n",
- "dsn_pwd = \"mtbl2z7w@fjr4tdm\" \n",
- "\n",
- "dsn_driver = \"{IBM DB2 ODBC DRIVER}\"\n",
- "dsn_database = \"BLUDB\" \n",
- "dsn_port = \"50000\" \n",
- "dsn_protocol = \"TCPIP\" "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=BLUDB;HOSTNAME=dashdb-txn-sbox-yp-lon02-01.services.eu-gb.bluemix.net;PORT=50000;PROTOCOL=TCPIP;UID=rvq37092;PWD=mtbl2z7w@fjr4tdm;\n"
- ]
- }
- ],
- "source": [
- "#используется как атрибут при создании объекта подключения в методе ibm_db.connect()\n",
- "dsn = (\n",
- " f\"DRIVER={dsn_driver};\"\n",
- " f\"DATABASE={dsn_database};\"\n",
- " f\"HOSTNAME={dsn_hostname};\"\n",
- " f\"PORT={dsn_port};\"\n",
- " f\"PROTOCOL={dsn_protocol};\"\n",
- " f\"UID={dsn_uid};\"\n",
- " f\"PWD={dsn_pwd};\")\n",
- "\n",
- "#print the connection string to check correct values are specified\n",
- "print(dsn)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Connected to database: BLUDB as user: rvq37092 on host: dashdb-txn-sbox-yp-lon02-01.services.eu-gb.bluemix.net\n"
- ]
- }
- ],
- "source": [
- "#создание объекта подключения к БД\n",
- "try:\n",
- " conn = ibm_db.connect(dsn, \"\", \"\")\n",
- " print (\"Connected to database: \", dsn_database, \"as user: \", dsn_uid, \"on host: \", dsn_hostname)\n",
- "\n",
- "except:\n",
- " print (\"Unable to connect: \", ibm_db.conn_errormsg() )"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "DBMS_NAME: DB2/LINUXX8664\n",
- "DBMS_VER: 11.01.0303\n",
- "DB_NAME: BLUDB\n"
- ]
- }
- ],
- "source": [
- "server = ibm_db.server_info(conn)\n",
- "\n",
- "print (\"DBMS_NAME: \", server.DBMS_NAME)\n",
- "print (\"DBMS_VER: \", server.DBMS_VER)\n",
- "print (\"DB_NAME: \", server.DB_NAME)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "DRIVER_NAME: libdb2.a\n",
- "DRIVER_VER: 11.01.0404\n",
- "DATA_SOURCE_NAME: BLUDB\n",
- "DRIVER_ODBC_VER: 03.51\n",
- "ODBC_VER: 03.01.0000\n",
- "ODBC_SQL_CONFORMANCE: EXTENDED\n",
- "APPL_CODEPAGE: 1208\n",
- "CONN_CODEPAGE: 1208\n"
- ]
- }
- ],
- "source": [
- "client = ibm_db.client_info(conn)\n",
- "\n",
- "print (\"DRIVER_NAME: \", client.DRIVER_NAME) \n",
- "print (\"DRIVER_VER: \", client.DRIVER_VER)\n",
- "print (\"DATA_SOURCE_NAME: \", client.DATA_SOURCE_NAME)\n",
- "print (\"DRIVER_ODBC_VER: \", client.DRIVER_ODBC_VER)\n",
- "print (\"ODBC_VER: \", client.ODBC_VER)\n",
- "print (\"ODBC_SQL_CONFORMANCE: \", client.ODBC_SQL_CONFORMANCE)\n",
- "print (\"APPL_CODEPAGE: \", client.APPL_CODEPAGE)\n",
- "print (\"CONN_CODEPAGE: \", client.CONN_CODEPAGE)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [],
- "source": [
- "#ibm_db.close(conn)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 44,
- "metadata": {},
- "outputs": [],
- "source": [
- "# Создание SQL запроса на стирание таблицы\n",
- "dropQuery = \"drop table INSTRUCTOR\"\n",
- "\n",
- "#Отправка SQL запроса\n",
- "dropStmt = ibm_db.exec_immediate(conn, dropQuery)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 45,
- "metadata": {},
- "outputs": [],
- "source": [
- "# создание SQL запроса на создание таблицы\n",
- "createQuery = \"create table INSTRUCTOR(ID INTEGER PRIMARY KEY NOT NULL, FNAME VARCHAR(20), LNAME VARCHAR(20), CITY VARCHAR(20), CCODE CHAR(2))\"\n",
- "# отправка\n",
- "createStmt = ibm_db.exec_immediate(conn,createQuery)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 46,
- "metadata": {},
- "outputs": [],
- "source": [
- "# заполнение таблицы тесовой информацией\n",
- "insertQuery = \"insert into INSTRUCTOR values (1, 'Rav', 'Ahuja', 'TORONTO', 'CA'), (2, 'Raul', 'Chong', 'Markham', 'CA'), (3, 'Hima', 'Vasudevan', 'Chicago', 'US')\"\n",
- "\n",
- "insertStmt = ibm_db.exec_immediate(conn, insertQuery)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 50,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'ID': 1,\n",
- " 0: 1,\n",
- " 'FNAME': 'Rav',\n",
- " 1: 'Rav',\n",
- " 'LNAME': 'Ahuja',\n",
- " 2: 'Ahuja',\n",
- " 'CITY': 'Moscow',\n",
- " 3: 'Moscow',\n",
- " 'CCODE': 'CA',\n",
- " 4: 'CA'}"
- ]
- },
- "execution_count": 50,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# создание SQL запроса \"выбрать все строки из таблицы\"\n",
- "selectQuery = \"select * from INSTRUCTOR\"\n",
- "\n",
- "# отправка таблицы\n",
- "selectStmt = ibm_db.exec_immediate(conn, selectQuery)\n",
- "\n",
- "# получение JSON\n",
- "ibm_db.fetch_both(selectStmt)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 49,
- "metadata": {},
- "outputs": [],
- "source": [
- "# создание SQL запроса \"заменить город у Rav\"\n",
- "updateQuery = \"update INSTRUCTOR SET CITY='Moscow' where FNAME='Rav'\"\n",
- "\n",
- "# отправка таблицы\n",
- "updateStmt = ibm_db.exec_immediate(conn, updateQuery)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 51,
- "metadata": {},
- "outputs": [],
- "source": [
- "# соединение для работы модуля pandas\n",
- "pconn = ibm_db_dbi.Connection(conn)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 59,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>ID</th>\n",
- " <th>FNAME</th>\n",
- " <th>LNAME</th>\n",
- " <th>CITY</th>\n",
- " <th>CCODE</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>0</th>\n",
- " <td>1</td>\n",
- " <td>Rav</td>\n",
- " <td>Ahuja</td>\n",
- " <td>Moscow</td>\n",
- " <td>CA</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>1</th>\n",
- " <td>2</td>\n",
- " <td>Raul</td>\n",
- " <td>Chong</td>\n",
- " <td>Markham</td>\n",
- " <td>CA</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>2</th>\n",
- " <td>3</td>\n",
- " <td>Hima</td>\n",
- " <td>Vasudevan</td>\n",
- " <td>Chicago</td>\n",
- " <td>US</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " ID FNAME LNAME CITY CCODE\n",
- "0 1 Rav Ahuja Moscow CA\n",
- "1 2 Raul Chong Markham CA\n",
- "2 3 Hima Vasudevan Chicago US"
- ]
- },
- "execution_count": 59,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "selectQuery = \"select * from INSTRUCTOR\"\n",
- "\n",
- "pdf = pandas.read_sql(selectQuery, pconn)\n",
- "\n",
- "#pdf.CITY LNAME, FNAME и т.д.\n",
- "pdf"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 60,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "(3, 5)"
- ]
- },
- "execution_count": 60,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pdf.shape"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 61,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 61,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "ibm_db.close(conn)"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python",
- "language": "python",
- "name": "conda-env-python-py"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.6.7"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 4
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement