C#连接和使用MySQL数据库详细教程
C#连接MySQL需要添加连接MySQL的引用
本文将介绍3种添加MySQL引用的方法,以及连接MySQL和使用MySQL的教程
C#引用MySQL步骤:
第一种方法:
- 下载mysql.data.dll
- 将文件放在项目目录下
- 在VS2019项目内,引用mysql.data.dll文件
进入DLL官网下载mysql.data.dll
文件(可自选版本下载
)
点击下载
下载完成,然后解压mysql.data.dll
文件
在项目中右键引用->添加引用->浏览->选中MySql.Data.dll
文件->确定。操作如下图:
选择引用
右键引用,点击添加引用
点击浏览
选择mysql.data.dll
存放的路径
添加引用之后,点击确定即可
记住勾选dll文件
点击引用,就可以看到已经添加mysql.data
引用(引用属性里可以看到引用详细信息
)
第二种方法
- 添加动态链接库文件:在官网下载connector/net
- 将文件放在项目目录下
- 在VS2019项目内,引用mysql.data.dll文件
去MySQL官网下载动态链接库文件
点击Download
点击No thanks, just start my download.
开始下载
双击程序
点击Next
选择安装类型
下面是三种安装类型说明:
Typical
>典型:通常安装最常见的程序功能。推荐给大多数用户。
Custom
>自定义:允许用户选择哪些程序功能将被安装,以及它们将被安装在哪里。建议高级用户使用。
Complete
>完整:全部程序功能将被安装。需要最多的磁盘空间。
一般选择第一个Typical即可。
点击install进行安装
看进度条,等待安装即可。
安装完成
选择引用
右键引用,点击添加引用
mysql.data.dll
默认存放的路径
由于我们安装了动态链接库文件直接去C盘选择动态链接库文件
路径:C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.23\Assemblies\v4.5.2
可以看到很多动态链接库文件
当然你也可以使用Everything快速定位mysql.data.dll
的文件路径
输入mysql.data.dll
即可快速定位
继续刚刚添加引用的步骤!!!
点击浏览
选择mysql.data.dll
存放的路径
找到dll文件路径:C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.23\Assemblies\v4.5.2
点击添加
勾选即可,点击确定
查看引用
第三种方法:
直接在visual studio内添加mysql方案包
在菜单栏内部选择工具
点击NuGet包管理器(N)
点击管理解决方案的NuGet程序包(N).
输入mysql
选择官方的(作者Oracle
),勾选项目
点击安装
点击确定(添加成功后会弹窗提示
)
点击我接受
安装成功
完成以上操作后即可通过代码连接数据库了。
C#使用MySQL
使用using
来调用mysql
连接,这样使用完后可以自动关闭连接
连接数据库,不用手动写关闭数据库的方法。
导入命名空间using MySql.Data.MySqlClient;
data source
=服务器IP地址;database
=数据库名称;user id
=数据库用户名;password
=数据库密码;pooling
=是否放入连接池;charset
=编码方式;
连接数据库的参数:
string connectstring= "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";
连接数据库的方法:
MySqlConnection msc = new MySqlConnection(connectstring);
补充一下SqlConnectionStringBuilder
在写连接字符串的时候要写很长一段,容易写错
SqlConnectionStringBuilder可以用来帮助我们生成连接字符串.
这样就可以分开来写DataSource
,InitialCatalog
,UserID
,Password
等…
//与数据库连接的信息MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();//用户名builder.UserID = "root";//密码builder.Password = "root";//服务器地址builder.Server = "localhost";//连接时的数据库builder.Database = "lcz";//定义与数据连接的链接MySqlConnection connection = new MySqlConnection(builder.ConnectionString);//打开这个链接connection.Open();
一般写连接字符串
//导入命名空间
using MySql.Data.MySqlClient;static void Main(string[] args){//定义mysql连接字符串string constring = "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";//连接mysqlMySqlConnection msc = new MySqlConnection(constring);}
MySQL连接字符串参数详细解析
通常数据库连接字符串为:
Database=dbname;Data Source=192.168.1.1;Port=3306;User Id=root;Password=****;Charset=utf8;TreatTinyAsBoolean=false;
参数 | 说明 |
---|---|
Server,host, data source, datasource, address, addr, network address | 数据库位置(以上任何关键字均可) |
Database,initial catalog | 数据库名 |
Port |
socket 端口,默认 3306
|
ConnectionProtocol,protocol | 连接协议,默认 Sockets |
PipeName,pipe | 连接管道,默认 MYSQL |
UseCompression,compress | 连接是否压缩,默认 false |
AllowBatch | 是否允许一次执行多条SQL语句,默认 true |
Logging | 是否启用日志,默认 false |
SharedMemoryName | 内存共享的名称,默认 MYSQL |
UseOldSyntax,old syntax, oldsyntax | 是否兼容旧版的语法,默认 false |
ConnectionTimeout,connection timeout | 连接超时等待时间,默认15s |
DefaultCommandTimeout,command timeout | MySqlCommand 超时时间,默认 30s |
UserID, uid, username, user name, user | 数据库登录帐号 |
Password,pwd | 登录密码 |
PersistSecurityInfo | 是否保持敏感信息,默认 false |
Encrypt | Encrypt |
CertificateFile | 证书文件(.pfx)格式 |
CertificatePassword | 证书的密码 |
CertificateStoreLocation | 证书的存储位置 |
CertificateThumbprint | 证书指纹 |
AllowZeroDateTime | 日期时间能否为零,默认 false |
ConvertZeroDateTime | 为零的日期时间是否转化为 DateTime.MinValue,默认 false |
UseUsageAdvisor, usage advisor | 是否启用助手,会影响数据库性能,默认 false |
ProcedureCacheSize,procedure cache, procedurecache | 同一时间能缓存几条存储过程,0为禁止,默认 25 |
UsePerformanceMonitor,userperfmon, perfmon | 是否启用性能监视,默认 false |
IgnorePrepare | 是否忽略 Prepare() 调用,默认 true |
UseProcedureBodies,procedure bodies | 是否检查存储过程体、参数的有效性,默认 true |
AutoEnlist | 是否自动使用活动的连接,默认 true |
RespectBinaryFlags | 是否响应列上元数据的二进制标志,默认 true |
TreatTinyAsBoolean | 是否将 TINYINT(1) 列视为布尔型,默认 true |
AllowUserVariables | 是否允许 SQL 中出现用户变量,默认 false |
InteractiveSession,interactive | 会话是否允许交互,默认 false |
FunctionsReturnString | 所有服务器函数是否按返回字符串处理,默认 false |
UseAffectedRows | 是否用受影响的行数替代查找到的行数来返回数据,默认 false |
OldGuids | 是否将 binary(16) 列作为 Guids,默认 false |
Keepalive | 保持 TCP 连接的秒数,默认0,不保持。 |
ConnectionLifeTime | 连接被销毁前在连接池中保持的最少时间(秒)。默认 0 |
Pooling | 是否使用线程池,默认 true |
MinimumPoolSize, min pool size | 线程池中允许的最少线程数,默认 0 |
MaximumPoolSize,max pool size | 线程池中允许的最多线程数,默认 100 |
ConnectionReset | 连接过期后是否自动复位,默认 false |
CharacterSet, charset | 向服务器请求连接所使用的字符集,默认:无 |
TreatBlobsAsUTF8 | binary blobs 是否按 utf8 对待,默认 false |
BlobAsUTF8IncludePattern | 列的匹配模式,一旦匹配将按 utf8 处理,默认:无 |
SslMode | 是否启用 SSL 连接模式,默认:MySqlSslMode.None |
SQL命令的执行方法:
ExcuteNonQuery执行增改删
:
insert
(增)updata
(改)delete
(删)
ExcuteReader
:执行多行查询,返回DataReader对象
ExcuteScalar
:执行单行查询,返回查询结果的首行数据
创建MySQL
命令对象: MySqlCommand cmd = new MySqlCommand(sql, msc);
读取DataReader
对象单行数据: reader.Read()
获取单行字段数据: reader.GetInt32(0); reader.GetString(1);
//导入命名空间
using MySql.Data.MySqlClient;static void Main(string[] args){//定义mysql连接字符串string constring = "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";//连接mysqlMySqlConnection msc = new MySqlConnection(constring);#region MySQL操作//写入sql语句string sql = "select * from user";//创建命令对象MySqlCommand cmd = new MySqlCommand(sql, msc);//打开数据库连接msc.Open();//执行命令,ExcuteReader返回的是DataReader对象MySqlDataReader reader = cmd.ExecuteReader();//循环单行读取数据,当读取为null时,就退出循环while (reader.Read()){//输出第一列字段值Console.Write(reader.GetInt32(0) + "\t");//Console.Write(reader.GetInt32("id") + "\t");//判断字段"username"是否为null,为null数据转换会失败if (!reader.IsDBNull(1)){//输出第二列字段值Console.Write(reader.GetString(1) + "\t");//Console.Write(reader.GetString("username") + "\t");}//判断字段"password"是否为null,为null数据转换会失败if (!reader.IsDBNull(2)){//输出第三列字段值Console.Write(reader.GetString(2) + "\n");//Console.Write(reader.GetString("password") + "\t");}}}Console.ReadKey();}
使用Visual Studio 2019连接MySQL数据库详细教程
请参考我另一篇教程
C#连接和使用MySQL数据库详细教程相关推荐
- c#加mysql简单系统_visual studio2019连接MYSQL数据库详细教程(C#代码)
一.工具: 1.visual stdio2019 2.MySQL数据库 二.添加动态链接: Visual Studio中选择项目->管理NuGet程序包(N) 然后在浏览里面搜索MySql.D ...
- java连接mysql教程_Java连接MySQL数据库详细教程(附网盘下载地址)
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.s ...
- IDEA使用JDBC连接MySQL数据库详细教程
首先需要保证你已经成功安装mysql 接下来下载连接MySQL数据库的驱动 使用JDBC连接MySQL数据库的驱动为Connentor/J,这里以最新版本的8.0为例 解压zip文件,随便解压到一个地 ...
- Linux环境安装mysql数据库详细教程(含卸载和密码重置过程)
本教程适用于centos7/8,mysql 5.x 1.卸载mysql(重要) 在安装mysql之前要确保自己的系统中没有mysql,即使你是刚刚重装的系统或者是刚购买的云服务,也需要检查一下是否存在 ...
- ASP最简单的连接MySql数据库详细教程
目录 1.下载安装mysql-connector-odbc-5.2.5-winx64.msi 下载地址 2.打开控制面板,选择"管理工具" 3. 选择ODBC 数据源 ...
- Mysql数据库详细教程
数据库 (MySQL)概述 1. 什么是数据库 数据库就是存储数据的仓库 2. 哪些公司在使用数据库 金融机构,游戏网站,购物网站,论坛......... 3. 提供数据库服务的软件 MySQL.SQ ...
- java程序读取excel表格并存入mysql数据库详细教程
0)poi简单介绍 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. HSSF - 提供读写Micr ...
- C语言连接MySQL数据库编程教程:超详细
** C语言连接MySQL数据库编程教程 ** 一.下载安装mysql.h库文件 我们使用的编译器一般为VC6.0或者VS,默认的都是32位编译器,所以我们下载的库文件也直接下载32位的就可以.下面附 ...
- myeclipse mysql连接_MyEclipse连接MySQL数据库图文教程
这篇文章主要为大家详细介绍了MyEclipse连接MySQL数据库图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 自己在自学JavaEE课程时,在做一些小东西的时候,需要连接MySQL数据 ...
最新文章
- Java比较同一map是否相同_Java 中HashTable、HashMap、TreeMap三者区别,以及自定义对象是否相同比较,自定义排序等...
- 中小微企业谋定发展-国情讲坛·周荣江: 破解民营经济融资难
- 干货下载 | 评估产品增长,勿陷入“土著思维”
- spring 依赖注入总结
- 彻底解决跨浏览器下PHP下载文件名中的中文乱码问题
- 中天数相减获得差_Power BI 了解DAX中LASTDATE和MAX之间的区别
- 计算日期时间间隔,可计算情侣计算在一起的。精确到,天,时,分,秒(输入的日期距离现在有:819天19670小时1180221分钟70813262秒)
- map怎么转化dto_使用MapStruct进行Dto到实体的转换时出错
- mysql系列:登陆和退出
- 复杂的指针获取字符串里的内容放入数组
- [译] Facebook杯2013年编程挑战赛——预选赛题目及答案
- 写地道的Python
- django(权限、认证)系统——用户Login,Logout
- 2×3卡方检验prism_卡方检验(最强总结)
- wait(), notify(), notifyAll()等方法介绍
- ijkplayer播放器h265解码能力调研
- VBA(7)字典及常用应用
- Python采集视频数据,下载流媒体m3u8格式
- debian安装mediawiki教程
- 伪造的指纹能鉴定出来吗_指纹鉴定能鉴定多久时间的指纹 一个月能鉴定出来吗 主要是一个包上有三四个人的指纹 可以鉴定出来吗...