server=localhost;uid=root;pwd=root;database=test;Charset=latin1
//定义mysql连接字符串 string constring = "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";
- 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);
MySQL连接字符串参数详细解析通常数据库连接字符串为: Database=dbname;Data Source=192.168.1.1 ort=3306;User Id=root assword=****;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);
|