Rumah pangkalan data tutorial mysql Gunakan MySQL dalam bahasa Go untuk melaksanakan pemprosesan data bukan perhubungan

Gunakan MySQL dalam bahasa Go untuk melaksanakan pemprosesan data bukan perhubungan

Jun 17, 2023 pm 08:08 PM
mysql pergi bahasa Pemprosesan data bukan hubungan

Dengan perkembangan pesat Internet, pangkalan data bukan perhubungan (NoSQL) semakin digunakan secara meluas, dan dalam bahasa Go, terdapat juga beberapa cara bukan perkaitan memproses data. Walau bagaimanapun, untuk beberapa pangkalan data hubungan tradisional, seperti MySQL, kami juga boleh menggunakan beberapa teknik untuk melaksanakan fungsi pemprosesan data bukan hubungan.

Artikel ini akan memperkenalkan kaedah dan teknik menggunakan MySQL untuk melaksanakan pemprosesan data bukan perkaitan dalam bahasa Go, termasuk cara mencipta dan mereka bentuk jadual bukan perkaitan, dan menunjukkan cara membaca data melalui contoh , menulis dan mengemas kini. Dalam proses ini, kami akan menggunakan salah satu perpustakaan ini: github.com/go-sql-driver/mysql.

1. Cipta jadual bukan hubungan

Untuk pangkalan data MySQL, kami biasanya menganggapnya sebagai pangkalan data hubungan, jadi kami perlu mereka bentuk jadual dan mengekalkan hubungan antara jadual . Tetapi kadangkala, kita perlu menyimpan data dalam struktur bukan perhubungan, seperti data format JSON.

Dalam MySQL, kami boleh menggunakan medan jenis JSON untuk melaksanakan storan bukan perhubungan. Sebagai contoh, kami mencipta jadual untuk menyimpan maklumat pengguna, yang mengandungi medan jenis JSON "maklumat" untuk menyimpan maklumat peribadi pengguna:

CREATE TABLE users (
   id INT(11) NOT NULL AUTO_INCREMENT,
   name VARCHAR(50) NOT NULL,
   info JSON NOT NULL,
   PRIMARY KEY (id)
);
Salin selepas log masuk

Dalam kod di atas, kami mencipta jadual bernama jadual "pengguna", yang mengandungi tiga medan: id, nama dan maklumat. Jenis medan maklumat ialah JSON, yang digunakan untuk menyimpan maklumat peribadi pengguna. Dalam aplikasi praktikal, kami juga boleh menggunakan jenis bukan hubungan lain, seperti BLOB, TEXT, dll.

2. Gunakan bahasa Go untuk menyambung ke pangkalan data MySQL

Menyambung ke pangkalan data MySQL dalam bahasa Go memerlukan penggunaan perpustakaan pihak ketiga, yang paling biasa digunakan ialah github.com/ go-sql-driver/mysql. Mula-mula, anda perlu memasang perpustakaan ini, yang boleh dipasang melalui arahan berikut:

go get github.com/go-sql-driver/mysql
Salin selepas log masuk

Pustaka ini menyediakan jenis sql.DB yang boleh digunakan untuk sambungan dan operasi pangkalan data. Sebelum menyambung ke pangkalan data, kami perlu menyediakan beberapa maklumat konfigurasi, seperti berikut:

dsn := "root:password@(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := sql.Open("mysql", dsn)
if err != nil {
   panic(err)
}
defer db.Close()
Salin selepas log masuk

dsn ialah nama sumber data yang digunakan untuk menyambung ke pangkalan data. Ini termasuk nama pengguna, kata laluan, alamat hos, nombor port, nama pangkalan data, kaedah pengekodan dan maklumat lain. Dalam kod di atas, kami menggunakan alamat hos tempatan dan nombor port 3306 lalai, dan menggantikan nama pengguna dan kata laluan dengan nilai yang sepadan. Jika sambungan berjaya, pembolehubah db akan mengandungi rujukan kepada pangkalan data MySQL yang telah anda sambungkan.

3. Bahasa Go untuk membaca dan menulis data bukan hubungan

Selepas menyambung ke pangkalan data MySQL, kami boleh menggunakan jenis sql.DB untuk melaksanakan pertanyaan SQL dan mendapatkan data berkaitan. Untuk data bukan perhubungan, kita boleh menggunakan fungsi JSON MySQL untuk membaca dan menulis medan jenis JSON.

  1. Tulis data bukan hubungan

Kod berikut menunjukkan cara menulis maklumat pengguna baharu pada jadual pengguna:

