
在mysql数据库中为字段添加索引,意思是对数据库某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页进行排序,它是逻辑指针清单。
索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。数据库使用索引以找到特定值,然后顺指针找到包含该值的行。这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息。
扩展资料:
当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在employee表中职员的姓(lname)上创建了唯一索引,则任何两个员工都不能同姓。
对某个列建立UNIQUE索引后,插入新记录时,数据库管理系统会自动检查新纪录在该列上是否取了重复值,在CREATETABLE命令中的UNIQE约束将隐式创建UNIQUE索引。
方法/步骤1
新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集
2
从工具箱向form1窗体上拖一个按钮和datagridview控件,按钮是触发连接数据库获取数据集,按钮的名称为显示,datagridview控件是用于显示数据集内容
3
单击解决方案资源管理器中的引用文件夹然后右键选择添加引用,选择浏览后打开mysql.data.dll,这是c#连接mysql数据库的动态库,里面封装了很多常用的 *** 作数据库的方法
4
在解决方案资源管理器中的form1.cs的代码中加入using MySql.Data.MySqlClient这就是代码中的实际引用mysql.data.dll中的内容,有了这个c#就能很方便地 *** 作sql数据库
5
在按钮的单击事件中添加如下代码
string str = "Server=127.0.0.1User ID=rootPassword=123456Database=testCharSet=gbk"
MySqlConnection con = new MySqlConnection(str)//实例化链接
con.Open()//开启连接
string strcmd = "select * from user"
MySqlCommand cmd = new MySqlCommand(strcmd, con)
MySqlDataAdapter ada = new MySqlDataAdapter(cmd)
DataSet ds = new DataSet()
ada.Fill(ds)//查询结果填充数据集
dataGridView1.DataSource = ds.Tables[0]
con.Close()//关闭连接
6
使用navicat软件在数据库test中新建表user,然后新建两个字段username和password(图中的栏位),navicat软件是mysql的图形化界面工具,负责新建表以及备份等数据库 *** 作,直观地通过界面来 *** 作
7
数据库建好后就可以执行工程了,单击显示按钮执行结果如下,出现username和password说明数据库连接成功,由于没有添加数据所以下面为空
http://jingyan.baidu.com/article/8ebacdf023953f49f65cd589.html
用c#连接MySQL数据库需要用到mysql-connector-net,这个组件网上查找就可以下载,安装直接按next,按默认路径安装;
(2)新建一个Winfrom工程后,引用这个组件
在解决方案资源管理器中右键引用->添加引用->浏览,浏览路径为安装mysql-connector-net的路径,如我的路径为:C:\Program Files (x86)\MySQL\MySQL Connector Net 6.6.4\Assemblies\v2.0
选择MySql.Data.dll,再确定
(3)在工程中添加:
using MySql.Data.MySqlClient
using System.Data.SqlClient
/// <summary>/// 建立数据库连接.
/// </summary>
/// <returns>返回MySqlConnection对象</returns>
public MySqlConnection getmysqlcon()
{
//http://sosoft.cnblogs.com/
string M_str_sqlcon = "server=localhostuser id=rootpassword=rootdatabase=abc" //根据自己的设置
MySqlConnection myCon = new MySqlConnection(M_str_sqlcon)
return myCon
}
#endregion
#region 执行MySqlCommand命令
/// <summary>
/// 执行MySqlCommand
/// </summary>
/// <param name="M_str_sqlstr">SQL语句</param>
public void getmysqlcom(string M_str_sqlstr)
{
MySqlConnection mysqlcon = this.getmysqlcon()
mysqlcon.Open()
MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon)
mysqlcom.ExecuteNonQuery()
mysqlcom.Dispose()
mysqlcon.Close()
mysqlcon.Dispose()
}
#endregion
#region 创建MySqlDataReader对象
/// <summary>
/// 创建一个MySqlDataReader对象
/// </summary>
/// <param name="M_str_sqlstr">SQL语句</param>
/// <returns>返回MySqlDataReader对象</returns>
public MySqlDataReader getmysqlread(string M_str_sqlstr)
{
MySqlConnection mysqlcon = this.getmysqlcon()
MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon)
mysqlcon.Open()
MySqlDataReader mysqlread = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection)
return mysqlread
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)