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;
}
相关推荐
RestCloud6 分钟前
在制造业数字化转型浪潮中,数据已成为核心生产要素。然而,系统割裂、数据滞后、开发运维成本高等问题,却像顽固的 “数据枷锁”,阻碍着企业发展。ETLCloud与
数据库·postgresql
!chen17 分钟前
【Spring Boot】自定义starter
java·数据库·spring boot
流烟默29 分钟前
MySQL索引调优之索引顺序必须和字段顺序一致吗?
mysql·索引调优
十碗饭吃不饱1 小时前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql
我是Superman丶1 小时前
【优化】Mysql指定索引查询或忽略某个索引
数据库·mysql
程序定小飞1 小时前
基于springboot的在线商城系统设计与开发
java·数据库·vue.js·spring boot·后端
呆呆小金人2 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
LL_break2 小时前
Mysql数据库
java·数据库·mysql
野犬寒鸦2 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存
倔强的石头_2 小时前
面向大数据架构的演进:为何 Apache IoTDB 是与生态无缝融合的理想之选?
数据库