উইন্ডোজের পাইথন 3-এ আমি মাইএসকিউএল এর সাথে কীভাবে সংযুক্ত হতে পারি?


145

আমি উইন্ডোজে অ্যাক্টিভেট পাইথন 3 ব্যবহার করছি এবং আমার মাইএসকিউএল ডাটাবেসের সাথে সংযোগ করতে চেয়েছিলাম। শুনেছি এটি mysqldbব্যবহারের মডিউল ছিল। mysqldbপাইথন 3 এর জন্য আমি খুঁজে পাচ্ছি না ।

যেখানে বাইনারি রয়েছে তার জন্য কি কোনও ভাণ্ডার পাওয়া যায় mysqldb? উইন্ডোজের পাইথন 3-এ আমি মাইএসকিউএল এর সাথে কীভাবে সংযুক্ত হতে পারি?


বেসরকারী বাইনারিগুলির সংযোগের জন্য কেসভিএইচকে ধন্যবাদ, তবে আমি খুব অধৈর্য হয়েছি এবং দেখা যাচ্ছে যে জনগণ এখনও পাইথন 2 ব্যবহার করছে ... সুতরাং আমি পাইথন ২.7 ইনস্টল করেছি এবং কোডগুড
আর্কাইভস /


1
আমি যখনই পাইপ টাইপ করি তখনই আমার পেট জ্বলে যায়। 7 বছর এবং গণনা।
স্কে

উত্তর:


274

মাইএসকিএল সহ পাইথন 3 ব্যবহারের জন্য বর্তমানে কয়েকটি বিকল্প রয়েছে:

https://pypi.python.org/pypi/mysql-connector-python

  • সরকারীভাবে ওরাকল দ্বারা সমর্থিত
  • খাঁটি অজগর
  • একটু ধীর
  • মাইএসকিউএলডিবির সাথে সামঞ্জস্যপূর্ণ নয়

https://pypi.python.org/pypi/pymysql

  • খাঁটি অজগর
  • মাইএসকিএল-সংযোজকের চেয়ে দ্রুত
  • MySQLdbকল করার পরে প্রায় সম্পূর্ণরূপে সামঞ্জস্যপূর্ণpymysql.install_as_MySQLdb()

https://pypi.python.org/pypi/cymysql

  • ymচ্ছিক সি স্পিডআপগুলির সাথে পাইমস্কুলের কাঁটাচামচ

https://pypi.python.org/pypi/mysqlclient

  • জ্যাঙ্গোর প্রস্তাবিত লাইব্রেরি।
  • আসল মাইএসকিউএলডিবির বন্ধুত্বপূর্ণ কাঁটাচাঁটি, কোনও দিন আবার মার্জ হওয়ার আশা রয়েছে
  • দ্রুত ভিত্তিক বাস্তবায়ন, এটি সি ভিত্তিক।
  • এটি একটি কাঁটাচামচ হিসাবে মাইএসকিউএলডিবির সাথে সর্বাধিক সামঞ্জস্যপূর্ণ
  • ডেবিয়ান এবং উবুন্টু উভয় python-mysqldbএবং python3-mysqldbপ্যাকেজ সরবরাহ করতে এটি ব্যবহার করে ।

মাপদণ্ড এখানে: https://github.com/methane/mysql-driver-benchmark


26
pip install mysqlclient শুধু আমার জন্য কাজ ! বিকল্পগুলির তালিকাগুলির জন্য ধন্যবাদ।
ILMostro_7

4
mysqlclientসবেমাত্র আমার পাইথন 3.4 + জ্যাঙ্গো + যাত্রী + ড্রিমহোস্ট ইনস্টলের জন্য কাজ করেছি।
ryanjdillon

উবুন্টু mysqlclient হয়েছে ডেবিয়ান না
ManuelSchneid3r

Mysqlclient মত দেখায় ডেবিয়ান হয় testingযেমন python3-mysqldb, কিন্তু এটা নাই stable। সুতরাং এটি পরবর্তী সংস্করণে হবে।
কলিন অ্যান্ডারসন

উবুন্টুতে sudo apt-get install python3-mysql.connector
মাইএসকিএল

