מסדי נתונים של 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 (SQLite)
  • MSSQL DB (Microsoft SQL Server)
instagram viewer

אתה יכול להשתמש ב רשימת מנהלי ההתקן של LibHunt למצוא מקבילות עבור סוגי מסדי נתונים אחרים. הרשימה מציגה גם את הפופולריות היחסית של כל מערכת מסד נתונים:

התקנה וייבוא ​​של מנהלי התקנים של Go Database

לאחר שיצרת סביבת עבודה של Go ואתחול קובץ מודולים של Go, התקן את מנהל ההתקן התואם למערכת מסד הנתונים שלך. לדוגמה, הפעל אחת מהפקודות הבאות בספריית סביבת העבודה שלך כדי להתקין את מנהל ההתקן של MySQL או SQLite:

לך קבל -u github.com/go-sql-driver/mysql
לך להשיג github.com/mattn/go-sqlite3

לאחר התקנת מנהל ההתקן, ייבא אותו לתופעות לוואי על ידי הקדמת קו תחתון לפני החבילה. לדוגמה, כדי לייבא את מנהל ההתקן של MySQL לצד חבילת מסד הנתונים/sql:

יְבוּא (
"בסיס נתונים/sql"
_ "github.com/ללכת-sql-driver/mysql"
)

על ידי ייבוא ​​חבילת מנהל ההתקן עבור תופעות לוואי, אתה יכול להשתמש בה כדי להתחבר ולבצע פעולות על מסד הנתונים.

התחברות למסד נתונים של SQL עם Go

לאחר ייבוא ​​מנהלי ההתקן של מסד הנתונים, תוכל ליצור חיבור למסד הנתונים באמצעות ה לִפְתוֹחַ שיטת ה מסד נתונים/sql חֲבִילָה. שיטה זו לוקחת את השם והנתיב של מנהל ההתקן למסד הנתונים (עבור SQLite) או מחרוזת חיבור (עבור MySQL). לדוגמה, השתמש באחת מהאפשרויות הבאות:

db, err := sql. Open("sqlite3", "models/testdb.db") // SQLite

db, err := sql. Open("mysql", "user: password@/dbname") // MySQL

לאחר שניסית לפתוח את החיבור, זכור לבדוק אם יש שגיאה:

אם טעות != אֶפֶס {
עֵץ. פתאלן (שגיאה)
}

בהתאם למערכת מסד הנתונים שלך, ה לִפְתוֹחַ השיטה עשויה להחזיר שגיאה אם ​​מסד הנתונים אינו קיים. לאחר שהתחברת למסד נתונים, תוכל לבצע שאילתות ולהכין הצהרות באמצעות מופע מסד הנתונים ש לִפְתוֹחַ החזרות.

ביצוע פקודות SQL

אתה יכול לבצע פקודות SQL משתמש ב הכן השיטה של ​​מופע מסד הנתונים שלך. ה הכן השיטה לוקחת פקודת SQL ומחזירה משפט מוכן לביצוע לצד אובייקט שגיאה. לדוגמה, אם ברצונך ליצור טבלה חדשה:

פקודה, שגיאה := db. Prepare("CREATE TABLE IF NOT EXISTS התחברות (שם משתמש TEXT, סיסמה TEXT)")

ההצהרה למעלה יוצרת טבלה בשם התחברות, אם הוא עדיין לא קיים. בטבלה החדשה יש שדות בשם שם משתמש ו סיסמה, כל אחד מסוגו טֶקסט.

אם אתה מוסיף ערכים מהתוכנית שלך לשאילתות שלך, אתה יכול להשתמש בסימון סימני שאלה (?) כדי לציין מצייני מיקום ולאחר מכן להעביר את הפרמטרים לביצוע ההצהרה.

פקודה, שגיאה := db. Prepare("INSERT INTO login (שם משתמש, סיסמה) ערכי(?,?)")

לאחר שיצרת הצהרה מוכנה, תוכל לבצע אותה באמצעות שלה Exec שיטה. שיטה זו מאפשרת לך להעביר ערכי פרמטרים מהתוכנית שלך:

exec, err := הפקודה. Exec (value1, Value2)

אם טעות != אֶפֶס {
לַחֲזוֹר
}

הערך הראשון ש Exec() מחזיר הוא התוצאה של שאילתת SQL במסד הנתונים שלך. באמצעות תוצאת שאילתה זו, תוכל לבדוק את מספר השורות המושפעות או את המזהה האחרון שהוכנס:

מושפע, שגיאה := exec. RowsAffected()

אם טעות != אֶפֶס {
לַחֲזוֹר
}

fmt. Println (מושפע)

id, err := exec. LastInsertId()

אם טעות != אֶפֶס {
לַחֲזוֹר
}

fmt. Println (מזהה)

מביא תוצאות שאילתה

חבילת מסד הנתונים/sql מאפשרת לך לבצע שאילתות על תוצאות מסד הנתונים באמצעות ה שאילתא שיטה של ​​מופע מסד נתונים:

שורות, טעות := db. שאילתה ("SELECT * FROM User")

אם טעות != אֶפֶס {
לַחֲזוֹר
}

ה שאילתא שיטה מחזירה א שורות מבנה שאתה יכול להשתמש בו כדי לעבוד עם ערכת התוצאות שלך. לדוגמה, אתה יכול להשתמש ב- הַבָּא שיטה של ​​מופע השורות שלך לחזור עליו ולעבוד עם שורות בודדות:

var שם משתמש סיסמא חוּט

ל שורות. הבא() {
טעות := שורות. סריקה (&שם משתמש, &סיסמה)

אם טעות != אֶפֶס {
עֵץ. פתאלן (שגיאה)
}

fmt. Println (שם משתמש, סיסמה)
}

בדוגמה למעלה, שני משתני מחרוזת-שם משתמש ו סיסמה- מייצגים כל ערך עמודה. ה לִסְרוֹק השיטה מפענחת את השורה הנוכחית לאותם משתנים מתאימים.

מסדי נתונים של SQL תמיד שימושיים

השימוש בבסיסי נתונים ב-Go הוא פשוט עם חבילת מסד הנתונים/sql. אתה יכול להשתמש בו כדי לבצע שאילתות וביצוע פקודות SQL ב-Go בקלות.

מסדי נתונים של SQL הם הליבה של יישומים רבים, במיוחד אלה העוסקים במערכי נתונים גדולים או מורכבים. אתה יכול להשתמש במסדי נתונים כמו מסד הנתונים SQLite בזיכרון עבור הפרויקטים הפשוטים שלך כמו גירוד אינטרנט ובניית בוטים.

ידע נכון במערכות SQL וניהול מסדי נתונים חיוני כדי להשתמש בהם ביעילות בתוכניות שלך. עם זאת, אם תבחר לא ללמוד SQL, תוכל ללמוד כיצד להשתמש ב-ORMs כדי ליצור אינטראקציה עם מסדי נתונים של SQL ב-Go.