Heim > Backend-Entwicklung > Golang > Welche Datenbank ist mit der Go-Sprache ausgestattet?

Welche Datenbank ist mit der Go-Sprache ausgestattet?

青灯夜游
Freigeben: 2022-12-15 18:41:13
Original
7034 Leute haben es durchsucht

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
Nach dem Login kopieren
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
}
Nach dem Login kopieren

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("插入成功")
}
Nach dem Login kopieren

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)
    }
}
Nach dem Login kopieren

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)
}
Nach dem Login kopieren

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("删除成功")
}
Nach dem Login kopieren
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 会在数据库中产生一条数据
}
Nach dem Login kopieren

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() //关闭
}
Nach dem Login kopieren
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 ab

3. Rufen Sie die Anzahl der betroffenen/eingefügten Elemente ab

4. 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage