2 j7 ~2 S, I3 L. [: u一、数据插入 - INSERT 4 h9 Z8 A% Z1 V+ a1 ]* p& i, }+ l) E
1.1 : DLang 插入数据 ) O' ~6 g/ J: P 5 G6 X8 L% B9 n* fimport std.stdio;" X$ d; B& [4 d J. x) o) Y
- l* t: W5 ?, O; m
import hunt.database; 2 S( \( v* J1 O, y; J! j# O" [ F# U# v: ?# T0 p, k: U
void main()' e) l# H) p+ E1 L9 F& B! t8 Q
. N6 b( F. a' S. Q P; ^% g* r{ - g8 J2 } o9 `/ I) b3 N, W4 ] ' k/ i% J7 A; @" N; K# xauto db = new Database("mysql://root:123456@localhost:3306/test?charset=utf8mb4"); 3 b) r5 H I- P4 r! b% z, t4 h' @; i% m& F5 {& N, X0 t7 h4 i
int result = db.execute(`INSERT INTO user(username) VALUES("test")`);, b* W$ \) r" M( [- T
2 C& C' |4 I, v2 r; b3 R3 areturn nil P% o4 C& \- f7 l$ S4 X" D$ `: k! H
}- N, t9 E" `" Y7 k. ?' r8 N
5 A. p0 m. K7 |. E9 |3 v }: P' i
user := User{}$ R5 B9 ^5 @& Z( @
8 x5 |7 s, U% gstmt := db.Query("SELECT * FROM user")- v/ d2 h% Q; v+ a0 ^4 X
: g9 i! B& V* n) E
for rows.Next() {- B! m' d+ k3 x; C" d1 ^
( R: D4 g, }& L7 I- ^7 _8 y
rows.Scan(&user.UserName)4 P/ B* R/ s) M% q- D' }9 P
s1 w4 _' a! Z- a0 R# \- q
fmt.Println(user.UserName)$ J1 K8 w5 y9 _1 h7 P9 U
F+ [$ T2 @0 T& }5 E} 0 S9 Z% y$ ^) h6 m; m. z/ ]9 W- a: c( a
stmt.Close()2 r2 F7 W1 Y# ]7 o: Q+ [) p
6 T; F" K/ G# f% Q( v
}$ H4 v/ Z5 X) Y
; {: ]7 D/ r" k" x0 n& C6 F& ^& e0 s三、总结. A! T. s+ R' F% D! S' f6 g
4 m' `6 ^# R! q& ~ s* b: N, ?& L对于操作数据库来说静态类型语言的确不是很容易操作,类似 C++ 这么多年还没有相对容易使用的数据库操作的 library,但无论 Dlang / Rust 和 Golang 都能比较全面的操作数据库。( c2 @$ a4 ~# h3 B) o0 C1 r# M