67

এর পরিবর্তে আপনার সম্ভবত পিমিসকিএল - খাঁটি পাইথন মাইএসকিউএল ক্লায়েন্ট ব্যবহার করা উচিত।
এটি পাইথন 3.x এর সাথে কাজ করে এবং এর কোনও নির্ভরতা নেই।

এই খাঁটি পাইথন মাইএসকিউএল ক্লায়েন্টটি বাইনারি ক্লায়েন্ট / সার্ভার প্রোটোকলের মাধ্যমে সরাসরি সার্ভারের সাথে কথা বলে একটি মাইএসকিউএল ডাটাবেসে একটি ডিবি-এপিআই সরবরাহ করে।

উদাহরণ:

import pymysql
conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd=None, db='mysql')
cur = conn.cursor()
cur.execute("SELECT Host,User FROM user")
for r in cur:
    print(r)
cur.close()
conn.close()

14
দুর্ভাগ্যক্রমে এটি একটি জিরো-ডকুমেন্টেড লাইব্রেরি যা কেবলমাত্র কাজ করে না
O0 '।

7
@ লোহরিস: কোনও সমস্যা ছাড়াই আমি কীভাবে এটি ব্যবহার করব?
ওলেহ প্রিপিন

পাইথন 3.x দিয়ে আমি উইন্ডোজ 7 এ এটি ইনস্টল করতে সক্ষম হইনি have কেউ জানেন কীভাবে?
পল

3
পাইথন সংস্করণ এখানে 3.3.1 এবং এটি ইনস্টল করে না। অনুপস্থিত মডিউল সম্পর্কে অভিযোগ constants
পাইজুসন

@ পিয়াস কারণ আপনি এটি ভুল করছেন। শুধু পরীক্ষা করা হয়েছে এবং এটি কাজ করে।
ওলেহ প্রিপিন

7

আমি খুব বেশি ভাগ্য ছাড়াই পাইমিস্কেল ব্যবহার করার চেষ্টা করেছি (আমার উইন 7 এক্স 64 মেশিনে পাইথন 3.3)) আমি .tar.gz ডাউনলোড করেছি, এক্সট্রাক্ট করেছি, "সেটআপ.পি ইনস্টল" চালিয়েছি এবং সবকিছু ঠিক আছে বলে মনে হচ্ছে। যতক্ষণ না আমি একটি ডাটাবেসে সংযোগ করার চেষ্টা করেছি এবং "কীআরআর [56]" পেয়েছি। একটি ত্রুটি যা আমি কোথাও নথিভুক্ত করতে অক্ষম।

তাই আমি পিমিস্কুএল ছেড়ে দিয়েছি এবং আমি ওরাকল মাইএসকিউএল সংযোগকারীটিতে স্থির হয়েছি ।

এটি একটি সেটআপ প্যাকেজ হিসাবে আসে এবং বাক্সের বাইরে কাজ করে। এবং এটি শালীনভাবে ডকুমেন্টেড বলে মনে হয়।


আমি মাইএসকিউএলডিবি ব্যবহার করছিলাম এবং এটি দুর্দান্ত কাজ করে তবে স্পষ্টতই, আমি এটি সময়ের সাথে সাথে ডিফাক্টো মান হিসাবে প্রত্যাশা করব।
প্যানোফিশ

6

আপনি যদি প্রথমে মাইএসকিউএলডিবি ব্যবহার করতে চান তবে আপনাকে নিজের পিসিতে পাইমিসকিএল ইনস্টল করতে হবে উইন্ডোজগুলির সেন্টিমিডি টাইপ করে

    pip install pymysql

তারপরে পাইথন শেলটিতে টাইপ করুন

    import pymysql
    pymysql.install_as_MySQLdb()
    import MySQLdb
    db = MySQLdb.connect("localhost" , "root" , "password")

এটি সংযোগ স্থাপন করবে।



5

সারসংক্ষেপ

