Heim > Artikel > Backend-Entwicklung > Welche Datenbank ist mit der Go-Sprache ausgestattet?
Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.
golang unterstützt eine Vielzahl von Datenbanken
1. MySQL
MySQL ist ein relationales Datenbankverwaltungssystem, das Daten in verschiedenen Tabellen speichern kann und dadurch die Geschwindigkeit der Datenbank erhöht. und Flexibilität, zeichnet sich durch geringe Größe, hohe Geschwindigkeit und niedrige Gesamtbetriebskosten aus.
2. Oracle
Oracle ist ein relationales Datenbankverwaltungssystem, das eine führende Position im Datenbankbereich einnimmt und sich durch gute Portabilität, einfache Bedienung und leistungsstarke Funktionen auszeichnet , mittlere, kleine und Mikrocomputerumgebung ist eine Datenbank mit hoher Effizienz, guter Zuverlässigkeit und hohem Durchsatz.
3. SQLite
SQLite ist eine leichtgewichtige Datenbank, die dem relationalen Datenbankverwaltungssystem ACID folgt. Sie ist für den eingebetteten Einsatz konzipiert und kann mit C#, PHP, Java usw. verwendet werden in Kombination mit Programmiersprachen.
4. MongoDB ist eine Datenbank, die auf verteilter Dateispeicherung basiert. Ihr Zweck besteht darin, skalierbare und leistungsstarke Datenspeicherlösungen für WEB-Anwendungen bereitzustellen. Die von MongoDB unterstützte Datenstruktur ist sehr locker und unterstützt mehrere Abfragesprachen und Indizierung.
5. PostgreSQL
PostgreSQL ist ein leistungsstarkes objektrelationales Datenbankverwaltungssystem mit Open-Source-Code. Es verfügt über Funktionen wie komplexe Abfragen, Fremdschlüssel, Trigger, Ansichten, Transaktionsintegrität und PostgreSQL-Kontrolle Die Funktion führt das Anweisungsprogramm auf der Seite des Datenbankservers aus und der Benutzer kann die Indexmethode anpassen.
6. SQL Sever
SQL Sever ist ein relationales Datenbankverwaltungssystem. Es bietet die Vorteile einer einfachen Verwendung, einer guten Skalierbarkeit und eines hohen Integrationsgrads der zugehörigen Software können Sie hochverfügbare und leistungsstarke Datenanwendungen für Ihr Unternehmen erstellen und verwalten.
golang betreibt die MySQL-DatenbankIm Folgenden wird hauptsächlich die Verwendung von MySQL in der Go-Sprache unter den Aspekten Hinzufügen, Löschen, Ändern und Dinge vorgestellt. 1. Stellen Sie eine Verbindung zur Datenbank her.
Verwenden Sie SQL. Open()-Funktion zum Öffnen der Datenbankverbindung. Das Format der Datenbankverbindungszeichenfolge (dsn) lautet wie folgt:admin:123456@tcp(10.2.1.5)/irisapp
func (f *mysql_db) mysql_open() { db, err := sql.Open("mysql", dbusername+":"+dbpassword+"@tcp("+dbhostsip+")/"+dbname) if err != nil { fmt.Println("链接失败") } fmt.Println("链接成功") f.db = db }
4. Update
func (f *mysql_db) mysql_insert() { //insert 添加数据 fmt.Println("开始插入") stmt, err := f.db.Prepare("INSERT INTO depart(departName,memo) VALUES(?,?)") //defer stmt.Close() if err != nil { fmt.Println("插入失败") return } stmt.Exec("dd", "adadcccda") fmt.Println("插入成功") }
5. Löschen
func (f *mysql_db) mysql_select(sql_data string) { //select 查询数据 fmt.Println("sql:", sql_data) rows, err := f.db.Query(sql_data) if err != nil { fmt.Println("查询失败") } for rows.Next() { var departID int var departName string var memo string err = rows.Scan(&departID, &departName, &memo) if err != nil { panic(err) } fmt.Println("departName:", departName) } }
6. Dinge
func (f *mysql_db) mysql_update() { //update 修改数据 stmt, err := f.db.Prepare("update depart set departName=?,memo =? where departId=?") //defer stmt.Close() if err != nil { //错误处理 } result,_ := stmt.Exec("aa","asdfadsadsfa",1) if result == nil { fmt.Println("修改失败") } affect_count,_ := result.RowsAffected() //返回影响的条数,注意有两个返回值 fmt.Println("%v",affect_count) }Aufruf
func (f *mysql_db) mysql_delete() { //delete 删除数据 stmt, err := f.db.Prepare("delete from depart where departId=?") //defer stmt.Close() if err != nil { //错误处理 } stmt.Exec(2) //不返回任何结果 fmt.Println("删除成功") }Die Ausgabe nach dem Start ist wie folgt:
func (f *mysql_db) mysql_tran(){ //事务 tx,err := f.db.Begin() //声明一个事务的开始 if err != nil { fmt.Println(err) return } insert_sql := "insert into depart (departName,memo) VALUES(?,?)" insert_stmt,insert_err := tx.Prepare(insert_sql) if insert_err != nil { fmt.Println(insert_err) return } insert_res,insert_err := insert_stmt.Exec("ff","ff") last_insert_id,_ := insert_res.LastInsertId() fmt.Println(last_insert_id) // defer tx.Rollback() //回滚之前上面的last_login_id是有的,但在回滚后该操作没有被提交,被回滚了,所以上面打印的Last_login_id的这条数据是不存在与数据库表中的 tx.Commit() //这里提交了上面的操作,所以上面的执行的sql 会在数据库中产生一条数据 }Vollständiger Code
func main() { db := &mysql_db{} db.mysql_open() db.mysql_insert() db.mysql_update() db.mysql_delete() db.mysql_tran() db.mysql_select("select departID,departName,memo from depart") db.mysql_close() //关闭 }Zusammenfassung
1. Unterstützt Vorbereitungsausdrücke, die zur Optimierung von SQL-Abfragen zur Verbesserung der Leistung verwendet werden können, wodurch das Risiko einer SQL-Injection verringert wird. db.Prepare() und tx.Prepare bieten beide Unterstützung für vorbereitete Ausdrücke.
2. LastInsertId() Rufen Sie die ID des ersten eingefügten Elements ab3. Rufen Sie die Anzahl der betroffenen/eingefügten Elemente ab4. Hier ist eine kurze Einführung in die grundlegende Verwendung von MySQL in der Go-Sprachentwicklung. Tatsächlich werden im eigentlichen Entwicklungsprozess immer noch hauptsächlich ORM-bezogene Frameworks von Drittanbietern verwendet, die zugrunde liegenden Prinzipien müssen jedoch noch erlernt werden. Für weitere Go-Sprachkenntnisse beachten Sie bitte die Spalte „Go-Sprach-Tutorial“ auf der chinesischen PHP-Website.Das obige ist der detaillierte Inhalt vonWelche Datenbank ist mit der Go-Sprache ausgestattet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!