1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/mysql
2023-01-06 09:28:11 +03:00
..
_cdefs_nix.c.v mysql: always use #include <mysql.h>, rely on pkgconfig to get the correct include folder 2021-10-23 21:22:10 +03:00
_cdefs_windows.c.v v: deprecate @VROOT in favour of @VMODROOT (#9795) 2021-04-19 19:01:47 +03:00
_cdefs.c.v mysql: fix for adapting mysql types to v structs (#15100) 2022-07-19 18:29:09 +03:00
consts.v
enums.v orm: redesign orm (re-write it in V) (#10353) 2021-07-23 12:33:55 +03:00
mysql_orm_test.v orm,sqlite,mysql,pg: cleanup import v.ast, using typeof[Type]() 2022-12-07 13:40:46 +02:00
mysql.v db, json, time, term: change optional to result (#16201) 2022-10-26 11:26:28 +03:00
orm.v checker: disallow using builtin type names for const names (#16599) 2022-12-06 15:44:25 +02:00
README.md mysql: include workaround for windows programs that just exit, when the libmysql.dll is not found, into vlib/mysql/README.md 2022-07-27 22:26:36 +03:00
result.v vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00
stmt.c.v checker: require unsafe for Struct(voidptr) casts 2023-01-06 09:28:11 +03:00
utils.v all: ~500 more byte=>u8 2022-04-15 18:25:45 +03:00

For Linux, you need to install MySQL development package and pkg-config.

For Windows, install the installer , then copy the include and lib folders to <V install directory>\thirdparty\mysql.

Note: if you encounter weird errors (your program just exits right away, without printing any messages, even though you have println('hi') statements in your fn main()), when trying to run a program that does import mysql on windows, you may need to copy the .dll file: thirdparty/mysql/lib/libmysql.dll , into the folder of the executable too (it should be right next to the .exe file). This is a temporary workaround, until we have a more permanent solution, or at least more user friendly errors for that situation.

Basic Usage

import mysql

// Create connection
mut connection := mysql.Connection{
	username: 'root'
	dbname: 'mysql'
}
// Connect to server
connection.connect()?
// Change the default database
connection.select_db('db_users')?
// Do a query
get_users_query_result := connection.query('SELECT * FROM users')?
// Get the result as maps
for user in get_users_query_result.maps() {
	// Access the name of user
	println(user['name'])
}
// Free the query result
get_users_query_result.free()
// Close the connection if needed
connection.close()