মাইস্ক্লক্লিয়েন্টটি সেরা বিকল্প (আইএমএইচও) কারণ এটি পাইথন 3+ এর সাথে নির্বিঘ্নে কাজ করে, প্রত্যাশিত কনভেনশনগুলি অনুসরণ করে ( মাইএসকিএল সংযোজকের বিপরীতে), অবজেক্ট নাম মাইএসকিএলডিবি ব্যবহার করে যা বিদ্যমান সফ্টওয়্যারটির সুবিধাজনক পোর্টিং সক্ষম করে এবং পাইথন 3 বিল্ডের জন্য জ্যাঙ্গো দ্বারা ব্যবহৃত হয়

মাইএসকিএলডিবি-র জন্য বাইনারি উপস্থিত রয়েছে সেখানে কি কোনও ভান্ডার উপলব্ধ?

হ্যাঁ. mysqlclient আপনাকে mysqldb ফাংশন ব্যবহার করতে দেয়। যদিও মনে রাখবেন এটি মাইএসকিএলডিবি দ্বারা সরাসরি বন্দর নয় , তবে মাইএসকিএলসিলেট দ্বারা নির্মিত একটি বিল্ড

উইন্ডোজের পাইথন 3-এ আমি মাইএসকিউএল এর সাথে কীভাবে সংযুক্ত হতে পারি?

পাইপ ইনস্টল mysqlclient

উদাহরণ

#!/Python36/python
#Please change above path to suit your platform.  Am running it on Windows
import MySQLdb
db = MySQLdb.connect(user="my-username",passwd="my-password",host="localhost",db="my-databasename")
cursor = db.cursor()
cursor.execute("SELECT * from my-table-name")
data=cursor.fetchall()
for row in data :
    print (row)
db.close()

পাইথন 3 এর জন্য মাইএসকিএলডিবি পাই না।

mysqldb এখনও পোর্ট করা যায়নি


4

পাইএমওয়াইএসকিউএল মাইএসকিউএলডিবিটিকে ইন্টারফেসের মতো দেয়। আপনি আপনার সূচনাতে চেষ্টা করতে পারেন:

import pymysql
pymysql.install_as_MySQLdb()

পাইথন 3 এর জন্য গিথুবের উপরে মাইএসকিএল-পাইথনের একটি বন্দর রয়েছে।

https://github.com/davispuh/MySQL-for-Python-3


2

ওরাকল / মাইএসকিউএল একটি অফিসিয়াল, খাঁটি পাইথন ডিবিএপিআই ড্রাইভার সরবরাহ করে: http://dev.mysql.com/downloads/connector/python/

আমি পাইথন ৩.৩ এর সাথে এটি ব্যবহার করেছি এবং এটি দুর্দান্ত কাজ করতে পেয়েছি। এসকিউএএলএলচেমির সাথেও কাজ করে।

এই প্রশ্নটিও দেখুন: পাইথন 3 ট্রেনে চলা এখনও খুব তাড়াতাড়ি?


1

আমার ম্যাক ওস ম্যাভারিকে আমি এটি চেষ্টা করে দেখি:

এর পরে, পাইথন 3 ইন্টারপ্রেটারে প্রবেশ করুন এবং টাইপ করুন:

  1. pymysql আমদানি করুন । কোনও ত্রুটি না থাকলে আপনার ইনস্টলেশন ঠিক আছে। যাচাইকরণের জন্য এই ফর্মটির সাথে মাইএসকিএলে সংযোগ করতে একটি স্ক্রিপ্ট লিখুন:

  2. # মাইএসকিউএল সংযোগ আমদানি করার জন্য একটি সাধারণ স্ক্রিপ্ট পিমিএসকিএল ডিবি = পিমিস্কুএল.কনেক্ট (হোস্ট = "লোকালহোস্ট", ব্যবহারকারী = "রুট", পাসডাব্লু = "* ", ডিবি =" বিলিওটেকা ") # সুর, এটি আমার ডিবি এর জন্য তথ্য # সংযোগ বন্ধ করুন db.close () *

এটিকে একটি নাম দিন (উদাহরণস্বরূপ "con.py") এবং এটি ডেস্কটপে সংরক্ষণ করুন। টার্মিনালে "সিডি ডেস্কটপ" টাইপ করুন এবং তারপরে $ পাইথন কন.পি. যদি কোনও ত্রুটি না থাকে তবে আপনি মাইএসকিউএল সার্ভারের সাথে সংযুক্ত আছেন। শুভকামনা!


