MySql現在的最新版本是5.x.第一次接觸它是在大二的時候,用php,那時好像還是4.x版本。
Mysql5增加很多新的功能,開始支援:預存程序、觸發器、視圖、資訊架構視圖等...
MySql在安裝時一如既往的比較複雜,往往就是一個失敗的提示,沒有什麼其它提示原因。
這是一篇文章,比較MySql和SqlServer的,http://htm.winsteps.net/database/331.htm
MySql中文網站http://www.mysql.cn/上資料很少,大多是些安裝協助。
要查資料還是去MySql的網站http://www.mysql.com/。
MySql現在有提供的各種串連工具(http://dev.mysql.com/downloads/connector/),.net下可以用的有Connector/ODBC和Connector/Net。
ODBC串連效率可能稍低,最好還是用Net直接的串連
這篇文章介紹了各種串連方法http://www.mysql.com/news-and-events/press-release/release_2002_10.html
1:ODBC串連
現在的版本是3.51,安裝之後,可以這樣操作:
// string conStr = "DRIVER = {MySQL ODBC 3.51 Driver}; SERVER = localhost; DATABASE =test; UID = root; PASSWORD=;";
//string conStr = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=test;USER=root;PASSWORD=;OPTION=3;";
string conStr = "provider = MySQL ODBC 3.51 Driver; SERVER = localhost; DATABASE =test; UID = root; PASSWORD=;";
try
{
OleDbConnection connection = new OleDbConnection(conStr);
connection.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
2:Net串連:
MySQL Connector Net 1.0.7:有net1.0;net.1;net2.0;mono1.0四個版本的connector。免費
CoreLab.MySql 3.5:這是個商業的版本,試用期30天。
下邊的代碼是使用MySQL Connector Net 的例子。注意:他的Parameter的首碼是“?”而不是“@”。這個問題比較特殊。CoreLab裡面的Parameter的首碼就是“@”.
string connStr = String.Format("server={0};user id={1}; password={2}; database={3}; pooling=false;port=3308", "localhost", "root", "", "test");
try
{
MySqlConnection myConn = new MySqlConnection(connStr);
myConn.Open();
MySqlCommand cmd = myConn.CreateCommand();
cmd.Parameters.Add("?DocName", MySqlDbType.VarChar, 50);
cmd.Parameters[0].Value = "test by code";
cmd.Parameters[0].SourceColumn = "DocName";
cmd.CommandText = "update t_docs set DocName=?DocName where DocId=4";
cmd.ExecuteNonQuery();
這是使用一個ORM時設定provider的例子CustomProvider mysqlProvider = new CustomProvider("MySql.Data", "MySql.Data.MySqlClient.MySqlConnection", "MySql.Data.MySqlClient.MySqlDataAdapter");
mysqlProvider.StartDelimiter = "";//default is "/""
mysqlProvider.EndDelimiter = "";//default is "/""
mysqlProvider.ParameterPrefix = "?";//設定參數首碼
mysqlProvider.SelectPageQuery = "SELECT * LIMIT {0} OFFSET {1}";//設定分頁演算法
mysqlProvider.IdentityQuery = "SELECT LAST_INSERT_ID()";//設定擷取剛剛插入記錄Id的函數
3:OLE串連:
現在還沒有來自官方的支援。
在vs2005中,直接引用for .net2.0版本的dll即可。至於那個商業版,就得費些功夫了,需要一個許可檔案(拖動一個Conection組件到Form上就能自動建立該許可)
附,連接字串可以到這裡查詢http://www.connectionstrings.com/, 夠全的了。