


Gunakan MySQL dalam bahasa Go untuk melaksanakan pemprosesan data bukan perhubungan
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) );
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
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()
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.
- 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())
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.
- 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"]) }
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.
- 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)
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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.

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;

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).

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).

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).
