کار با پایگاه داده MYSQL با پایتون

خب اول بگم که حتما پیشنیاز این مقاله بلد بودن زبان sql هست بعدا توی یک مقاله جدا درباره زبان sql حرف میزنیم پایگاه داده چیست ؟ پایگاه به انگیلیسی (Database) داده به معنای ساده‌تر یک مجموعه سازمان‌یافته از اطلاعات است که به صورت الکترونیکی در یک سیستم ذخیره و مدیریت می‌شود این اطلاعات می‌توانند شامل داده‌های مربوط به مشتریان، محصولات، سفارشات، تاریخچه فروش، فاکتورها و سایر اطلاعات مرتبط با فعالیت‌های یک سازمان یا سازمان‌ها باشند.مزیت‌های استفاده از پایگاه داده شامل موارد زیر می‌شود:سهولت در دسترسی به اطلاعات مورد نیاز و جستجوی سریعحفظ امنیت و حریم خصوصی داده‌هاامکان همزمانی در دسترسی به داده‌ها برای کاربران مختلفایجاد پشتیبان‌های از داده‌ها جهت جلوگیری از از دست رفتنانواع پایگاه داده : GadFlymSQLMySQLPostgreSQLMicrosoft SQL Server 2000InformixInterbaseOracleSybaseخب شما باید برای شروع اول یک سرور مازی داشته باشید من خودم xampp پیشنهاد میکنم که امروز هم روی اون قرار کار کنیم خب بعد از نصبش حالا نرم افزار رو اجرا کنید و مانند تصویر زیر قسمت mysql و apache رو فعال کنید : و در مرور گر خود سرچ کنید :http://localhost/phpmyadmin/و تصویری مانند تصویر زیر میبینید :خب حالا سمت چپ تصویر پایگاه داده های خود را میبینید شما از همین محیط هم میتوانید کار های خود را در پایگاه داده انجام دهید اما اگه عاشق برنامه نویسی هستید و دوست دارید این کار ها رو با برنامه نویسی انجام دهید تا آخر این مقاله همراه من باشید شروع برنامه نویسی : نصب کتابخانه mysql.connector در پایتون : pip install mysql-connector-pythonنشان دادن پایگاه های داده : import mysql.connector mydb = mysql.connector.connect( host=&quotlocalhost&quot, user=&quotroot&quot, password=&quot&quot ) mycursor = mydb.cursor() mycursor.execute(&quotSHOW DATABASES&quot) for x in mycursor : print(x)نتایج کد : ('gametorn',) ('information_schema',) ('mysql',) ('performance_schema',) ('phpmyadmin',) ('test',) ('wp',)بررسی کد : خط کد اول اومدیم کتابخانه mysql.connector رو بارگیری کردیم خط کد دوم اومدیم یک متغیر به اسم mydb ساختیم و اطلاعات مثل نام میزبان که میشه localhost و نام کاربری که میشه root و پسورد هم که نداریم ریختیم توی متغیر و ممکنه برای شما فرق داشته باشه ولی اگه xampp رو تنظیماتش رو تغیر نداده باشید همینه خط کد سوم در این خط، ما یک شیء cursor (موقعیت نما) ایجاد می‌کنیم که برای اجرای دستورات SQL در پایگاه داده استفاده می‌شود.خط کد چهارم در این خط، ما کد sql رو به صورت رشته وارد کردیم که کد ما هست : SHOW DATABASES. این کد لیستی از نام‌های پایگاه‌های داده موجود را برمی‌گرداند.کلا شما میتوانید در این خط کد هر کدی که مربوط به sql بشه رو بزنید خط کد پنجم یک حلقه for است که بر روی نتایج بازگشتی از کد SHOW DATABASES حرکت می‌کند. در هر مرحله، نام پایگاه داده را چاپ می‌کند.در نهایت این کد میاد همه پایگاه های داده رو نمایش میده اسماشون رو ساخت پایگاه داده جدید : import mysql.connector mydb = mysql.connector.connect( host=&quotlocalhost&quot, user=&quotroot&quot, password=&quot&quot ) mycursor = mydb.cursor() mycursor.execute(&quotCREATE DATABASE AmirTorn&quot)برای دیدن نتایج کد یا صفحه مرورگر خود که روی phpmyadmin هست رو رفرش کنید یا از نوع اون برنامه ای که اول نوشتیم رو اجرا کنید برنامه ای که اول نوشتیم :('amirtorn',) ('gametorn',) ('information_schema',) ('mysql',) ('performance_schema',) ('phpmyadmin',) ('test',) ('wp',)صفحه phpmyadmin : در هردو آنها میبینید که یک قسمت به اسم amirtorn هست که همون پایگاه داده ای هست که ساختیم بررسی کد :خط کد اول اومدیم کتابخانه mysql.connector رو بارگیری کردیم خط کد دوم اومدیم یک متغیر به اسم mydb ساختیم و اطلاعات مثل نام میزبان که میشه localhost و نام کاربری که میشه root و پسورد هم که نداریم ریختیم توی متغیر و ممکنه برای شما فرق داشته باشه ولی اگه xampp رو تنظیماتش رو تغیر نداده باشید همینه خط کد سوم در این خط، ما یک شیء cursor (موقعیت نما) ایجاد می‌کنیم که برای اجرای دستورات SQL در پایگاه داده استفاده می‌شود.خط کد چهارم در این خط، ما کد sql رو به صورت رشته وارد کردیم که کد ما هست : CREATE DATABASE AmirTorn. این کد یک پایگاه داده ایجاد میکنه به اسم AmirTorn که آخرش دادیم شما میتوانید هر چیزی که دوست داشتید بزنید .در نهایت این کد میاد یک پایگاه داده جدید درست میکنه به اسم AmirTorn ساخت جدول در پایگاه داده : import mysql.connector mydb = mysql.connector.connect( host=&quotlocalhost&quot, user=&quotroot&quot, password=&quot&quot, database=&quotamirtorn&quot ) mycursor = mydb.cursor() mycursor.execute(&quotCREATE TABLE test (name VARCHAR(255), address VARCHAR(255))&quot)برای دیدن نتایج کد صفحه مرورگر خود که روی phpmyadmin هست رو رفرش کنید و روی پایگاه داده ای که کد بالا رو روش اجرا کردید کلیک کنید :خب اینجا میبیند یک جدول به اسم test ساخته شده و وقتی روش کلیک کنید میبینید که دوتا ستون هست به اسم name,address داره که مقادی تا 255 کاراکتر رو درخودش جا میدهبررسی کد : خط کد اول اومدیم کتابخانه mysql.connector رو بارگیری کردیم خط کد دوم اومدیم یک متغیر به اسم mydb ساختیم و اطلاعات مثل نام میزبان که میشه localhost و نام کاربری که میشه root و پسورد هم که نداریم و نام پایگاه داده مورد نظر رو ریختیم توی متغیر و ممکنه برای شما فرق داشته باشه ولی اگه xampp رو تنظیماتش رو تغیر نداده باشید همینه و اسم پایگاه داده ولی بستگی داره که توی ساختش چه اسمی انتخاب کردین خط کد سوم در این خط، ما یک شیء cursor (موقعیت نما) ایجاد می‌کنیم که برای اجرای دستورات SQL در پایگاه داده استفاده می‌شود.خط کد چهارم در این خط، ما کد sql رو به صورت رشته وارد کردیم که کد ما هست : CREATE TABLE test (name VARCHAR(255), address VARCHAR(255)). این کد یک جدول جدید با نام "test" در پایگاه داده ایجاد میکنه که جدول شامل دو ستون است: "name" که یک رشته با حداکثر طول 255 کاراکتر و "address" که نیز یک رشته با حداکثر طول 255 کاراکتر است. در نهایت این خط کد میاد یک جدول جدید به نام "test" و ستون های مورد نظر خود در پایگاه داده "amirtorn" خود ایجاد خواهید کرد.ریختن مقادیر داخل ستون های جدول : کد :import mysql.connector mydb = mysql.connector.connect( host=&quotlocalhost&quot, user=&quotroot&quot, password=&quot&quot, database=&quotamirtorn&quot ) mycursor = mydb.cursor() sql = &quotINSERT INTO test (name, address) VALUES (%s, %s)&quot val = (&quotGame&quot, &quotTorn&quot) mycursor.execute(sql, val) mydb.commit()برای دیدن نتایج کد صفحه مرورگر خود که روی phpmyadmin هست رو رفرش کنید و روی پایگاه داده ای که کد بالا رو روش اجرا کردید و جدول مورد نظر کلیک کنید :دیدین که توی قسمت name اومده Game و قسمت address هم اومده Torn که شما میتوانید هرچی دوست داشتید بزنید که داخل کد باید تغیر بدید بررسی کد :خط کد اول اومدیم کتابخانه mysql.connector رو بارگیری کردیم خط کد دوم اومدیم یک متغیر به اسم mydb ساختیم و اطلاعات مثل نام میزبان که میشه localhost و نام کاربری که میشه root و پسورد هم که نداریم و نام پایگاه داده مورد نظر رو ریختیم توی متغیر و ممکنه برای شما فرق داشته باشه ولی اگه xampp رو تنظیماتش رو تغیر نداده باشید همینه و اسم پایگاه داده ولی بستگی داره که توی ساختش چه اسمی انتخاب کردین خط کد سوم در این خط، ما یک شیء cursor (موقعیت نما) ایجاد می‌کنیم که برای اجرای دستورات SQL در پایگاه داده استفاده می‌شود.خط کد چهارم در این خط، ما یک متغیر به اسم sql داریم که کد sql رو به صورت رشته وارد کردیم که کد ما هست : INSERT INTO test (name, address) VALUES (%s, %s). این کد برای اضافه کردن رکوردها به جدول استفاده می‌شود. در اینجا، ما مقادیر %s را به عنوان placeholders (جایگزین‌ها) استفاده کرده‌ایم و همشون رو در متغیر sql ذخیره میشه .خط کد پنجم در این خط، ما یک متغیر به نام val ایجاد می‌کنیم که شامل مقادیر ورودی برای رکورد جدید است. در اینجا، ما مقدار "Game" را به عنوان نام و "Torn" را به عنوان آدرس استفاده میکنیم و در متغیر val ذخیره میکنیم خط کد ششم میایم متغیر sql که کد sql بود و مقادیری که داخل متغیر val بود را که میخواهیم اضافه بشه به ستون ها را فراخانی میکنیم و در خط هفتم تمامی تغییرات اعمال شده را در پایگاه داده ثبت می‌کنیم. با فراخوانی commit()، تمام تغییرات انجام شده در پایگاه داده ذخیره می‌شوند.در نهایت با اجرای این کد، شما یک رکورد جدید با نام "Game" و آدرس "Torn" را در جدول "test" پایگاه داده "amirtorn" خود اضافه خواهید کرد.حذف کردن مقادیر از ستون ها : کد : mydb = mysql.connector.connect( host=&quotlocalhost&quot, user=&quotroot&quot, password=&quot&quot, database=&quotamirtorn&quot ) mycursor = mydb.cursor() sql = &quotDELETE FROM test&quot mycursor.execute(sql) mydb.commit()برای دیدن نتایج کد صفحه مرورگر خود که روی phpmyadmin هست رو رفرش کنید و روی پایگاه داده ای که کد بالا رو روش اجرا کردید و جدول مورد نظر کلیک کنید :میبینید که ستون ها خالی شده چون همشون رو حذف کردیم بررسی کد : خط کد اول اومدیم کتابخانه mysql.connector رو بارگیری کردیم خط کد دوم اومدیم یک متغیر به اسم mydb ساختیم و اطلاعات مثل نام میزبان که میشه localhost و نام کاربری که میشه root و پسورد هم که نداریم و نام پایگاه داده مورد نظر رو ریختیم توی متغیر و ممکنه برای شما فرق داشته باشه ولی اگه xampp رو تنظیماتش رو تغیر نداده باشید همینه و اسم پایگاه داده ولی بستگی داره که توی ساختش چه اسمی انتخاب کردین خط کد سوم در این خط، ما یک شیء cursor (موقعیت نما) ایجاد می‌کنیم که برای اجرای دستورات SQL در پایگاه داده استفاده می‌شود.خط کد چهارم در این خط، ما یک متغیر به اسم sql داریم که کد sql رو به صورت رشته وارد کردیم که کد ما هست : DELETE FROM test. این کد برای حذف کردن مقادیر داخل جدول مورد نظر هست خط کد پنجم میایم متغیر sql که کد sql بود را فراخانی میکنیم برنامه نویسی×پایگاه داده×mysql×python×و در خط هفتم تمامی تغییرات اعمال شده را در پایگاه داده ثبت می‌کنیم. با فراخوانی commit()، تمام تغییرات انجام شده در پایگاه داده ذخیره می‌شوند.حذف کردن جدول : import mysql.connector mydb = mysql.connector.connect( host=&quotlocalhost&quot, user=&quotroot&quot, password=&quot&quot, database=&quotamirtorn&quot ) mycursor = mydb.cursor() sql = &quotDROP TABLE test&quot mycursor.execute(sql)برای دیدن نتایج کد صفحه مرورگر خود که روی phpmyadmin هست رو رفرش کنید روی پایگاه داده ای که کد بالا رو روش اجرا کردید کلیک کنید :میبینید که هیچ جدول دیگه وجود نداره بررسی کد : خط کد اول اومدیم کتابخانه mysql.connector رو بارگیری کردیم خط کد دوم اومدیم یک متغیر به اسم mydb ساختیم و اطلاعات مثل نام میزبان که میشه localhost و نام کاربری که میشه root و پسورد هم که نداریم و نام پایگاه داده مورد نظر رو ریختیم توی متغیر و ممکنه برای شما فرق داشته باشه ولی اگه xampp رو تنظیماتش رو تغیر نداده باشید همینه و اسم پایگاه داده ولی بستگی داره که توی ساختش چه اسمی انتخاب کردین خط کد سوم در این خط، ما یک شیء cursor (موقعیت نما) ایجاد می‌کنیم که برای اجرای دستورات SQL در پایگاه داده استفاده می‌شود.خط کد چهارم در این خط، ما یک متغیر به اسم sql داریم که کد sql رو به صورت رشته وارد کردیم که کد ما هست : DROP TABLE test. این کد برای حذف کردن جدول مورد نظر هست خط کد پنجم میایم متغیر sql که کد sql بود را فراخانی میکنیم خب رفقا کرای دیگه هم میشه کرد که همشون رو داخل ویدیو های مختلف داخل چنل یوتیوبم میزارم به زودی لینک چنل یوتیوبم رو میزارم مارو در شبکه های اجتماعی زیر دنبال کنید ??یوتیوباینستاگرامتلگرامساب ردیتخب تا مقاله های دیگر خدانگهدار ??مقاله های پیشنهاد شدهآشنایی با مدل TCP/IP , ساخت سرور و کلاینت ساده با پایتون , چند تا درخواست ساده HTTP با پایتون