mysql
文章平均质量分 73
金箍一梦何来愁
远方的姑娘再见
展开
-
where 1=1
sql where 1=1和 0=1 的作用where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where1=1在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: string MySqlStr=”select * from table where”; if(Age.Text.Lenght>...原创 2021-09-02 09:53:36 · 1066 阅读 · 0 评论 -
mysql的执行的过程
ql的执行过程和mysql体系架构基本一致执行过程:连接器:建立与 MySQL 的连接,用于查询SQL语句,判断权限 。查询缓存:如果语句不在查询缓存中,就会继续后面的执行阶段。执行完成后,执行结果会被存入查询缓存中 如果查询命中缓存,MySQL不需要执行后面的复杂操作,就可以直接返回结果,提升效率分析器:对 SQL 语句进行硬解析,分析器先会做词法分析。分析SQL 语句的组成成分。判断输入的 SQL 语句是否满足语法规则。优化器:优化器是在表里面有多个索引的时候.原创 2021-05-12 08:58:45 · 162 阅读 · 0 评论 -
一条sql语句生命周期
一条sql语句执行流程(1)首先经过连接管理模块,由连接进程模块从线程池分配一个执行线程来执行本次请求。请求转发到用户模块进行权限校验;(2)然后由命令分发器进行分发,若是查询请求,先走查询缓存,看看是否命中,若命中,那么直接返回,记录日志,否则交给命令解析器执行。(3)命令解析器根据传过来的sql判断类型交给对应模块。例如查询优化器,表变更模块,表维护模块,复制模块,状态模块。(4)然后交给访问控制模块(5)交给执行引擎,与存储引擎打交道,返回结果。6.2 一条up...原创 2021-05-11 16:43:07 · 407 阅读 · 2 评论 -
mysql 中varcher属性最大值能存多长
.首先理解varchar(n),n表示什么MySQL5.0.3之前varchar(n)这里的n表示字节数MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个n最大可以是多少2.MySQL行长度MySQL要求一个行定义长度不能超过65535个字节,不包括text、blob等大字段类型,varchar长度受此长度限制,和其他非大字段加起来不能超过65535个字节.3.varchar(n)占用几个字节..原创 2020-06-02 20:28:25 · 923 阅读 · 0 评论 -
MySQL面试题 查询本周、上周、本月、上个月份数据的sql代码
查询当前这周的数据SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());查询上周的数据SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;查询当前月份的数据...原创 2020-05-20 14:07:21 · 180 阅读 · 0 评论 -
mysql面试之索引的最左原则
测试mysql在什么情况下不会使用索引,mysql版本为5.7.2,字段有id,col1,col2,col3,col4,col5。id主键索引,对列col1、列col2和列col3建一个联合索引index1(联合索引index1 实际建立了(col1)、(col1,col2)、(col,col2,col3)三个索引)加入100条测试数据如下:工具/原料 mysql 方法/步骤 1 where条件 col2='安徽' (不走索引) 注:建立联合索引时会遵循最左前缀匹配的原则..原创 2020-05-10 09:25:37 · 399 阅读 · 0 评论 -
mysql 面试题目之 《联合索引最左匹配原则》
以联合索引(a,b,c)为例建立这样的索引相当于建立了索引a、ab、abc三个索引。一个索引顶三个索引当然是好事,毕竟每多一个索引,都会增加写操作的开销和磁盘空间的开销。 覆盖(动词)索引。同样的有联合索引(a,b,c),如果有如下的sql: select a,b,c from table where a=xxx and b = xxx。那么MySQL可以直接通过遍历索引取得数据,而无需读表,这减少了很多的随机io操作。减少io操作,特别的随机io其实是dba主要的优化策略。所以,在真正的实际应用中,原创 2020-05-09 14:06:33 · 1007 阅读 · 0 评论 -
mysql面试题目 受影响行数
mysql使用ROW_COUNT()返回插入、更新、删除操作影响行数在Mysql中ROW_COUNT()返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数。注意在UPDATE中,如果替换前、后值是一样的,ROW_COUNT也会返回0。存储过程示例示例:begininsert into test values('','第一条');if ROW_COUNT()>0 theninsert into test values('','第二条');end.原创 2020-05-08 17:42:47 · 464 阅读 · 0 评论 -
MySQL - change 和 modify 的区别
表描述:mysql> desc test;+-------+----------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+-------+| id | int...原创 2020-04-22 19:26:18 · 211 阅读 · 0 评论 -
mysql 给已存在的主键字段设置自增
第一步:给 id 增加auto_increment 属性alter table tablename modify id int(11) auto_increment;第二步:给自增值设置初始值alter table tablename auto_increment=10000;原创 2020-04-22 17:50:36 · 708 阅读 · 0 评论 -
mysql数据库结构的变更
解决外键约束的问题ymsql提供了一个方法,临时关闭外键约束,当修改完成之后再将外键约束加回来。讲你需要的操作放在两个语句之间:SET FOREIGN_KEY_CHECKS = 0;/* DO WHAT YOU NEED HERE */SET FOREIGN_KEY_CHECKS = 1;mysql增加列,修改列名、列属性,删除列语句mysql修改表名,列名,...原创 2020-04-20 13:40:40 · 455 阅读 · 0 评论 -
mysql 查询表的结构信息的使用
SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注FROMINFORMATION_SCHEMA.COLUMNSwhere--...原创 2020-04-14 14:13:50 · 396 阅读 · 0 评论 -
mysql更改表结构:添加、删除、修改字段、调整字段顺序
添加字段:alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加)删除字段:alter table `user_movement_log` drop column Gatewayid调整字段顺序:ALTER TABLE `use...原创 2020-04-14 14:01:48 · 190 阅读 · 0 评论 -
mysql 如果没有设置默认值的话 数据库会默认给null
ALTER TABLE CX_SUITED_NOTIFIER ADD OACHECKDATEDATETIMECOMMENT 'OA审核时间';原创 2019-11-15 10:03:30 · 1289 阅读 · 0 评论 -
----------mysql 项目实战操作记录----------
1、查询版本号 select version();原创 2018-11-01 19:14:33 · 147 阅读 · 0 评论