Trình điều khiển MySQL cung cấp một số cấu hình nâng cao có thể được sử dụng trong quá trình khởi tạo, chẳng hạn
db, err := gorm.Open[mysql.New[mysql.Config{
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
Tùy chỉnh trình điều khiển
GORM cho phép tùy chỉnh trình điều khiển MySQL với tùy chọn
db, err := gorm.Open[mysql.New[mysql.Config{6 chẳng hạn
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
import [
_ "example.com/my_mysql_driver"
"gorm.io/driver/mysql"
"gorm.io/gorm"
]
db, err := gorm.Open[mysql.New[mysql.Config{
DriverName: "my_mysql_driver",
DSN: "gorm:gorm@tcp[localhost:9910]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name, refer //github.com/go-sql-driver/mysql#dsn-data-source-name
}], &gorm.Config{}]
Kết nối cơ sở dữ liệu hiện có
GORM cho phép khởi tạo
db, err := gorm.Open[mysql.New[mysql.Config{7 với kết nối cơ sở dữ liệu hiện có
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
import [
"database/sql"
"gorm.io/driver/mysql"
"gorm.io/gorm"
]
sqlDB, err := sql.Open["mysql", "mydb_dsn"]
gormDB, err := gorm.Open[mysql.New[mysql.Config{
Conn: sqlDB,
}], &gorm.Config{}]
PostgreSQL
import [
"gorm.io/driver/postgres"
"gorm.io/gorm"
]
dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai"
db, err := gorm.Open[postgres.Open[dsn], &gorm.Config{}]
Chúng tôi đang sử dụng pgx làm trình điều khiển cơ sở dữ liệu/sql của postgres, nó cho phép bộ đệm câu lệnh đã chuẩn bị theo mặc định, để tắt nó
// //github.com/go-gorm/postgres
db, err := gorm.Open[postgres.New[postgres.Config{
DSN: "user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai",
PreferSimpleProtocol: true, // disables implicit prepared statement usage
}], &gorm.Config{}]
Tùy chỉnh trình điều khiển
GORM cho phép tùy chỉnh trình điều khiển PostgreSQL với tùy chọn
db, err := gorm.Open[mysql.New[mysql.Config{6 chẳng hạn________số 8_______
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
Kết nối cơ sở dữ liệu hiện có
GORM cho phép khởi tạo
db, err := gorm.Open[mysql.New[mysql.Config{7 với kết nối cơ sở dữ liệu hiện có
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
import [
"database/sql"
"gorm.io/driver/postgres"
"gorm.io/gorm"
]
sqlDB, err := sql.Open["pgx", "mydb_dsn"]
gormDB, err := gorm.Open[postgres.New[postgres.Config{
Conn: sqlDB,
}], &gorm.Config{}]
SQLite
import [
"gorm.io/driver/sqlite" // Sqlite driver based on GGO
// "github.com/glebarez/sqlite" // Pure go SQLite driver, checkout //github.com/glebarez/sqlite for details
"gorm.io/gorm"
]
// github.com/mattn/go-sqlite3
db, err := gorm.Open[sqlite.Open["gorm.db"], &gorm.Config{}]
GHI CHÚ. Bạn cũng có thể sử dụng
import [0 thay cho đường dẫn đến tệp. Điều này sẽ yêu cầu SQLite sử dụng cơ sở dữ liệu tạm thời trong bộ nhớ hệ thống. [Xem tài liệu SQLite để biết điều này]
_ "example.com/my_mysql_driver"
"gorm.io/driver/mysql"
"gorm.io/gorm"
]
db, err := gorm.Open[mysql.New[mysql.Config{
DriverName: "my_mysql_driver",
DSN: "gorm:gorm@tcp[localhost:9910]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name, refer //github.com/go-sql-driver/mysql#dsn-data-source-name
}], &gorm.Config{}]
Máy chủ SQL
import [
"gorm.io/driver/sqlserver"
"gorm.io/gorm"
]
// github.com/denisenkom/go-mssqldb
dsn := "sqlserver://gorm:LoremIpsum86@localhost:9930?database=gorm"
db, err := gorm.Open[sqlserver.Open[dsn], &gorm.Config{}]
Clickhouse
https. //github. com/go-gorm/clickhouse
db, err := gorm.Open[mysql.New[mysql.Config{0
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
nhóm kết nối
GORM sử dụng cơ sở dữ liệu/sql để duy trì nhóm kết nối
db, err := gorm.Open[mysql.New[mysql.Config{1
DSN: "gorm:gorm@tcp[127.0.0.1:3306]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name
DefaultStringSize: 256, // default size for string fields
DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6
DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB
SkipInitializeWithVersion: false, // auto configure based on currently MySQL version
}], &gorm.Config{}]
Tham khảo Giao diện chung để biết chi tiết
Cơ sở dữ liệu không được hỗ trợ
Một số cơ sở dữ liệu có thể tương thích với phương ngữ
import [1 hoặc
_ "example.com/my_mysql_driver"
"gorm.io/driver/mysql"
"gorm.io/gorm"
]
db, err := gorm.Open[mysql.New[mysql.Config{
DriverName: "my_mysql_driver",
DSN: "gorm:gorm@tcp[localhost:9910]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name, refer //github.com/go-sql-driver/mysql#dsn-data-source-name
}], &gorm.Config{}]
import [2, trong trường hợp đó, bạn chỉ có thể sử dụng phương ngữ cho những cơ sở dữ liệu đó
_ "example.com/my_mysql_driver"
"gorm.io/driver/mysql"
"gorm.io/gorm"
]
db, err := gorm.Open[mysql.New[mysql.Config{
DriverName: "my_mysql_driver",
DSN: "gorm:gorm@tcp[localhost:9910]/gorm?charset=utf8&parseTime=True&loc=Local", // data source name, refer //github.com/go-sql-driver/mysql#dsn-data-source-name
}], &gorm.Config{}]
Làm cách nào để phân tích ngày trong MySQL?
chọn str_to_date[yourColumName,'format'] làm anyVariableName từ yourTableName ; .
Làm cách nào để trích xuất ngày từ TIMESTAMP trong MySQL?
Trong MySQL, sử dụng hàm DATE[] để truy xuất ngày từ giá trị ngày giờ hoặc dấu thời gian. Hàm này chỉ nhận một đối số – có thể là biểu thức trả về giá trị ngày/ngày giờ/dấu thời gian hoặc tên của cột dấu thời gian/ngày giờ.
Làm cách nào để có được thời gian hiện tại trong MySQL?
CURRENT_TIME và CURRENT_TIME[] đồng nghĩa với CURTIME[]. CURRENT_TIMESTAMP và CURRENT_TIMESTAMP[] đồng nghĩa với NOW[]. Trả về thời gian hiện tại dưới dạng giá trị trong 'hh. mm. ss' hoặc hhmmss, tùy thuộc vào việc hàm được sử dụng trong ngữ cảnh chuỗi hay số
Làm cách nào để chèn TIMESTAMP trong MySQL?
Để chứng minh, trước tiên hãy tạo một bảng có tên là Mẫu với sample_ts là trường DẤU THỜI GIAN. TẠO BẢNG Mẫu [ sample_id int NOT NULL, sample_name VARCHAR[20], sample_ts TIMESTAMP ]; Tiếp theo, bạn phải đặt múi giờ thành '+00. 00' UTC bằng cách ban hành lệnh SET time_zone. ĐẶT TIME_ZONE = '+00. 00';