随笔分类 -  数据库Mysql

摘要:最近做一个数据库初始化工具的时候发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋。 经过网上查找,发现有两种解决办法: 1、最简单的办法,在MySQL的连接字符串中设置allowMultiQueries参数置为tr... 阅读全文
posted @ 2015-09-16 08:37 郑文亮 阅读(924) 评论(0) 推荐(0) 编辑
摘要:~~语法~~CREATETRIGGER --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{BEFORE|AFTER} --触发器有执行的时间设置:可以设置为事件发生前或后。{INSERT|UPDATE|DELETE} --同样也能设定触发的事件... 阅读全文
posted @ 2015-09-11 16:56 郑文亮 阅读(533) 评论(0) 推荐(0) 编辑
摘要:用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(')时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!我们在编程当中,经常会遇到在操作数据库时,向表里插入带有单引号的字符串。如果不作处理程序会报错,下面看看我们是怎么的处理它的。用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(')时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!解决方法:遍历字符串,把一个(')换成两个(' ')就可以了,在C#里,其实用str.Replace("'& 阅读全文
posted @ 2012-10-23 13:23 郑文亮 阅读(29766) 评论(0) 推荐(1) 编辑
摘要:Mysql多表关联更新sqlUPDATEitems,monthSETitems.price=month.priceWHEREitems.id=month.idand条件=条件; 阅读全文
posted @ 2012-10-12 16:21 郑文亮 阅读(1781) 评论(0) 推荐(0) 编辑
摘要:1. 语法介绍 有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,可以先将需要查询的字段JOIN起来,然后组成一个视图后再SELECT FROM就可以了:INSERT INTO a (field1,field2) SELECT * FROM(SELECT b.f1,c.f2 FROM b JOIN c)... 阅读全文
posted @ 2012-10-12 15:56 郑文亮 阅读(1352) 评论(0) 推荐(1) 编辑
摘要:今天上课给又总结了Blog的一些技巧,其中比较有成就感的就是如何实现“标题-分类名-博客名”,呵呵!接下来又有学生追着我问我MYSQL的安装问题,多亏是没上课,要不就卡住了,找了半天才发现问题的解决方法,MYSQL错误:cannot create windows service for mysql.error:0安装新的MYSLQ数据库,安装好运行MySQL Server Instance Config Wizard,在最后一步却发现无法启动服务,出现这样的提示“cannot create windows service for mysql.error:0”!解决方法如下:原因:安装mysql 阅读全文
posted @ 2012-09-13 10:16 郑文亮 阅读(241) 评论(0) 推荐(0) 编辑
摘要:sql server和mysql都是我们经常用到的数据库系统,下面就为您介绍sql server和mysql变量赋值的区别,希望对您能有所启迪。sql server中变量要先申明后赋值:局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的);申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;赋值:有两种方法式(@num为变量名,value为值)set @num=value; 或 select @num=value;如果想获取查询语句中的一个字段值可以用select给变量赋值,如下:select @num=字段名 from 表名 阅读全文
posted @ 2012-09-04 15:47 郑文亮 阅读(548) 评论(1) 推荐(0) 编辑
摘要:GRANT ALL PRIVILEGES ON test.* TO username@'192.168.1.%' IDENTIFIED BY 'goodsecret'; FLUSH PRIVILEGES; 阅读全文
posted @ 2012-08-28 17:28 郑文亮 阅读(427) 评论(0) 推荐(0) 编辑
摘要:SHOW DATABASES //列出 MySQL Server 数据库。SHOW TABLES [FROM db_name] //列出数据库数据表。SHOW TABLE STATUS [FROM db_name] //列出数据表及表状态信息。SHOW COLUMNS FROM tbl_name [FROM db_name] //列出资料表字段SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]。SHOW FULL COLUMNS FROM tbl_name [FROM db_name]//列出字段及详情SH 阅读全文
posted @ 2012-08-28 17:16 郑文亮 阅读(20166) 评论(2) 推荐(0) 编辑
摘要:MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中文全文索引无法正确支持。 中文与西方文字如英文的一个重要区别在于,西方文字以单词为单位,单词与单词之间以空格分隔。而中文以字为单位,词由一个或多个字组成,词与词之间没有空格分隔。当试 阅读全文
posted @ 2012-08-22 11:25 郑文亮 阅读(935) 评论(2) 推荐(0) 编辑
摘要:参考文献http://blog.csdn.net/andyelvis/article/details/24468651、把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table customers(id int auto_increment primary key not null, name varchar(15));insert into customers(name) values("name1"),("name2");select id f 阅读全文
posted @ 2012-08-21 16:13 郑文亮 阅读(557) 评论(0) 推荐(0) 编辑
摘要:触发器经常用于加强数据的完整性约束和业务规则等。在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 阅读全文
posted @ 2012-08-21 15:54 郑文亮 阅读(494) 评论(0) 推荐(0) 编辑
摘要:教材上说,mysql_pconnect() 是长连接,数据库脚本执行完毕后,该链接也不会关闭,但为什么我的代码显示这个链接号已经变了呢?代码如下:function isAuthentic ($_userId,$_password){ echo "isAuthentic start!<p>"; $conn = mysql_pconnect(DBHost,DBUser,DBPassword); echo "conn=".$conn."<br>";}function getStaffInfo (StaffInfo & 阅读全文
posted @ 2012-08-17 14:11 郑文亮 阅读(741) 评论(0) 推荐(0) 编辑
摘要:1、选取最适用的字段属性 Mysql可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。 另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较.. 阅读全文
posted @ 2012-08-17 14:00 郑文亮 阅读(555) 评论(0) 推荐(0) 编辑