অজগর প্রোগ্রামটি ব্যবহার করে আমি কীভাবে একটি মাইএসকিউএল ডাটাবেসের সাথে সংযুক্ত করব?
pymysql
কারণ এটি তুলনা অনুযায়ী খাঁটি মুক্ত পাইথন ।
অজগর প্রোগ্রামটি ব্যবহার করে আমি কীভাবে একটি মাইএসকিউএল ডাটাবেসের সাথে সংযুক্ত করব?
pymysql
কারণ এটি তুলনা অনুযায়ী খাঁটি মুক্ত পাইথন ।
উত্তর:
1 - সেট
কিছু করার আগে আপনার অবশ্যই একটি মাইএসকিউএল ড্রাইভার ইনস্টল করতে হবে। পিএইচপি থেকে পৃথক, পাইথনের সাথে কেবলমাত্র এসকিউএল ড্রাইভারই ডিফল্টরূপে ইনস্টল করা হয়। এটি করতে সর্বাধিক ব্যবহৃত প্যাকেজটি মাইএসকিউএলডিবি তবে ইজি_ইনস্টল ব্যবহার করে এটি ইনস্টল করা শক্ত। দয়া করে নোট করুন মাইএসকিউএলডিবি কেবল পাইথন 2 সমর্থন করে।
উইন্ডোজ ব্যবহারকারীর জন্য, আপনি মাইএসকিউএলডিবি'র একটি এক্সেস পেতে পারেন ।
লিনাক্সের জন্য এটি একটি নৈমিত্তিক প্যাকেজ (পাইথন-মাইসকিএলডিবি)। (আপনি sudo apt-get install python-mysqldb
(ডেবিয়ান ভিত্তিক ডিস্ট্রোসের জন্য), yum install MySQL-python
(আরপিএম-ভিত্তিক), বা dnf install python-mysql
(আধুনিক ফেডোরা ডিসট্রোর জন্য) ডাউনলোড করতে কমান্ড লাইনে ব্যবহার করতে পারেন)
ম্যাকের জন্য, আপনি ম্যাকপোর্ট ব্যবহার করে মাইএসকিউএলডিবি ইনস্টল করতে পারেন ।
2 - ব্যবহার
ইনস্টল করার পরে, পুনরায় বুট করুন। এটি বাধ্যতামূলক নয়, তবে কিছু ভুল হয়ে গেলে এটি পোস্টে 3 বা 4 টি অন্যান্য প্রশ্নের উত্তর থেকে আমাকে বাধা দেবে। সুতরাং দয়া করে পুনরায় বুট করুন।
তারপরে এটি অন্য যে কোনও প্যাকেজ ব্যবহার করার মতো:
#!/usr/bin/python
import MySQLdb
db = MySQLdb.connect(host="localhost", # your host, usually localhost
user="john", # your username
passwd="megajonhy", # your password
db="jonhydb") # name of the data base
# you must create a Cursor object. It will let
# you execute all the queries you need
cur = db.cursor()
# Use all the SQL you like
cur.execute("SELECT * FROM YOUR_TABLE_NAME")
# print all the first cell of all the rows
for row in cur.fetchall():
print row[0]
db.close()
অবশ্যই, সম্ভাবনা এবং বিকল্প হাজার হাজার আছে; এটি একটি খুব মৌলিক উদাহরণ। আপনাকে ডকুমেন্টেশনটি দেখতে হবে। একটি ভাল সূচনা পয়েন্ট ।
3 - আরও উন্নত ব্যবহার
এটি কীভাবে কাজ করে তা জানার পরে আপনি নিজেই এসকিউএল লেখা এড়ানোর জন্য কোনও ওআরএম ব্যবহার করতে এবং আপনার টেবিলগুলিকে পাইথন অবজেক্ট হিসাবে ম্যানিপুলেট করতে চাইতে পারেন । পাইথন সম্প্রদায়ের সর্বাধিক বিখ্যাত ওআরএম হলেন এসকিউএলএলকেমি ।
আমি আপনাকে দৃ strongly়ভাবে এটি ব্যবহার করার পরামর্শ দিচ্ছি: আপনার জীবন আরও সহজ হতে চলেছে।
আমি পাইথন ওয়ার্ল্ডে সম্প্রতি আরেকটি রত্ন আবিষ্কার করেছি: পিউই । এটি খুব হালকা ওআরএম, এরপরে ব্যবহারের জন্য সেটআপ করা সত্যিই সহজ এবং দ্রুত। এটি আমার ছোট ছোট প্রকল্পগুলির জন্য বা একা অ্যাপ্লিকেশনগুলির জন্য দাঁড়ায়, যেখানে এসকিউএএলএলচেমি বা জ্যাঙ্গোর মতো বড় বড় সরঞ্জামগুলি ব্যবহার করা অতিরিক্ত দক্ষতা অর্জন করে:
import peewee
from peewee import *
db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy')
class Book(peewee.Model):
author = peewee.CharField()
title = peewee.TextField()
class Meta:
database = db
Book.create_table()
book = Book(author="me", title='Peewee is cool')
book.save()
for book in Book.filter(author="me"):
print book.title
এই উদাহরণটি বাক্সের বাইরে কাজ করে। উঁকি দেওয়া ( pip install peewee
) ছাড়া অন্য কোনও কিছুর প্রয়োজন নেই।
pip install MySQL-python
এটি করার একটি উপায় এখানে মাইএসকিউএলডিবি ব্যবহার করে যা কেবল পাইথন 2 সমর্থন করে:
#!/usr/bin/python
import MySQLdb
# Connect
db = MySQLdb.connect(host="localhost",
user="appuser",
passwd="",
db="onco")
cursor = db.cursor()
# Execute SQL select statement
cursor.execute("SELECT * FROM location")
# Commit your changes if writing
# In this case, we are only reading data
# db.commit()
# Get the number of rows in the resultset
numrows = cursor.rowcount
# Get and display one row at a time
for x in range(0, numrows):
row = cursor.fetchone()
print row[0], "-->", row[1]
# Close the connection
db.close()
No module named MySQLdb
। আমি কীভাবে শেয়ার্ড হোস্টিংয়ে অজগরটির সাথে মাইএসকিএল ব্যবহার করতে পারি। কোন বিকল্প?
ওরাকল (মাইএসকিউএল) এখন একটি খাঁটি পাইথন সংযোগকারী সমর্থন করে। তার অর্থ ইনস্টল করার জন্য কোনও বাইনারি নেই: এটি কেবল একটি পাইথন লাইব্রেরি। একে "সংযোগকারী / পাইথন" বলা হয়।
আপনার যদি মাইএসকিউএলডিবি না লাগে তবে যে কোনও গ্রন্থাগার গ্রহণ করা হয় তবে আমি মাইএসকিউএল থেকে মাইএসকিউএল সংযোগকারী / পাইথনকে খুব সুপারিশ করব: http://dev.mysql.com/downloads/connector/python/ ।
এটি একটি প্যাকেজ (প্রায় ১১০ কিলোমিটার) খাঁটি পাইথন, সুতরাং এটি সিস্টেম স্বতন্ত্র এবং ইনস্টল করার জন্য মৃত সহজ। আপনি কেবল ডাউনলোড করুন, ডাবল-ক্লিক করুন, লাইসেন্স চুক্তিটি নিশ্চিত করুন এবং যান। এক্সকোড, ম্যাকপোর্টস, সংকলন, পুনরায় আরম্ভ করার দরকার নেই ...
তারপরে আপনি যেমন সংযুক্ত হন:
import mysql.connector
cnx = mysql.connector.connect(user='scott', password='tiger',
host='127.0.0.1',
database='employees')
try:
cursor = cnx.cursor()
cursor.execute("""
select 3 from your_table
""")
result = cursor.fetchall()
print result
finally:
cnx.close()
rpm -i mysql-connector-python-1.1.5-1.el6.noarch.rpm
error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by mysql-connector-python-1.1.5-1.el6.noarch
rpmlib(PayloadIsXz) <= 5.2-1 is needed by mysql-connector-python-1.1.5-1.el6.noarch
pip install mysql-connector-python
কাজ করবে। আমি দেখতে পাচ্ছি না যেখানে এটি পিপিআই-তে আর সমর্থন করে না? দুর্দান্ত যদি আপনার সিস্টেমে জিসিসি / সি সংকলকগুলির অ্যাক্সেস না থাকে এবং তাই ইনস্টল করতে পারবেন না mysqldb
।
pip search mysql-connector
প্যাকেজের নামটি খুঁজতে পাইপের জন্য প্যাকেজটি কেবল মাইএসকিএল-সংযোজক । উত্তর এখান থেকে: stackoverflow.com/a/22829966/2048266
মাইএসকিউএলডিবি ব্যবহার বন্ধ করুন যদি আপনি পাইথন থেকে মাইএসকিএল অ্যাক্সেস করতে মাইএসকিএল শিরোনাম ইনস্টল করা এড়াতে চান।
পাইমিস্কেল ব্যবহার করুন । এটি মাইএসকিউএলডিবি যা করে তা সবই করে, তবে এটি বহিরাগত নির্ভরতা সহ পাইথনে খাঁটিভাবে প্রয়োগ করা হয়েছিল । এটি সমস্ত অপারেটিং সিস্টেমে ইনস্টলেশন প্রক্রিয়াটিকে সামঞ্জস্যপূর্ণ এবং সহজ করে তোলে। pymysql
মাইএসকিউএলডিবি এবং আইএমএইচও-র প্রতিস্থাপনের ড্রপ হ'ল কোনও কিছুর জন্য মাইএসকিউএলডিবি ব্যবহার করার কোনও কারণ নেই ... সর্বদা! - PTSD from installing MySQLDb on Mac OSX and *Nix systems
, তবে আমি শুধু
স্থাপন
pip install pymysql
এটাই ... আপনি খেলতে প্রস্তুত।
পাইমিস্কেল গিথুব রেপো ব্যবহারের উদাহরণ Example
import pymysql.cursors
import pymysql
# Connect to the database
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
# connection is not autocommit by default. So you must commit to save
# your changes.
connection.commit()
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
cursor.execute(sql, ('webmaster@python.org',))
result = cursor.fetchone()
print(result)
finally:
connection.close()
এছাড়াও - দ্রুত এবং স্বচ্ছভাবে বিদ্যমান কোডটিতে মাইএসকিউএলডিবি প্রতিস্থাপন করুন
আপনার যদি বিদ্যমান কোড রয়েছে যা মাইএসকিউএলডিবি ব্যবহার করে, আপনি সহজেই এই সাধারণ প্রক্রিয়াটি ব্যবহার করে এটি পিমিসকিএল দিয়ে সহজেই প্রতিস্থাপন করতে পারেন:
# import MySQLdb << Remove this line and replace with:
import pymysql
pymysql.install_as_MySQLdb()
মাইএসকিউএলডিবি-র পরবর্তী সমস্ত রেফারেন্সগুলি স্বচ্ছভাবে পাইমিস্কেল ব্যবহার করবে।
মাইএসকিউএলডিবি ব্যবহার করার চেষ্টা করুন । মাইএসকিউএলডিবি কেবল পাইথন 2 সমর্থন করে।
এখানে কীভাবে পৃষ্ঠা করতে হবে: http://www.kitebird.com/articles/pydbapi.html
পৃষ্ঠা থেকে:
# server_version.py - retrieve and display database server version
import MySQLdb
conn = MySQLdb.connect (host = "localhost",
user = "testuser",
passwd = "testpass",
db = "test")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()
localhost
) সমর্থন করে কি ?
একজন ডিবি ড্রাইভার হিসাবে, আওয়ারএসএলও রয়েছে । এই লিঙ্কটিতে তালিকাভুক্ত কয়েকটি কারণ যা বলে যে আওয়ারকিএল আরও ভাল:
- আওয়ারকিএল এর সত্যিকারের প্যারামিটারাইজেশন রয়েছে, এসকিউএল এবং ডেটা সম্পূর্ণ পৃথকভাবে মাইএসকিউএলে প্রেরণ করছে।
- আওয়ারকিএল, ক্লায়েন্টে সমস্ত কিছু বাফার করার পরিবর্তে পাঠ্য বা বাইনারি ডেটাবেসকে ডাটাবেসে প্রবাহিত করতে এবং ডাটাবেস থেকে স্ট্রিম করার অনুমতি দেয়।
- আওয়ারকিএল উভয়ই অলসভাবে সারি সন্নিবেশ করতে পারে এবং অলসভাবে সারিগুলি আনতে পারে।
- আওয়ারকিএল-র ডিফল্টর সাথে ইউনিকোড সমর্থন রয়েছে।
- আওয়ার এসকিএল ২.6+ (পিইপি 218 দেখুন) এবং 2.7 এ সম্পূর্ণ ব্যর্থ না হয়ে (পিইপি 328 দেখুন) অজগর 2.4 এর মাধ্যমে 2.7 এর মাধ্যমে 2.7 পর্যন্ত সমর্থন করে।
- আওয়ারকিএল স্থানীয়ভাবে অজগর 3.x এ চলে
মাইএসকিএলডিবির সাথে খুব মিল:
import oursql
db_connection = oursql.connect(host='127.0.0.1',user='foo',passwd='foobar',db='db_name')
cur=db_connection.cursor()
cur.execute("SELECT * FROM `tbl_name`")
for row in cur.fetchall():
print row[0]
ডকুমেন্টেশনে টিউটোরিয়াল সুন্দর শালীন হয়।
এবং অবশ্যই ওআরএম এসকিউএলএলচেমির জন্য একটি ভাল পছন্দ, যেমনটি ইতিমধ্যে অন্যান্য উত্তরে উল্লিখিত হয়েছে।
Mysql সংযোগকারী ইনস্টল করতে আপনার টার্মিনালে এই কমান্ডটি চালান:
pip install mysql-connector-python
এবং মাইএসকিউএলে কানেক্ট করতে আপনার পাইথন সম্পাদকটিতে এটি চালান:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yusername",
passwd="password",
database="database_name"
)
মাইএসকিউএল কমান্ডগুলি কার্যকর করার জন্য নমুনাগুলি (আপনার পাইথন এডিয়ারে):
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
mycursor.execute("SHOW TABLES")
mycursor.execute("INSERT INTO customers (name, address) VALUES ('John', 'Highway 21')")
mydb.commit() # Use this command after insert or update
আরও কমান্ডের জন্য: https://www.w3schools.com/python/python_mysql_getstarted.asp
mysql-connector
। stackoverflow.com/questions/59405740/...
mydb.commit()
সারণিতে মান সন্নিবেশ করার পরে দৌড়াতে ভুলে গেছেন
এসকিউএলএলকেমি পাইথন এসকিউএল টুলকিট এবং অবজেক্ট রিলেশনাল ম্যাপার যা অ্যাপ্লিকেশন বিকাশকারীকে এসকিউএল এর সম্পূর্ণ ক্ষমতা এবং নমনীয়তা দেয়। এসকিউএএলএলচেমি দক্ষ এবং উচ্চ-কার্য সম্পাদনকারী ডেটাবেস অ্যাক্সেসের জন্য ডিজাইন করা একটি সাধারণ এবং পাইথোনিক ডোমেন ভাষায় অভিযোজিত সুপরিচিত এন্টারপ্রাইজ-স্তরের দৃistence়তা ধরণের একটি সম্পূর্ণ স্যুট সরবরাহ করে।
pip install sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
engine = create_engine("mysql://<user_name>:<password>@<host_name>/<db_name>")
session_obj = sessionmaker(bind=engine)
session = scoped_session(session_obj)
# insert into database
session.execute("insert into person values(2, 'random_name')")
session.flush()
session.commit()
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
Base = declarative_base()
engine = create_engine("mysql://<user_name>:<password>@<host_name>/<db_name>")
session_obj = sessionmaker(bind=engine)
session = scoped_session(session_obj)
# Bind the engine to the metadata of the Base class so that the
# declaratives can be accessed through a DBSession instance
Base.metadata.bind = engine
class Person(Base):
__tablename__ = 'person'
# Here we define columns for the table person
# Notice that each column is also a normal Python instance attribute.
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=False)
# insert into database
person_obj = Person(id=12, name="name")
session.add(person_obj)
session.flush()
session.commit()
উপরের সমস্ত উত্তর থাকা সত্ত্বেও, আপনি যদি কোনও নির্দিষ্ট ডাটাবেস সম্মুখভাগে সংযোগ স্থাপন না করতে চান, উদাহরণস্বরূপ, আপনি যদি এখনও ডাটাবেসটি তৈরি করতে চান (!), আপনি connection.select_db(database)
নিম্নলিখিতটি হিসাবে প্রদর্শিত হিসাবে ব্যবহার করতে পারেন ।
import pymysql.cursors
connection = pymysql.connect(host='localhost',
user='mahdi',
password='mahdi',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
cursor = connection.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS "+database)
connection.select_db(database)
sql_create = "CREATE TABLE IF NOT EXISTS "+tablename+(timestamp DATETIME NOT NULL PRIMARY KEY)"
cursor.execute(sql_create)
connection.commit()
cursor.close()
মাইএসকিউএলডিবি হ'ল সোজা উপায়। আপনি কোনও সংযোগের জন্য এসকিউএল কোয়েরিগুলি কার্যকর করতে পারেন। সময়কাল।
আমার পছন্দের উপায়টি যা অজগর তাও এর পরিবর্তে শক্তিশালী এসকিউএএলএলচেমি ব্যবহার করা। এখানে কোয়েরি সম্পর্কিত টিউটোরিয়াল, এবং এখানে এসকিউএএলএলচেমির ওআরএম ক্ষমতা সম্পর্কিত একটি টিউটোরিয়াল রয়েছে।
পাইথন ৩..6-এর জন্য আমি দুটি ড্রাইভার পেয়েছি: পাইমিস্কেল এবং মাইএসকিএলক্লিয়েন্ট। আমি তাদের মধ্যে পারফরম্যান্স পরীক্ষা করেছি এবং ফলাফল পেয়েছি: মাইএসকিএলসিলেট দ্রুত হয়।
নীচে আমার পরীক্ষার প্রক্রিয়াটি রয়েছে (সময় অতিবাহিত বিশ্লেষণ করতে পাইথন লাইব প্রোফাইল বইগুলি ইনস্টল করা দরকার :
কাঁচা এসকিএল: select * from FOO;
তাত্ক্ষণিকভাবে মাইএসকিএল টার্মিনালে চালানো:
46410 rows in set (0.10 sec)
পিমিস্কিউএল (২.৪ এস):
from profilehooks import profile
import pymysql.cursors
import pymysql
connection = pymysql.connect(host='localhost', user='root', db='foo')
c = connection.cursor()
@profile(immediate=True)
def read_by_pymysql():
c.execute("select * from FOO;")
res = c.fetchall()
read_by_pymysql()
mysqlclient (0.4 সে)
from profilehooks import profile
import MySQLdb
connection = MySQLdb.connect(host='localhost', user='root', db='foo')
c = connection.cursor()
@profile(immediate=True)
def read_by_mysqlclient():
c.execute("select * from FOO;")
res = c.fetchall()
read_by_mysqlclient()
সুতরাং, এটি মনে হয় যে মাইএসকিএলসিলেটটি পাইমস্কিলের চেয়ে অনেক দ্রুত
পাইথন থেকে মাইএসকিউএলে কানেক্ট করার সর্বোত্তম উপায় হ'ল মাইএসকিউএল সংযোগকারী / পাইথন ব্যবহার করা কারণ এটি পাইথনের সাথে কাজ করার জন্য মাইএসকিউএলের অফিসিয়াল ওરેકল ড্রাইভার এবং এটি পাইথন 3 এবং পাইথন 2 উভয়ের সাথেই কাজ করে।
মাইএসকিউএল সংযোগ করতে নীচে উল্লিখিত পদক্ষেপগুলি অনুসরণ করুন
পাইপ ব্যবহার করে সংযোগকারী ইনস্টল করুন
pip install mysql-connector-python
অথবা আপনি https://dev.mysql.com/downloads/connector/python/ থেকে ইনস্টলারটি ডাউনলোড করতে পারেন
connect()
মাইএসকিউএল এর সাথে সংযোগ স্থাপনের জন্য মাইএসকিএল সংযোগকারী পাইথনের পদ্ধতিটি ব্যবহার করুন connect()
। যেমন হোস্ট, ব্যবহারকারীর নাম, পাসওয়ার্ড এবং ডাটাবেসের নাম।
এসকিউএল কোয়েরিগুলি কার্যকর করতে পদ্ধতিতে cursor
ফিরে আসা সংযোগ অবজেক্ট থেকে অবজেক্ট তৈরি করুন connect()
।
আপনার কাজ শেষ হওয়ার পরে সংযোগটি বন্ধ করুন।
উদাহরণ :
import mysql.connector
from mysql.connector import Error
try:
conn = mysql.connector.connect(host='hostname',
database='db',
user='root',
password='passcode')
if conn.is_connected():
cursor = conn.cursor()
cursor.execute("select database();")
record = cursor.fetchall()
print ("You're connected to - ", record)
except Error as e :
print ("Print your error msg", e)
finally:
#closing database connection.
if(conn.is_connected()):
cursor.close()
conn.close()
তথ্যসূত্র - https://pynative.com/python-mysql-database-connication/
মাইএসকিউএল সংযোগকারী পাইথনের গুরুত্বপূর্ণ এপিআই
ডিএমএল ক্রিয়াকলাপগুলির জন্য - ব্যবহার করুন cursor.execute()
এবং ক্যোরি cursor.executemany()
চালাতে এবং এই ব্যবহারের পরে connection.commit()
আপনার পরিবর্তনগুলিকে ডিবিতে অব্যাহত রাখার জন্য
ডেটা আনতে - ব্যবহারের cursor.execute()
ক্যোয়ারী চালানোর জন্য এবং cursor.fetchall()
, cursor.fetchone()
, cursor.fetchmany(SIZE)
ডেটা আনতে
উপরের উত্তরে কেবল একটি পরিবর্তন। পাইথনের জন্য মাইএসকিএল ইনস্টল করতে কেবল এই আদেশটি চালান run
sudo yum install MySQL-python
sudo apt-get install MySQL-python
স্মরণ! এটি কেস সেনসিটিভ।
mysqlclient সর্বোত্তম কারণ অন্যরা কেবল পাইথনের নির্দিষ্ট সংস্করণগুলিতে সহায়তা করে
pip install mysqlclient
উদাহরণ কোড
import mysql.connector
import _mysql
db=_mysql.connect("127.0.0.1","root","umer","sys")
#db=_mysql.connect(host,user,password,db)
# Example of how to insert new values:
db.query("""INSERT INTO table1 VALUES ('01', 'myname')""")
db.store_result()
db.query("SELECT * FROM new1.table1 ;")
#new1 is scheme table1 is table mysql
res= db.store_result()
for i in range(res.num_rows()):
print(result.fetch_row())
mysql.connector
এবং _mysql
উভয়কেই আমদানি ত্রুটি দিন (যদিও দ্বিতীয় বিকল্পটি ডকুমেন্টেশন অনুযায়ী কাজ করা উচিত)। import MySQLdb
কাজ করে, এবং তারপরেMySQLdb.connect...
যদিও আপনি কিছু সদৃশ হিসাবে এই চিহ্নিত করতে পারে এবং মন খারাপ যে আমি অন্য কারো উত্তর অনুলিপি করছি, আমি চাই প্রকৃতই মত জনাব Napik প্রতিক্রিয়া একটা দিক হাইলাইট করতে। কারণ আমি এটি মিস করেছি, আমি দেশব্যাপী ওয়েবসাইট ডাউনটাইম (9 মিনিট) তৈরি করেছি। যদি কেউ এই তথ্যটি ভাগ করে নেয় তবে আমি এটি আটকাতে পারতাম!
এখানে তার কোড:
import mysql.connector
cnx = mysql.connector.connect(user='scott', password='tiger',
host='127.0.0.1',
database='employees')
try:
cursor = cnx.cursor()
cursor.execute("""select 3 from your_table""")
result = cursor.fetchall()
print(result)
finally:
cnx.close()
এখানে গুরুত্বপূর্ণ বিষয় হ'ল চেষ্টা এবং শেষ অবধি। কোডের কার্সার / স্ক্যালস্টেটমেন্ট অংশে যা ঘটেছিল তা বিবেচনা না করে এটি সর্বদা সংযোগগুলি বন্ধ রাখতে দেয় । প্রচুর সক্রিয় সংযোগের কারণে ডিবিএলএডনোসিপিইউ স্পাইক হয়ে যায় এবং একটি ডিবি সার্ভার ক্র্যাশ হতে পারে।
আমি আশা করি এই সতর্কতা সার্ভার এবং শেষ পর্যন্ত কাজগুলি সংরক্ষণে সহায়তা করে! : ডি
ঝড়ের দিকেও একবার নজর দিন । এটি একটি সাধারণ এসকিউএল ম্যাপিং সরঞ্জাম যা আপনাকে সহজেই প্রশ্নগুলি না লিখে এসকিউএল এন্ট্রিগুলি সম্পাদনা করতে এবং তৈরি করতে দেয়।
এখানে একটি সহজ উদাহরণ:
from storm.locals import *
# User will be the mapped object; you have to create the table before mapping it
class User(object):
__storm_table__ = "user" # table name
ID = Int(primary=True) #field ID
name= Unicode() # field name
database = create_database("mysql://root:password@localhost:3306/databaseName")
store = Store(database)
user = User()
user.name = u"Mark"
print str(user.ID) # None
store.add(user)
store.flush() # ID is AUTO_INCREMENT
print str(user.ID) # 1 (ID)
store.commit() # commit all changes to the database
অনুসন্ধান এবং অবজেক্ট ব্যবহারের জন্য:
michael = store.find(User, User.name == u"Michael").one()
print str(user.ID) # 10
প্রাথমিক কী সহ সন্ধান করুন:
print store.get(User, 1).name #Mark
আরও তথ্যের জন্য টিউটোরিয়াল দেখুন ।
এটি মাইএসকিএল ডিবি সংযোগ
from flask import Flask, render_template, request
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'root'
app.config['MYSQL_DB'] = 'MyDB'
mysql = MySQL(app)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == "POST":
details = request.form
cur = mysql.connection.cursor()
cur.execute ("_Your query_")
mysql.connection.commit()
cur.close()
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
প্রথমে ড্রাইভার ইনস্টল করুন
pip install MySQL-python
তারপরে একটি বেসিক কোডটি এরকম হয়:
#!/usr/bin/python
import MySQLdb
try:
db = MySQLdb.connect(host="localhost", # db server, can be a remote one
db="mydb" # database
user="mydb", # username
passwd="mydb123", # password for this username
)
# Create a Cursor object
cur = db.cursor()
# Create a query string. It can contain variables
query_string = "SELECT * FROM MY_TABLE"
# Execute the query
cur.execute(query_string)
# Get all the rows present the database
for each_row in cur.fetchall():
print each_row
# Close the connection
db.close()
except Exception, e:
print 'Error ', e
আপনি আপনার পাইথন কোডটি এইভাবে mysql এ সংযুক্ত করতে পারেন connect
import MySQLdb
db = MySQLdb.connect(host="localhost",
user="appuser",
passwd="",
db="onco")
cursor = db.cursor()
প্রথমে ড্রাইভারটি ইনস্টল করুন (উবুন্টু)
সুডো পাইথন-পাইপ ইনস্টল করুন
sudo পাইপ ইনস্টল করুন - ইউ পিপ
sudo apt-get python-dev libmysqlclient-dev ইনস্টল করুন
মাইএসকিউএল-পাইথন ইনস্টল করুন sudo
মাইএসকিউএল ডাটাবেস সংযোগ কোড
import MySQLdb
conn = MySQLdb.connect (host = "localhost",user = "root",passwd = "pass",db = "dbname")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()
অজগর জন্য 3.3
CyMySQL https://github.com/nakagami/CyMySQL
আমি আমার উইন্ডোজ 7-তে পাইপ ইনস্টল করেছি, কেবল পাইপ ইনস্টল করুন সাইমাইএসকিএল
(আপনার সিথনের দরকার নেই) দ্রুত এবং বেদনাদায়ক
প্রথমে https://dev.mysql.com/downloads/connector/python/ থেকে পাইথন-মাইএসকিএল সংযোগকারী ইনস্টল করুন
পাইথন কনসোলে প্রবেশ করুন:
pip install mysql-connector-python-rf
import mysql.connector