info := `{
   "age": 23,
   "gender": "male",
   "email": "john@example.com"
}`
result, err := db.Exec("INSERT INTO users(name, info) VALUES(?, ?)", "John", info)
if err != nil {
   panic(err)
}
fmt.Printf("New user id: %d
", result.LastInsertId())
Salin selepas log masuk

Dalam contoh ini, kami mula-mula menentukan rentetan JSON yang mengandungi maklumat pengguna. Kami kemudian menggunakan fungsi Exec untuk melaksanakan penyata sisipan dan menghantar maklumat pengguna sebagai parameter ke dalam pernyataan SQL. Selepas pemasukan berjaya, kami memperoleh dan mengeluarkan ID pengguna baharu.

  1. Membaca data bukan perkaitan

Seterusnya, kami akan menunjukkan cara membaca data JSON yang disimpan dalam medan bukan perhubungan. Anda hanya boleh mendapatkan pasangan nilai kunci dalam JSON menggunakan fungsi JSON_EXTRACT MySQL. Kod berikut menunjukkan cara membaca semua maklumat pengguna dalam jadual pengguna:

rows, err := db.Query("SELECT * FROM users")
if err != nil {
   panic(err)
}
defer rows.Close()

for rows.Next() {
   var id int
   var name string
   var info []byte
   err := rows.Scan(&id, &name, &info)
   if err != nil {
      panic(err)
   }
   var user map[string]interface{}
   err = json.Unmarshal(info, &user)
   if err != nil {
      panic(err)
   }
   fmt.Printf("ID: %d, Name: %s, Age: %f, Gender: %s, Email: %s
", id, name, user["age"], user["gender"], user["email"])
}
Salin selepas log masuk

Dalam contoh ini, kami mula-mula menggunakan fungsi db.Query untuk menanyakan semua data dalam jadual pengguna. Kemudian, kami menggunakan fungsi rows.Scan untuk membaca medan ID, nama dan maklumat bagi setiap baris data. Seterusnya, kami menukar nilai medan maklumat kepada pembolehubah pengguna jenis peta[rentetan]antara muka{} dan menggunakan fungsi json.Unmarshal untuk menghurai. Akhir sekali, kami mengeluarkan ID, Nama, Umur, Jantina dan E-mel setiap pengguna.

  1. Mengemas kini data bukan hubungan

Akhir sekali, kami menunjukkan cara mengemas kini data yang disimpan dalam medan bukan hubungan. Fungsi JSON_SET MySQL boleh digunakan untuk mengemas kini pasangan nilai kunci secara dinamik dalam medan JSON. Kod berikut menunjukkan cara mengemas kini alamat e-mel pengguna kepada nilai baharu:

result, err := db.Exec("UPDATE users SET info=JSON_SET(info, '$.email', ?) WHERE name=?", "john_doe@example.com", "John")
if err != nil {
   panic(err)
}
rowsAffected, err := result.RowsAffected()
if err != nil {
   panic(err)
}
fmt.Printf("Rows affected: %d
", rowsAffected)
Salin selepas log masuk

Dalam contoh ini, kami menggunakan fungsi Exec untuk melaksanakan kenyataan kemas kini dan menghantar alamat e-mel baharu sebagai parameter kepada pernyataan SQL Fungsi JSON_SET. Kami menggunakan klausa WHERE untuk menentukan nama pengguna untuk dikemas kini. Selepas kemas kini berjaya, kami menyemak dan mengeluarkan bilangan baris yang terjejas.

4. Ringkasan

Dalam bahasa Go, kita boleh menggunakan pangkalan data MySQL untuk menyimpan data bukan perhubungan. Dengan menggunakan medan jenis JSON, kami boleh menyimpan dan memproses data dengan mudah dalam format JSON. Artikel ini memperkenalkan kaedah dan teknik untuk mencipta jadual bukan hubungan, menyambung ke pangkalan data MySQL, membaca dan menulis data bukan hubungan dan contoh penggunaan fungsi JSON_EXTRACT dan JSON_SET untuk operasi data. Mereka boleh membantu anda menggunakan MySQL dengan lebih baik untuk memproses data bukan hubungan dalam aplikasi praktikal.

Atas ialah kandungan terperinci Gunakan MySQL dalam bahasa Go untuk melaksanakan pemprosesan data bukan perhubungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hubungan antara pengguna dan pangkalan data MySQL Hubungan antara pengguna dan pangkalan data MySQL Apr 08, 2025 pm 07:15 PM

Dalam pangkalan data MySQL, hubungan antara pengguna dan pangkalan data ditakrifkan oleh kebenaran dan jadual. Pengguna mempunyai nama pengguna dan kata laluan untuk mengakses pangkalan data. Kebenaran diberikan melalui perintah geran, sementara jadual dibuat oleh perintah membuat jadual. Untuk mewujudkan hubungan antara pengguna dan pangkalan data, anda perlu membuat pangkalan data, membuat pengguna, dan kemudian memberikan kebenaran.

MySQL: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Apr 08, 2025 pm 09:51 PM

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Cara Melihat MySQL Cara Melihat MySQL Apr 08, 2025 pm 07:21 PM

Lihat pangkalan data MySQL dengan arahan berikut: Sambungkan ke pelayan: MySQL -U Pengguna Nama -P Kata Laluan Run Show pangkalan data; Perintah untuk mendapatkan semua pangkalan data yang sedia ada Pilih pangkalan data: Gunakan nama pangkalan data; Lihat Jadual: Tunjukkan Jadual; Lihat Struktur Jadual: Huraikan nama jadual; Lihat data: pilih * dari nama jadual;

Cara menyalin jadual di mysql Cara menyalin jadual di mysql Apr 08, 2025 pm 07:24 PM

Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Apr 08, 2025 pm 09:18 PM

Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

Cara menyalin dan tampal mysql Cara menyalin dan tampal mysql Apr 08, 2025 pm 07:18 PM

Salin dan tampal di MySQL termasuk langkah -langkah berikut: Pilih data, salin dengan Ctrl C (Windows) atau Cmd C (Mac); Klik kanan di lokasi sasaran, pilih Paste atau gunakan Ctrl V (Windows) atau CMD V (MAC); Data yang disalin dimasukkan ke dalam lokasi sasaran, atau menggantikan data sedia ada (bergantung kepada sama ada data sudah ada di lokasi sasaran).

See all articles