mysqlを操作するためのgolang gormとgormの基本的な使い方を紹介します。
golang の次のチュートリアル コラムでは、mysql と gorm を操作するための golang gorm の基本的な使い方を紹介します。
golang 公式のものはmysqlの操作が少し面倒なのでgormを使用しました gormの使い方を簡単に紹介しますgorm:##をダウンロードしてください#go get -u github.com/jinzhu/gormgorm をプロジェクトに導入します:
import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" )
DB 接続情報を定義します
func DbConn(MyUser, Password, Host, Db string, Port int) *gorm.DB { connArgs := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local", MyUser,Password, Host, Port, Db ) db, err := gorm.Open("mysql", connArgs) if err != nil { log.Fatal(err) } db.SingularTable(true) return db }
grom は orm なので、マッピングを使用するため、操作するテーブルのモデルを定義する必要があります。goでは構造体を定義する必要があります。構造体の名前はデータベース内のテーブル名に対応します。gormが構造体を検索するときに注意してください。データベース内のテーブル名に対応する名前は、デフォルトで構造体の名前になります。大文字を小文字に変換して「s」を追加すると、 db.SingularTable(true) を追加して、追加せずに grom が構造体名をエスケープできるようにすることができますs.事前にデータベース上にテーブルを作成しておき、それをgromでクエリしました。gormを使ってテーブルを作成することもできます。データベース上に直接テーブルを作成した方が良いと思います。テーブルのフィールドを変更するのが便利です。 . Grom はデータのクエリと更新にのみ使用されます。
データベース内にテーブルが作成されたとして、データベース内にテーブル作成文は次のようになります:
CREATE TABLE `xz_auto_server_conf` ( `id` int(11) NOT NULL AUTO_INCREMENT, `group_zone` varchar(32) NOT NULL COMMENT '大区例如:wanba,changan,aiweiyou,360', `server_id` int(11) DEFAULT '0' COMMENT '区服id', `server_name` varchar(255) NOT NULL COMMENT '区服名称', `open_time` varchar(64) DEFAULT NULL COMMENT '开服时间', `service` varchar(30) DEFAULT NULL COMMENT '环境,test测试服,formal混服,wb玩吧', `username` varchar(100) DEFAULT NULL COMMENT 'data管理员名称', `submit_date` datetime DEFAULT NULL COMMENT '记录提交时间', `status` tinyint(2) DEFAULT '0' COMMENT '状态,0未处理,1已处理,默认为0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
モデル、つまり構造体を定義します。必要なものだけを定義できます データベースから取得した特定のフィールド:
gorm はテーブル名をエスケープするときに stuct の大文字 (最初の文字を除く) を「_」に置き換えます。そのため、次のようになります。 「XzAutoServerConf」は、データベース内の「xz_auto_server conf」に対応するテーブル名にエスケープされます。タグ内の名前に従って、対応するフィールド名が最初に検索されます。定義されたタグがない場合は、フィールドに従って検索されます構造体によって定義されています。検索する場合、構造体フィールドが検索されます。大文字は " " にエスケープされます。たとえば、「GroupZone」はテーブル内の group_zone フィールドを検索します。
//定义struct type XzAutoServerConf struct { GroupZone string `gorm:"column:group_zone"` ServerId int OpenTime string ServerName string Status int }
//定义数据库连接 type ConnInfo struct { MyUser string Password string Host string Port int Db string } func main () { cn := ConnInfo{ "root", 123456", "127.0.0.1", 3306, "xd_data", } db := DbConn(cn.MyUser,cn.Password,cn.Host,cn.Db,cn.Port) defer db.Close() // 关闭数据库链接,defer会在函数结束时关闭数据库连接 var rows []api.XzAutoServerConf //select db.Where("status=?", 0).Select([]string{"group_zone", "server_id", "open_time", "server_name"}).Find(&rows) //update err := db.Model(&rows).Where("server_id=?", 80).Update("status", 1).Error if err !=nil { fmt.Println(err) } fmt.Println(rows) }
その他の grom 操作については、を参照してください: https://jasperxu.github.io/gorm-zh/
Golang GORM の使用法を見てみましょう #gorm
gorm は、 でデータベース アクセスを実装する Go 言語 ORM (オブジェクト リレーショナル マッピング) ライブラリです。このライブラリを使用すると、オブジェクト指向メソッドを使用して、データベース内のデータに対して CRUD (追加、削除、変更、クエリ) をより簡単に実行できます。
基本的な使用法
依存関係のダウンロード
go get github.com/jinzhu/gorm go get github.com/go-sql-driver/mysql
2 つ目は、mysql ドライバー パッケージです。
データベースへの接続
packae main import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" "fmt" ) func main() { db, err := gorm.Open("mysql", "root:root@/test?charset=utf8&parseTime=True&loc=Local") if err != nil { fmt.Println(err) return }else { fmt.Println("connection succedssed") } defer db.Close()
type User struct { ID int `gorm:"primary_key"` Name string `gorm:"not_null"` } func add() { user := &User{Name:"zhangsan"} db.Create(user) }
user := &User{ID:1} db.delete(user)
user := &User{ID:1} db.Model(user).update("Name","lisi")
#クエリデータ#// query all
var users []User
db.Find(&users)
fmt.Println(users)
// query one
user := new (User)
db.First(user,1)
fmt.Println(user)
##判定データベースは構造に対応するテーブルがあります:
db.HasTable(User{})
Create table
db.CreateTable(User{})
以上が gorm の基本的な使い方です。
以上がmysqlを操作するためのgolang gormとgormの基本的な使い方を紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

phpmyadminを使用してmysqlに接続する方法は? phpmyadminにアクセスするためのURLは、通常、http:// localhost/phpmyadminまたはhttp:// [サーバーIPアドレス]/phpMyAdminです。 MySQLユーザー名とパスワードを入力します。接続するデータベースを選択します。 [接続]ボタンをクリックして、接続を確立します。

MySQLの「ユーザーのアクセス拒否」を解決する方法エラー:1。ユーザーの許可を確認して、データベースに接続します。 2。パスワードをリセットします。 3.リモート接続を許可します。 4。更新権限。 5.データベースサーバーの構成(Bind-Address、Skip-Grant-Tables)を確認します。 6.ファイアウォールルールを確認します。 7.MySQLサービスを再起動します。ヒント:データベースをバックアップした後に変更を加えます。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Cは、ハードウェアリソースと高性能の最適化が必要なシナリオにより適していますが、Golangは迅速な開発と高い並行性処理が必要なシナリオにより適しています。 1.Cの利点は、ハードウェア特性と高い最適化機能に近いものにあります。これは、ゲーム開発などの高性能ニーズに適しています。 2.Golangの利点は、その簡潔な構文と自然な並行性サポートにあり、これは高い並行性サービス開発に適しています。
