
mysql
song_suo
程序员
展开
-
mysql查询执行过程
查询优化,索引优化,库表结构优化需要齐头并进,一个不落。首先要稍微了解一下查询执行的基础,当希望mysql高性能运行查询时,最好的办法就是弄清楚mysql是如何优化和执行查询的。一旦理解这一点,很多查询工作实际上就是遵循一些原则让优化器能够按照预想的合理方式运行。当客户端发送了一个sql查询请求,那么mysql服务器首先去查找缓存,如果缓存命中,则跳过所有的步骤,直接返回结果。这个检查是对一个哈希查原创 2017-03-20 13:01:14 · 1605 阅读 · 0 评论 -
mysql中的数据类型
整型 跟java数据类型做比对tinyint bytesmallint shortint intbigint longmediumint 没有对应的java类型 占3个字节浮点型float[(M,D)] M是数字总位数,D是小数点后面的位数。一般采用默认值就可以double[(M,D)] 日期类型year原创 2017-07-01 13:50:44 · 360 阅读 · 0 评论 -
mysql表的增删改查方言
增 mysql除了sql标准的增加,还提供了另外一种增加的方法insert into student set stu_name='xxoo',stu_age=23;这种方式的扩展应用是可以在等号后面加子查询。另外一种增加的方法insert into student select *******;查 1,group by 可以升降序select age fro原创 2017-07-01 21:56:02 · 373 阅读 · 0 评论 -
mysql中的常用函数
1,字符串函数 字符串连接函数SELECT CONCAT('i',' love',' you')SELECT CONCAT_WS('@','fuck','you')//指定分隔符数字按照千分位格式化为字符串SELECT FORMAT(234566.1234,2)//保留小数点后2位 234,566.12字符串大小写转化SELECT LOWER('ASDF'原创 2017-07-02 16:20:47 · 433 阅读 · 0 评论 -
count的正确使用
count的正确使用select count(true or NULL)//答案为1select count(FALSE or NULL)//答案为0count后面如果遇到null,就不计数。但是不管是遇到true还是false,都是计数的。所以当表达式为false时,后面要跟上 or nullselect count(sex=1 or null) as '男',count(s原创 2017-07-10 20:19:07 · 2336 阅读 · 0 评论 -
在mysql中使用正则
SELECT prod_nameFROM productsWHERE prod_name REGEXP '.000'ORDER BY prod_name;例1: 找手机号中至少存在3个叠号的号码select * from `user` where phone REGEXP '[1][359].[0-9]\\1{3}.'原创 2017-07-10 20:40:28 · 360 阅读 · 0 评论 -
命令行修改mysql字段跟索引
1,增加字段alter table table_name add column_name varchar(32) not null default 'yes'2,更改字段alter table user MODIFY new1 VARCHAR(10); //更改字段 alter table user CHANGE new1 new4 int; //修改一原创 2017-11-23 10:52:19 · 743 阅读 · 0 评论 -
mysql复杂delete操作
对表进行update或者delete操作时,mysql不支持在where语句后面进行自身的查询,举个例子delete from chat_room where id in(select max(id) as id from chat_room where user_to_id>0GROUP BY create_user_id,user_to_id having count(create_us原创 2017-07-04 21:08:45 · 1845 阅读 · 0 评论 -
mysql 多表联合update
mysql 的表要update的时候,有的时候需要第二张表。 比如,要把user表的name字段给设置值,但是这个值在student表。可以这么来update user join student on user.id=student.idset user.name=student.name原创 2017-06-03 20:52:34 · 468 阅读 · 0 评论 -
将mysql的查询结果保存到文件中
方法一: 直接执行命令:mysql> select count(1) from table into outfile '/tmp/test.xls';这种方法经常遇到权限的问题。很多时候需要去整权限。方法二: 查询都自动写入文件:mysql> pager cat > /tmp/test.txt ;之后的所有查询结果都自动写入/tmp/test.txt’,并前后覆盖 在框口不再显示查询结果方法转载 2017-06-03 20:34:18 · 7496 阅读 · 0 评论 -
MYSQL查询每个分类的第一条数据
name score type张三 89 1李四 58 1王五 80 2马六 35 2周七 95 3要求查询结果为:name score type张三 89 1王五 80 2周七 95 3mysql的语句可以这样写:select * from ( selec原创 2018-02-07 14:58:14 · 25129 阅读 · 2 评论