mysql数据库的搭建和操作

mysql数据库的搭建和操作

1: 去官网下载mysql的服务端: https://www.mysql.com/

下载mysql服务器

2: 安装好mysql服务,设置好初始化的根用户密码: 记住根用户的密码;

3: windows 启动服务: mysql notifier或windows服务管理器启动;

4: mysql客户端:

Mac OS: Sequel Pro/命令行

Windows: heidisql windows客户端/命令行;

Linux: 命令行;

5: heidisql: 安装:

将heidisql可执行文件放到mysql server对应的目录下;

7: heidisql连接数据库:

配置文件

Windows为my.ini,linux为my.cnf

1: 通讯端口: port, 默认是3306;

2: bind-address = 127.0.0.1

如果不能远程登陆,记得检查下这个参数,是否打开;

3: mysql数据库X小时无连接自动关闭, 默认8个小时;

interactive_timeout=28800000

wait_timeout=28800000

使用数据库

1: 数据库:

创建CREATE DATABASE user_center

使用一个数据库 USE user_center;

1: 插入:

insert into table_name (col1, col2,...) values(v1, v2...);

2: 删除:

delete from table_name where 条件

3: 查找:

select * from table_name where 条件;

count(): 计算个数 ORDER BY 字段 / ORDER BY 字段 DESC

4: 修改

update table_name set col1 = value where 条件;

另外,项目中需要经常备份数据库.sql文件,可以在文件栏中选择导出对应的sql文件,并在导入时执行,数据就会回来

代码

1: mysql服务器提供了服务协议,客户端遵守它的协议给他发送数据;

2: mysql有很多针对不同开发语言的 实现了和服务器通讯的客户端库;

3: 开发人员使用这些遵守mysql协议的库与mysql进行数据通讯;

4: 这里使用: mysql-connector-c

环境搭建:

1: 创建项目;

2:下载 mysql-connector-c 库与头文件;

https://dev.mysql.com/downloads/connector/c/6.1.html

3: 配置好mysql的开发环境:

1>头文件搜索路径; 2>库文件搜索路径

4: 配置好win socket环境WSAStartup/WSACleanup

5: 运行时用的.dll文件;

c 复制代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

// 只要使用socket,最好在开始的时候
// 都加上初始化WSAStartup;

#include <winsock.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "libmysql.lib")


#include "mysql.h"

int main(int argc, char** argv) {
	WSADATA wsa;
	WSAStartup(MAKEWORD(2, 2), &wsa);

	// 创建一个mysql的连接;
	MYSQL* pConn = mysql_init(NULL);
	// 将这个连接,连接到对应的数据库,这样,我们的就和对应的数据库建立起了连接;
	mysql_real_connect(pConn, "127.0.0.1", "root", "123456", "class_sql", 3306, NULL, 0);

	// 数据库里面是utf8的编码,可是我们的VC里面不是得;
	// 客户端要设置一下客户端的编码格式是多少,这样服务器就会把数据当作哪种格式来使用;
	// mysql_query,执行命令的函数;
	mysql_query(pConn, "set names gbk"); // gbk字符编码;

	// 插入一条记录
#if 0
	int  ret = mysql_query(pConn, "insert into class_test (name, age, sex) values(4, 34, 1)");
	if (ret != 0) {
		printf("%s\n", mysql_error(pConn));
	}
#endif
	// end 

	// 修改一条记录
#if 0
	int ret = mysql_query(pConn, "update class_test set name = \"xiaomingm\" where id = 9");
	if (ret != 0) {
		printf("%s\n", mysql_error(pConn));
	}

	int lines = mysql_affected_rows(pConn); // 打印出来受影响的行数;
	printf("%d\n", lines);
#endif
	// 

	// 删除一条记录
#if 0
	int ret = mysql_query(pConn, "delete from class_test  where id = 9");
	if (ret != 0) {
		printf("%s\n", mysql_error(pConn));
	}
#endif
	// end

	// 查询一条记录,需要获取查询的结果;
	int ret = mysql_query(pConn, "select * from class_test");
	if (ret != 0) {
		printf("%s\n", mysql_error(pConn));
	}
	else { // 获得查询结果;
		MYSQL_RES *result = mysql_store_result(pConn);
		MYSQL_ROW row;

		while (row = mysql_fetch_row(result)) {
			printf("%s, %s, %s, %s\n", row[0], row[1], row[2], row[3]);
		}
	}
	// end

	mysql_close(pConn); // 关闭mysql连接;
	WSACleanup();
	system("pause");
	return 0;
}
相关推荐
Lojarro23 分钟前
【Spring】Spring框架之-AOP
java·mysql·spring
梦想平凡32 分钟前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
TianyaOAO42 分钟前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong1 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
码农老起1 小时前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化
夏木~2 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle
W21552 小时前
Liunx下MySQL:表的约束
数据库·mysql
黄名富3 小时前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
java·数据库·redis·lua
言、雲3 小时前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
一个程序员_zhangzhen3 小时前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver