تخزن قواعد بيانات SQL مجموعات البيانات في صفوف وأعمدة. يمكنك استرداد البيانات وتحديثها في نظام إدارة قواعد البيانات الارتباطية (RDBMS) باستخدام لغة SQL. من بين العديد من قواعد بيانات SQL المتاحة ، الأكثر شيوعًا هي MySQL و PostgreSQL و Microsoft SQL Server و SQLite.

وظيفة التفاعل مع قواعد البيانات في Go موجودة في حزمة قاعدة البيانات / SQL ، وهي جزء من المكتبة القياسية.

تتفاعل حزمة قاعدة البيانات / SQL مع قواعد بيانات SQL باستخدام برامج التشغيل. يمكنك استيراد حزمة برنامج تشغيل مناسبة لنظام RDBMS الخاص بك واستخدامها للتفاعل مع قاعدة البيانات.

الشروع في العمل مع قواعد بيانات SQL في Go

حزمة قاعدة البيانات / SQL هي واجهة عامة لقواعد البيانات العلائقية. للعمل مع خادم قاعدة بيانات محدد ، ستحتاج إلى استخدام أحد برامج التشغيل العديدة المتاحة.

لحسن الحظ ، لا داعي للقلق بشأن عمليات تنفيذ محددة تتجاوز السائق. تعالج حزمة قاعدة البيانات / sql عمليات قاعدة البيانات بشكل مستقل عن الخادم الذي تتصل به.

بعض برامج تشغيل قاعدة بيانات Go الأكثر شيوعًا هي:

  • برنامج تشغيل Go-SQL (MySQL)
  • PQ (PostgreSQL)
  • Go-SQLite3 (سكليتي)
  • MSSQL DB (Microsoft SQL Server)
instagram viewer

يمكنك استخدام ال قائمة السائقين LibHunt للعثور على معادلات لها أنواع قواعد البيانات الأخرى. تعرض القائمة أيضًا الشعبية النسبية لكل نظام قاعدة بيانات:

تثبيت واستيراد برامج تشغيل Go Database

بمجرد إنشاء مساحة عمل Go وتهيئة ملف وحدات Go ، ثبّت برنامج التشغيل الذي يتوافق مع نظام قاعدة البيانات لديك. على سبيل المثال ، قم بتشغيل أحد الأوامر التالية في دليل مساحة العمل لديك لتثبيت برنامج تشغيل MySQL أو SQLite:

انتقل إلى get -u github.com/go-sql-driver/mysql
اذهب واحصل على github.com/mattn/go-sqlite3

بعد تثبيت برنامج التشغيل الخاص بك ، قم باستيراده للتأثيرات الجانبية عن طريق إضافة شرطة سفلية قبل الحزمة. على سبيل المثال ، لاستيراد برنامج تشغيل MySQL إلى جانب حزمة قاعدة البيانات / SQL:

يستورد (
"قاعدة بيانات / SQL"
_ "github.com/يذهب-sql- سائق / mysql "
)

من خلال استيراد حزمة برنامج التشغيل للتأثيرات الجانبية ، يمكنك استخدامها للاتصال بقاعدة البيانات وتنفيذ العمليات عليها.

الاتصال بقاعدة بيانات SQL مع Go

بعد استيراد برامج تشغيل قاعدة البيانات ، يمكنك إنشاء اتصال قاعدة بيانات باستخدام امتداد فتح طريقة ال قاعدة البيانات / SQL حزمة. تأخذ هذه الطريقة اسم برنامج التشغيل والمسار إلى قاعدة البيانات (لـ SQLite) أو سلسلة اتصال (لـ MySQL). على سبيل المثال ، استخدم أيًا مما يلي:

db ، يخطئ: = sql. فتح ("sqlite3"، "Models / testdb.db") // سكليتي

db ، يخطئ: = sql. فتح ("mysql"، "user: password @ / dbname") // MySQL

بمجرد محاولتك فتح الاتصال ، تذكر التحقق من وجود خطأ:

إذا يخطئ! لا شيء {
سجل. فاتالن (يخطئ)
}

اعتمادًا على نظام قاعدة البيانات الخاص بك ، فإن ملف فتح قد يُرجع التابع خطأ إذا كانت قاعدة البيانات غير موجودة. بمجرد الاتصال بقاعدة بيانات ، يمكنك تنفيذ الاستعلامات وإعداد العبارات باستخدام مثيل قاعدة البيانات فتح عائدات.

