. b( T3 ?8 W. c1 U- V! ~% Wimport hunt.database;5 X0 b' P; s1 f1 |: g/ j
* W7 ~7 D- L$ K# m' l1 D0 w; |void main() % n7 B; m7 A, {8 |+ |2 r ! {$ w" E6 A$ `, f0 f0 m* M ]{ 8 f9 s/ i7 R1 F& j+ [6 d4 Z7 Y! T/ F: g5 |& L
auto db = new Database("mysql://root:123456@localhost:3306/test?charset=utf8mb4"); ' B6 Z% K* c+ k! A7 y: ~: J. A& G, c/ h% a
int result = db.execute(`INSERT INTO user(username) VALUES("test")`); W4 S) K1 n" U # U Z) x& _$ M( Q k// 打印插入数量 % F5 R0 c! b6 e# [: R! L! c4 L! H! J% ~" Q: y) E$ B2 _
writeln(result); ( B7 u8 G8 v8 i/ ?6 O+ u5 d+ \/ ^ \! R7 g& P) Y7 h, U
db.close(); i$ |9 ?/ u% z8 L3 h! |0 [ $ B+ L$ ]' t8 L4 b# s+ X1 B} 0 F% o" k- q8 p 6 Q$ W7 p! @6 N& t+ i1.2 : Rust 插入数据6 V0 G. `; }$ ~) w& d0 g
9 a0 M, g- Y i- y2 `) m, dextern crate postgres; # _ e2 c; |! A3 d/ C- _; j% f- Z
use postgres::{Connection, SslMode}; 0 d2 H. W: L1 O9 g7 O% v( j' z' g0 X3 y5 P* r, d6 A' \) h
fn main() {$ t" ]' S7 M' A) T+ x8 E
' X: L& G+ B- j0 ?
let conn = Connection::connect("postgres://postgres@localhost", SslMode::None).unwrap();, S. e Q2 I8 k0 ^ I8 r
/ L- Z" u( Q; {/ {" R/ k# vconn.execute("INSERT INTO user (username) VALUES (\"test\")", &[]).unwrap(); ; E; F% ~) D4 S+ N 0 T* e+ v+ B7 D} 7 v7 \6 O L# B* f# ] Y4 ^" `- k1 h- y
1.3 : Golang 插入数据 , f0 }7 ]" q( ~' ]* T. _& m! V8 ?0 I0 A& O. |
import ( , a/ k0 O( f8 G' Y9 N, e o* s2 y! e1 D/ M
"database/sql"1 e2 y* ?' R$ \8 v5 ]$ J; Z. e
/ t& d4 H" H( q6 s& z8 G' \1 R
"fmt"( D2 @% V( n3 r
9 l$ K. o. D7 F
_ "github.com/lib/pq"; @( C4 S0 Y6 Q
5 o$ Z6 f7 q$ n0 ~"time" ; V" d" v0 T! X( y* P/ r4 U6 L9 R 1 @$ N' g6 H7 \2 @- t) {! C"log". a* w$ @9 R2 i/ w1 {6 [- }- F" P
! i4 ^; ^( x. |
) * M2 ?% l( }' ~' u0 E0 I& y2 u0 H% q- m5 J6 B6 l: P
func main() {% R- }* F$ B. v2 i2 @
* Q5 r: D. k1 i2 }
db, err := sql.Open("postgres", "user=portgres password=123456 dbname=test sslmode=disable") 5 m {0 o' _0 |$ u _2 d3 G& `# g8 ~! `if err != nil { ) D- d& I6 F' w, }9 ^ + s& f& a: r6 B: H/ y- ulog.Fatal(err), D/ h0 `9 Q) d$ ^+ F; ^5 P" J4 H
3 E' A3 y5 u4 |" N0 w8 o7 U2 j- a
return nil 4 o/ K# L8 L% A7 L% j + m7 R2 W Y% M% P W* J& @' e- c} 7 Q1 u1 j8 J0 z 4 s$ ]2 H* z3 j: y9 G' mstmt := db.Prepare("INSERT INTO user (username) VALUES (\"test\")") - z4 ]! |* o! b' g' X& j; a1 \* f+ Y$ _0 m5 r2 X
stmt.Exec(), R+ ?: S; q9 ^9 c$ C- ~6 G
1 M7 X* G) C' k$ G$ Istmt.Close()$ c; W3 p& \1 `7 \4 U
- }7 j2 n2 F' p2 p! m- ~
} ' W+ p0 s+ c ^8 m; X4 m, Q1 ]1 v6 M! Y- S2 X3 U, W, F& w
二、数据查询 - SELECT( M8 j7 R4 \8 D/ s& p& ~! I' l
/ f' I$ p- ~8 \" ~. w; d2.1 : DLang 查询数据6 `" D; K8 H* Z) |/ m2 ~
3 R& k6 k8 G5 j# v
import std.stdio; X+ z& R0 n# W' a) I5 L
+ d' W$ a0 u3 c) H: `0 _+ Rimport hunt.database; % A( J; P$ T/ H1 a" v% b/ E0 e, o
void main()! S) c( K1 R& z4 l) G3 W9 l
4 u4 ?: _- T" o& g0 x4 B
{/ ~9 J/ n4 J" |" M" i: d6 \: t
+ _" J! `$ V ?& u# Wauto db = new Database("mysql://root:123456@localhost:3306/test?charset=utf8mb4"); & h" m! \" D- d" Z+ q$ j: U) }- w U# N9 I
foreach(row; db.query("SELECT * FROM user LIMIT 10"))9 ]! a `$ g. r J0 T
# N! v$ M$ d& S{: F4 J5 {; s1 T5 T
6 G$ X) Z/ q( a7 Z/ U" q( {8 D
writeln(row["username"]); , _- j! T u" b, ~5 s3 T2 ^7 {, E) M" N" u8 u
} 6 x( B$ m7 } D9 w6 N 0 w, ~ y( A) u) t% k3 `, wdb.close();, z/ G. X5 n$ d j/ N- k+ B+ s! r5 E
- Q5 l+ K! A% k8 W}0 n" p O2 C5 A+ A/ l. `/ ^
7 U5 r; f7 ^6 b; ]
2.2 : Rust 查询数据 8 Y% X' `) t" Z7 f+ w( X, Q6 c. r- a* m; V/ }9 ~
extern crate postgres;2 x1 |9 T* Q2 ^9 B. j
1 N5 I2 J: @0 ^% d4 b
use postgres::{Connection, SslMode}; : l) ]( `0 |, A) m9 i: u ?* S5 } Z, R+ Q/ M% R s
fn main() {' ~' V+ a f' R) L$ d V: r
0 n0 S/ Z: i6 t& A1 ~1 O
let conn = Connection::connect("postgres://postgres@localhost", SslMode::None).unwrap();3 S1 Z* G9 X" i- g; m- s6 r
% X) W7 M k9 X9 V# q. Y# x
for row in &conn.query("SELECT * FROM user", &[]).unwrap();& {& k+ ?) p3 G0 U( P
" V0 a8 ~" C6 E4 G0 f
println!("Found person {}", row.get(0));& R- w5 E" I5 v# ~$ P2 O4 q. C
7 f6 j1 @3 M) [7 Q( v* H$ s
} ! V3 o4 |+ i$ g" S, F $ n" o2 K& R, S4 w/ X. n}0 m: r- N0 S: ^- J
. {7 q" F. g7 b$ G6 }3 K
2.3 : Golang 查询数据8 ?; H E7 C" o/ ?. U4 c9 v
" [* b, M, d9 z
import ( ; z6 s& f2 Y5 I5 ? 6 ]# d$ p' @# K& @) q- \"database/sql"* U6 v t) u; s
8 ]2 s. ]# ^) E4 k9 h
"fmt": Z! p2 o( z0 Y7 Y x, o
6 s" W9 Q( q8 J* C- T_ "github.com/lib/pq" # b: S( O0 t' d% A- a 9 X3 Y; k6 A( h$ {4 U"time"1 V5 S' x |# F! U C0 Q
4 o4 [5 h) {( l8 H
"log"4 ?4 }; |; \) S8 A4 T