0

CyMySQL https://github.com/nakagami/CyMySQL

আমি আমার উইন্ডোজ 7 তে পাইপ ইনস্টল করেছি, পাইথন ৩.৩ দিয়ে কেবল পাইপ ইনস্টল সাইমিস্কেল

(আপনার সিথনের দরকার নেই) দ্রুত এবং বেদনাদায়ক


0

এটি আমার মূল প্রশ্নের পুরোপুরি উত্তর দেয় না, তবে আমি মনে করি যে আমি কী করেছি এবং কেন করেছি তা প্রত্যেককে জানানো গুরুত্বপূর্ণ is

ওয়েবে সাধারণভাবে 2.7 উদাহরণ এবং মডিউলগুলির প্রাদুর্ভাবের কারণে আমি পাইথন 3 এর পরিবর্তে পাইথন ২.7 ব্যবহার করা চালিয়ে যাওয়া বেছে নিয়েছি।

পাইথন ২.7-এ মাইএসকিউএলে সংযোগের জন্য আমি এখন মাইএসকিএলডিবি এবং মাইএসকিএল.কনেক্টর উভয়ই ব্যবহার করি। উভয়ই দুর্দান্ত এবং ভালভাবে কাজ করে। আমি মনে করি mysql.connector তবে চূড়ান্তভাবে আরও ভাল দীর্ঘমেয়াদী।


আপনি যদি এখনও পাইথন ২.7 ব্যবহার করেন তবে আমি আগ্রহী। সাধারণভাবে, আমি মনে করি যে পাইথন 3 এ রূপান্তর করা সত্যিই গুরুত্বপূর্ণ এবং আমি এতগুলি প্রোগ্রামার নতুন প্রকল্পের জন্য পাইথন ২.7 বেছে নেওয়া দেখে অবাক হয়েছি। কীভাবে জিনিসগুলি কার্যকর হয়েছিল?
vy32

@ v3232 আমি মনে করি আপনি বিকাশকারীরা পিআই 27 বেছে নেওয়ার দ্বারা কম বিস্মিত হতে পারেন আপনি যদি বিবেচনা করেন যে অনেক সার্ভার ওএস সরাসরি পাইথন 3 সমর্থন করে না। রেড হ্যাট এন্টারপ্রাইজ লিনাক্সটি এখনও সাম্প্রতিকতম সংস্করণ পর্যন্ত পাইথন ২.6 এর সাথে বান্ডেল ছিল এবং এটি কেবলমাত্র একটি পাই 27 আছে
coredumperror

পাইথন ২.7 ব্যবহারের আর একটি কারণ হ'ল মায়া (যা পাইথনকে সমর্থন করে) অভ্যন্তরীণভাবে ২.7 ব্যবহার করে। বিটিডাব্লু ... আপনার যদি মায়ার অজগরটির মাধ্যমে মাইএসকিউএল সংযোগের প্রয়োজন হয় ... খাঁটি পাইথন মাইএসকিএল সংযোজকটি ব্যবহার করুন।
পানোফিশ

0

আমি রাসমবেরি পাইতে পাইথন 3 এর সাথে সাইমিস্কেল ব্যবহার করছি যা আমি সহজেই ইনস্টল করেছি: সুডো পিপি 3 ইনস্টল সাইথন সুডো পিপ 3 ইনস্টল করুন সাইমিস্কেল যেখানে সাইথন প্রয়োজন হয় না তবে দ্রুত সাইমনস্কিএল তৈরি করা উচিত

এখনও অবধি এটি মন্ত্রকের মতো কাজ করে এবং মাইএসকিউএলডিবি'র সাথে খুব মিল similar


0

মাইকিউএল-এর সাথে কীভাবে পাইথন ৩.7 কাজ করবেন সে সম্পর্কে এটি একটি দ্রুত টিউটোরিয়াল
যা আমি আমার প্রশ্নের উত্তর পেয়েছি তার কাছ থেকে সবাইকে ধন্যবাদ
- আশা করি এটি কোনও দিন কাউকে সহায়তা করবে।
-------------------------------------------------- -
আমার সিস্টেম:
উইন্ডোজ সংস্করণ: প্রো 64-বিট

