mysql使用的一些小记
最近项目里需要连接mysql以及使用里面的数据,于是乎,开始着手研究,然后把自己使用的过程经历记录下来,方便以后需要用时更快上手。
c#导入mysql
1.下载与安装mysql
这个步骤可以看网上教程完成,基本就是安装包点点点。
2.下载mysql.data.dll
mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库。
使用NuGet包管理器下载,打开网站https://www.nuget.org/packages搜索mysql,复制代码进pm
下载完毕,导入命名空间即可使用
mysql连接
安装完mysql,我们有一个最基本的数据库,就是自带的root,我们使用这个数据库作为例子
建立连接数据库
string connectStr = "server=服务器的ip地址;user=用户名;password=用户密码;database=数据库名字";
//在本例子中
string connectStr = "server=localhost;user=root;password=(安装时设置的密码);database=world(这是我数据库的名字)";
MySqlConnection conn = new MySqlConnection(connectStr);
这时候就建立起了连接
然后可以开始增删查改操作。
查
首先,在查之前应打开建立连接的通道,即:
if (conn.State == ConnectionState.Closed)
{
conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
}
然后然后输入我们需要的sql查询语句,创建实现语句的对象
// 创建用于实现MySQL语句的对象
string sql = "SELECT * FROM city";
MySqlCommand cmd = new MySqlCommand(sql, conn);
接下来执行查询语句并接收查询结果,这里有多种接收方式:
//(1)查找多行 : ExecuteReader()方法
MySqlDataReader mdr = cmd.ExecuteReader();
ArrayList results = new ArrayList();
while (mdr.Read())
{
//把数据存储起来
List<string> temp = new List<string>();
for (int i = 0; i < 10; i++)
{
temp.Add(mdr[i].ToString());
}
results.Add(temp);
}
由于ExecuteReader是逐行读取,因此这里采用了一个较蠢的方法,用两个列表把数据存储起来,因为刚接触,想不到其他方法。
//(2)查找整个并用DataTable的方式存储起来
DataTable P_dt = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
adapter.Fill(P_dt);
这种方式非常简单,并且以DataTable的数据存储了起来,方便后面把数据添加进DataGridView,所有这种方式使用率较高。(注意,填充进DataTable用console.write是得不到结果的,需foreach遍历才可以得到输出结果。)
增,删,改
增删改较为容易,实现语句的方法为ExecuteNonQuery()
string sql = "增删改的语句";
// 打开连接(如果处于关闭状态才进行打开)
if (conn.State == ConnectionState.Closed)
{
conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
}
MySqlCommand cmd = new MySqlCommand(sql, conn);
int result = cmd.ExecuteNonQuery();
if (result == 0)
Console.WriteLine("false");
else
Console.WriteLine("success");
暂时到这里,如有需要以后会继续补充。