mysql
小一佳
花花世界,何必当真
展开
-
mysql 中 and 和 or 的用法
两个sql拼接andor修改:在mysql中,在进行数据库的增删改查时,经常会遇到这样的情况,在写条件语句where时,可能会同时有多个条件的“或”或者“与”,但用法不当经常会达不到效果,经过尝试,本人发现一个where语句中同时出现条件的“与”或者“或的时候”,要将多个OR用小括号括起来再和AND进行“与”,或者将多个AND用小括号括起转载 2017-01-18 15:50:57 · 3174 阅读 · 0 评论 -
MySQL三大范式和反范式
原址:https://blog.csdn.net/lamp_yang_3533/article/details/50765183 1. 第一范式确保数据表中每列(字段)的原子性。如果数据表中每个字段都是不可再分的最小数据单元,则满足第一范式。例如:user用户表,包含字段id,username,password2. 第二范式在第一范式的基础上更进一步,目标是确保表中的每列都和主键相...转载 2018-12-21 10:56:02 · 593 阅读 · 0 评论 -
MySQL索引分析?及优化
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。一、导致SQL执行慢的原因: 硬件问题。如网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等。 没有...转载 2018-10-25 16:28:55 · 207 阅读 · 1 评论 -
sql之left join、right join、inner join的区别
sql之left join、right join、inner join的区别 原址(http://www.cnblogs.com/pcjim/articles/799302.html)left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值转载 2017-07-10 11:08:27 · 192 阅读 · 0 评论 -
MySQL用正则表达式查询判断一个字段的值是否是数字
我们知道,SQL Server中判断一个字段的值是否为数字可以用系统自带的ISNUMERIC()函数来处理,但是MySQL数据库中则没有这个(或者是没有一个直接判断是否是数字)的函数,但MySQL为我们提供了正则表达式的函数,所以我们可以用数字的正则表达式来处理有关判断字段值是否是数字的问题,具体的MySQL语句代码示例如下:SELECT * FROM TABLE_NAME WHERE C转载 2017-06-21 17:45:58 · 2207 阅读 · 0 评论 -
MYSQL中replace into的用法
replace into的用法,是insert into的增强版。在向表中插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。在SQL Server中可以这样处理:if not exists (select 1 from t where id = 1)?insert into t(id, update_time) val转载 2017-04-20 13:53:04 · 481 阅读 · 0 评论 -
Mysql Select 语句中实现的判断
select *,if(sva=1,"男","女") as ssva from tableame where id =1Quote 控制流程函数CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [conditio原创 2017-04-06 20:25:23 · 6949 阅读 · 0 评论 -
TRUNCATE TABLE 与 DELETE在删除整个表的所有记录时的区别
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 TRUNCAT转载 2017-04-01 16:02:15 · 1591 阅读 · 1 评论 -
mysql 创建索引
MySQL创建索引的语法如下:123CREATE [UNIQUE|FULLTEXT|SPATIAL]INDEX index_name[USING index_type]ON table_name (index_col_name,...)其中对应的语法变量信息如下:转载 2017-03-14 10:08:58 · 275 阅读 · 0 评论 -
for update 作用
那是一种行级锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该事务为止。行锁永远是独占方式锁。只有当出现如下之一的条件,便释放共享更转载 2017-03-10 14:37:20 · 40122 阅读 · 0 评论 -
数据库 DDL","DML","DCL"
sql组成:DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert、delete、updateDCL:数据库控制语言 ,关键字:grant、removeDQL:数据库查询语言,关键字:selectDDL、DML和DCL的理解 1、DDL 1-1、DDL的概述 DDL(Data Definition Languag原创 2017-03-10 11:03:07 · 386 阅读 · 0 评论 -
Mysql 存储引擎MyISAM和InnoDB的简单区别
原址:https://blog.csdn.net/lamp_yang_3533/article/details/51757567 MyISAM适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好,MyISAM不支持事务、外键和行锁。MyISAM的每个数据表包括三个文件,分别是表的结构、表的索引和表的数据,表的索引和表的数据是分开存储的。InnoDB在写操作比较多的时候会更优秀,...转载 2018-12-21 11:00:13 · 158 阅读 · 0 评论