প্রয়োজনীয়তা .. এগুলি ডাউনলোড করুন এবং প্রথমে ইনস্টল করুন ...
1. ডাউনলোড করুন Xampp ..
https://www.apachefriends.org/download.html
২. পাইথন
https://www.python.org/downloads/windows/ ডাউনলোড করুন

- ------------
// পদ্ধতি
--------------
ইনস্টল করার পরে প্রথমে xampp ইনস্টল করুন - পাইথন ৩. 3. ইনস্টল করুন।
দু'টি ইনস্টল করার পরে - আপনার উইন্ডোজ সিস্টেমটি পুনরায় বুট করুন।
এখন এক্সএএমপি এবং কন্ট্রোল প্যানেল থেকে শুরু করুন - মাইএসকিএল সার্ভারটি শুরু করুন।
সিএমডি খোলার মাধ্যমে এবং টার্মিনাল ধরণের মাধ্যমে সংস্করণগুলি নিশ্চিত করুন

c:\>cd c:\xampp\mysql\bin

c:\xampp\mysql\bin>mysql -h localhost -v
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.21-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

এটি এমওয়াইএসকিউএল সংস্করণটি পরীক্ষা করে দেখুন

c:\xampp\mysql\bin>python
Python 3.7.0b3 (v3.7.0b3:4e7efa9c6f, Mar 29 2018, 18:42:04) [MSC v.1913 64 bit (AMD64)] on win32

এটি পাইথন সংস্করণ পরীক্ষা করার জন্য
এখন উভয়ই সিএমডিতে নিম্নলিখিত টাইপ করে নিশ্চিত হয়ে গেছে ...

c:\xampp\mysql\bin>pip install pymysql

পাইমিস্কেল ইনস্টল করার পরে কাজ শেষ হয়েছে।
আপনার ডেস্কটপে বা দ্রুত অ্যাক্সেসের জন্য হুইভারেভারে "টেস্টকন.পি" নামে একটি নতুন ফাইল তৈরি করুন।
এই ফাইলটি সাব্লাইম বা অন্য কোনও টেক্সট এডিটর দিয়ে খুলুন এবং এটি এতে রেখে দিন।
আপনার ডাটাবেস প্রতিফলিত করতে সেটিংস পরিবর্তন করতে ভুলবেন না।

#!/usr/bin/python
import pymysql
pymysql.install_as_MySQLdb() 

import MySQLdb
db = MySQLdb.connect(user="yourusernamehere",passwd="yourpasswordhere",host="yourhosthere",db="yourdatabasehere")
cursor = db.cursor()
cursor.execute("SELECT * from yourmysqltablehere")
data=cursor.fetchall()
for row in data :
    print (row)
db.close()

এখন আপনার সিএমডিতে - টাইপ করুন

c:\Desktop>testconn.py

এবং এটি হ'ল ... আপনার এখন একটি অজগর স্ক্রিপ্ট থেকে মাইএসকিএলে সম্পূর্ণরূপে সংযুক্ত ...
উপভোগ করুন ...


0

pymysql আমদানি করুন

ওপেন ডাটাবেস সংযোগ

db = pymysql.connect ("লোকালহোস্ট", "রুট", "", "অলঙ্কার")

কার্সার () পদ্ধতি ব্যবহার করে একটি কার্সার অবজেক্ট প্রস্তুত করুন

কার্সার = db.cursor ()

sql = "আইটেম থেকে নির্বাচন করুন"

cursor.execute (SQL)

তালিকাগুলির তালিকায় সমস্ত সারি আনুন।

ফলাফলগুলিতে সারির জন্য ফলাফল = কার্সার.ফেটচল (): আইটেম_টাইটেল = সারি [1] মন্তব্য = সারি [2] মুদ্রণ ("আইটেমের শিরোনাম নীচে =% s, মন্তব্যগুলি নিম্নলিখিত =% s"% \ (আইটেম_শিরোনাম, মন্তব্য))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.