MySQL与SQL server触发器的区别
触发器经常用于加强数据的完整性约束和业务规则等。在MySQL与SQL操作中经常会用到,下文中国就为大家讲述MySQL与SQL的触发器的不同写法,希望对大家能够有所帮助。 触发器作用: 当在SQL、MySQL数据库中一张表中插入一条记录时,触动触发器,使同一数据库的另一张表插入相同记录。 在学习的过程中,发现两者的写法是不同的。 1、在SQL中建立两张表sql_test,sql_tem。(两张表的字段是一样的) 复制代码 代码如下: create table sql_test ( id int, name varchar(16) ) create table sql_tem ( id int, name varc...
MySql一张表更新另一张表
现在有两张表t_soft1,t_soft2,这两张表有两个相同名称的列id,softlinks,其中id为主键并且两张表的id列数据完全相同。我 现在想把t_soft2的softlinks列的数据覆盖t_soft1的数据。在MSSql我用下面的语句成功实现,但在MySql环境中用 PhpAdmin就报错,请问是什么原因? 如下: update t_soft1 set softlinks = t_soft2.softlinks from t_soft1,t_soft2 where t_soft1.id = t_soft2.id 原来语法不一样,上面这个MSSQL的写法,是在mysql里不支持的,改成如下: update t_soft1 inner join t_soft2 on t_soft1.id = t_...
拼sql与存储过程的效率比较
1.关于拼sql语句执行与直接执行存储过程的效率比较 最近对于一个旧的程序的导入进行优化,不过由于这个导入程序原来是直接在程序中使用拼SQL语句执行导入,执行时间较长,一般要十分钟左右。 1)在程序代码中拼sql语句,类似代码如下: System.Data.OleDb.OleDbCommand Command=conn.CreateCommand(); Command.CommandTimeout=0; Command.Transaction=trans; Command.CommandType=CommandType.Text; string sql=""; for(int i=0;i<IWo_Img.Count;i++) { Wo_Img=IWo_Img[i] as EMS_EDI_WO_IMG; Wo_ImgDb.Wo_No=...
MySQL锁机制详解1
MySQL的锁机制详解1 在SQL SERVER中,我们通常使用NOLOCK来进行表锁,在MYSQL中怎么使用呢,同样,在MYSQL中也有各种表、行等锁机制。下面我们详细看看: 锁机制是数据库系统区别于文件系统的一个关键特性,他可以确保用户能以一致的方式读取和修改数据。 为了保证一致性,必须有锁的介入。MySQL操作缓冲池中的LRU列表,删除、添加、移动LRU列表中的元素等地方也都适用锁,从而允许对多种不同资源的并发访问。 打个比方,我们到淘宝上买一件商品,商品只有一件库存,这个时候如果还有另一个人买,那...
解决c#操作mysql数据库乱码问题
最近公司项目用c# 和mysql作为数据库,用的mysql插件是MySql.Data.dll ,在连接数据库字符串改为: string mysqlconnectionstring = “server=localhost;user id=root;password=;database=test;charset=utf8;”; 这种方式才得以解决,当然改成 string mysqlconnectionstring = “server=localhost;user id=root;password=;database=test;charset=gb2312;”; 这样也是可以解决乱码问题,但是如果不加的话就还是乱码,搞不懂呀,这里也附上插件 下载地址: MySql.Data
SQL优化 经验总结1
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. (2) WHERE子句中的连接顺序.: OR...
MYSQL入侵教程
1、连接到对方MYSQL 服务器 mysql -u root -h 192.168.0.1 mysql.exe 这个程序在你安装了MYSQL的的BIN目录中 2、让我们来看看服务器中有些什么数据库 mysql>show databases; MYSQL默认安装时会有MYSQL、TEST这两个数据库,如果你看到有其它的数据库那么就是用户自建的数据库。 3、让我们进入数据库 mysql>use test; 我们将会进入test数据库中 4、查看我们进入数据库中有些什么数据表 mysql>show tables; 默认的情况下,test中没有任何表的存在。 以下为关键的部分 5、在TEST数据库下创建一个新的表; mys...
MySQL导入导出大量数据出错
大家一定使用过 phpmyadmin 里面的数据库导入,导出功能,非常方便。但是在实际应用中,我发现如下几个问题: 1、数据库超过一定尺寸,比如6M 这时使用导出一般没问题,可以正确的保存到本机硬盘上面,但是导入则不行!原因是:一般的 PHP.INI 里面设置临时文件/上传文件的大小限制为2M,而phpmyadmin使用了上传的方式,造成失败。 2、导出到硬盘的 .SQL 文件在导回时,经常出现由于某些单引号的问题引起失败,造成导入失败,只能用 mysql等应用程序导入了。 我的数据库已经超过10M,所以必须解决这个问题。我的思...
MySQL安全配置
当你连接一个MySQL服务器时,你通常应该使用一个口令。口令不以明文在连接上传输。 所有 其它信息作为能被任何人读懂的文本被传输。如果你担心这个,你可使用压缩协议(MySQL3.22和以上版本)使事情变得更难。甚至为了使一切更安全,你 应该安装ssh(见http://www.cs.hut.fi/ssh)。用它,你能在一个MySQL服务器与一个MySQL客户之间得到一个加密的 TCP/IP连接。 为了使一个MySQL系统安全,强烈要求你考虑下列建议: 对所有MySQL用户使用口 令。记住,如果other_user没有口令,任何人能简单地用mysql -u other_user db...
MySQL的数据类型和建库策略
无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充分的认识。下面我就将我的一点心得写出来跟大家分享。 一、 数字类型 数字类型按照我的分类方法分为三类:整数类、小数类和数字类。我所谓的"数字类",就是指DECIMAL和NUMERIC,它们是同一种类型。它严格的 说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大。但是 ...