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;
}
相关推荐
成富2 分钟前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle
songqq273 分钟前
SQL题:使用hive查询各类型专利top 10申请人,以及对应的专利申请数
数据库·sql
计算机学长felix6 分钟前
基于SpringBoot的“校园交友网站”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·毕业设计·交友
小码的头发丝、1 小时前
Django中ListView 和 DetailView类的区别
数据库·python·django
小兜全糖(xdqt)1 小时前
mysql数据同步到sql server
mysql·adb
Karoku0661 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
周全全2 小时前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql
白云如幻2 小时前
MySQL的分组函数
数据库·mysql
荒川之神2 小时前
ORACLE 闪回技术简介
数据库·oracle
时差9533 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database