تنفيذ أوامر SQL

تستطيع تنفيذ أوامر SQL باستخدام يحضر طريقة مثيل قاعدة البيانات الخاصة بك. ال يحضر تأخذ الطريقة أمر SQL وتعيد بيانًا معدة للتنفيذ جنبًا إلى جنب مع كائن خطأ. على سبيل المثال ، إذا كنت تريد إنشاء جدول جديد:

الأمر ، يخطئ: = ديسيبل. التحضير ("إنشاء جدول إذا لم يكن تسجيل الدخول EXISTS (اسم المستخدم TEXT ، كلمة المرور TEXT)")

البيان أعلاه ينشئ جدول باسم تسجيل الدخول، إذا لم تكن موجودة بالفعل. يحتوي الجدول الجديد على حقول مسماة اسم االمستخدم و كلمه السر، كل نوع نص.

إذا كنت تقوم بإدخال قيم من برنامجك في استعلاماتك ، فيمكنك استخدام علامة الاستفهام (؟) للإشارة إلى العناصر النائبة ثم تمرير المعلمات عند تنفيذ العبارة.

الأمر ، يخطئ: = ديسيبل. إعداد ("INSERT INTO تسجيل الدخول (اسم المستخدم ، كلمة المرور) قيم (؟ ،؟)")

بمجرد إنشاء بيان معد ، يمكنك تنفيذه باستخدام إكسيك طريقة. تتيح لك هذه الطريقة تمرير قيم المعلمات من برنامجك:

exec ، يخطئ: = الأمر. Exec (قيمة 1، قيمة 2)

إذا يخطئ! لا شيء {
إرجاع
}

أول قيمة إكسيك () العوائد هي نتيجة استعلام SQL في قاعدة البيانات الخاصة بك. باستخدام نتيجة الاستعلام هذه ، يمكنك التحقق من عدد الصفوف المتأثرة أو آخر معرف تم إدراجه:

المتضررة ، يخطئ: = exec. عدد الصفوف المتأثرة ()

إذا يخطئ! لا شيء {
إرجاع
}

FMT. Println (متأثر)

معرف ، يخطئ: = exec. LastInsertId ()

إذا يخطئ! لا شيء {
إرجاع
}

FMT. Println (معرف)

إحضار نتائج الاستعلام

تتيح لك حزمة database / sql الاستعلام عن نتائج قاعدة البيانات باستخدام امتداد استفسار طريقة مثيل قاعدة البيانات:

الصفوف ، يخطئ: = ديسيبل. استعلام ("تحديد * من المستخدم")

إذا يخطئ! لا شيء {
إرجاع
}

ال استفسار طريقة إرجاع أ صفوف هيكل يمكنك استخدامه للعمل مع مجموعة النتائج الخاصة بك. على سبيل المثال ، يمكنك استخدام ملحق التالي طريقة مثيل صفوفك لتكرارها والعمل مع صفوف فردية:

فار اسم المستخدم كلمة المرور سلسلة

إلى عن على صفوف. التالي() {
يخطئ: = صفوف. مسح (& اسم المستخدم وكلمة المرور)

إذا يخطئ! لا شيء {
سجل. فاتالن (يخطئ)
}

FMT. Println (اسم المستخدم وكلمة المرور)
}

في المثال أعلاه ، متغيرا سلسلة -اسم االمستخدم و كلمه السر—يمثل قيمة كل عمود. ال مسح طريقة فك الصف الحالي إلى تلك المتغيرات المقابلة.

قواعد بيانات SQL تأتي دائمًا في متناول يديك

يعد استخدام قواعد البيانات في Go أمرًا سهلاً مع حزمة قاعدة البيانات / SQL. يمكنك استخدامه للاستعلام عن أوامر SQL وتنفيذها في Go بسهولة.

تعد قواعد بيانات SQL في صميم العديد من التطبيقات ، لا سيما تلك التي تتعامل مع مجموعات بيانات كبيرة أو معقدة. يمكنك استخدام قواعد البيانات مثل قاعدة بيانات SQLite في الذاكرة لمشاريعك البسيطة مثل تجريف الويب وبناء الروبوتات.

تعد المعرفة الصحيحة بأنظمة إدارة قواعد البيانات و SQL ضرورية لاستخدامها في برامجك بكفاءة. ومع ذلك ، إذا اخترت عدم تعلم SQL ، فيمكنك تعلم كيفية استخدام ORMs للتفاعل مع قواعد بيانات SQL في Go.