![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql基本操作
小田田爱学习
任何一种坚持都能够区分别人与自己
展开
-
update(更新)数据库,修改中文字符数据,数据变成??(??)
在db.url中加入?useUnicode=true&characterEncoding=UTF-8例如:db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8原创 2020-04-22 07:51:38 · 1525 阅读 · 0 评论 -
MySQL 行列转换
最近在慕课上 看MySQL教程 里面关于行转列的教程不错 贴上练习SQL 做个记录 简单行转列SELECT a.user_name, sum(b.kills)FROM user1 aJOIN user_kills b ON a.id = b.user_idGROUP BY user_name;CROSS JOIN 行列转换select * from (原创 2017-02-10 14:54:17 · 494 阅读 · 0 评论 -
mysql5.7新特性 --使用MySQL作为文档存储
值得注意的是使用MySQL作为文档存储需要 MySQL安装或升级到MySQL 5.7.12或更高版本1.安装MySQL shell https://dev.mysql.com/doc/refman/5.7/en/document-store-shell-install.html2.启动MySQL shellhttps://dev.mysql.com/doc/refman/5.7/en/instal翻译 2017-03-01 19:54:53 · 1786 阅读 · 0 评论 -
MySQL的文件目录说明
1.服务进程启动目录:/etc/rc.d/init.d/,在linux中,该目录用来保存服务程序的启动进程, mysql的服务启动命令mysqld也保存在这里。2.操作命令目录:/usr/bin/,在该目录中,保存着对数据库进行操作的命令,如用mysql命令可登陆 到服务器进行操作。3.配置文件目录:/usr/share/mysql/,在该目录中,保存着mysql服务器程序使用的各种配置文件。4转载 2017-03-06 15:05:23 · 824 阅读 · 0 评论 -
什么是脏读、幻读和不可重复读?
脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 e.g.1.Mary的原工资为1000, 财务人员将Mary的工资改为了8000(但未提交事务)2.Mary读取自己的工资 ,发现自己的工资变为了8000,欢天喜地!3.而财务发现操作有误,回滚了事务,Mary的工资又变为了1000 像这样转载 2017-04-10 16:08:43 · 1318 阅读 · 0 评论 -
mysql索引总结----mysql 索引类型以及创建
原文地址:http://blog.csdn.net/xluren/article/details/32746183 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以Wo转载 2017-03-17 11:03:21 · 223 阅读 · 0 评论 -
mysql 在liunx 下的安装
mysql 在liunx 下的安装 参考了 http://blog.csdn.net/wb96a1007/article/details/51559741ERROR 1044 (42000): Access denied for user ”@’localhost’ to database http://blog.csdn.net/czmchen/article/details/4664676转载 2017-03-01 10:23:27 · 311 阅读 · 0 评论 -
mysql用户管理-创建用户并授权
CREATE USER admin@'%' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '123456';FLUSH PRIVILEGES;原创 2017-04-14 16:22:23 · 383 阅读 · 0 评论 -
MySQL 1055错误
Expression #1055 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘support_desk.mod_users_groups.group_id’ which is not functionally dependent on columns in GROUP BY clause;转载 2017-02-23 16:47:11 · 4576 阅读 · 0 评论 -
MySQL删除重复数据 并保留ID最大值
DELETEaFROM user1 aJOIN ( SELECT user_name, count(*), MAX(id) AS id FROM user1 GROUP BY user_name,over HAVING COUNT(*) > 1) b ON原创 2017-02-10 14:55:54 · 4231 阅读 · 0 评论 -
MySQL 时间差、每15分钟统计一次数据
计算 loan_time 和curdate() 之间的日期差 DATEDIFF(date(loan_time), curdate()) loan_time 加上3个月 后的时间 IFNULL 判空处理date_add(IFNULL(loan_time,0),NTERVAL 3 MONTH)每十五分钟统计一次有多少数据,并按时间分组SELECT CONCAT(DATE_FORMAT(l原创 2017-02-19 12:02:40 · 13433 阅读 · 0 评论 -
使用查询脚本生成建表语句
使用information_schema 视图名称columns,table_constraints通过查询用脚本建表 SELECT ‘create table customer (‘t_customer union ALL SELECT cols.txt FROM (SELECT CONCAT(’ ‘,column_name,’ ‘,column_type, CASE when i原创 2016-11-30 16:14:57 · 1513 阅读 · 0 评论 -
MySQL 切割某列字符串,将切割后的字符串放到对应位置
update t_product set rate_range_max=SUBSTRING_INDEX(rate_range,'~',-1)where id BETWEEN 711 and 739;update t_product set rate_range_min=SUBSTRING_INDEX(rate_range,'~',1) where id BETWEEN 711 and 739原创 2016-12-12 10:25:07 · 2176 阅读 · 0 评论 -
使用交叉连接设计查询,生成集合{1,2,3,4......,99,100}
SELECT (ones.num+tens.num)+1 FROM (SELECT 0 num UNION all SELECT 1 num UNION all SELECT 2 num UNION all SELECT 3 num UNION all SELECT 4 num UNION all SELECT 5 num UNION all SELECT 6 num UNION原创 2016-11-29 10:57:23 · 373 阅读 · 0 评论 -
mysql交叉连接统计在2016年10月之前的每一天入职的客户经理数
统计在2016年10月之前的每一天入职的客户经理数。 完整SQL SELECT days.dt,COUNT(user_id) from t_manager m RIGHT OUTER JOIN (SELECT DATE_ADD(‘2016-01-01’,INTERVAL (ones.num + tens.num + hundreds.num ) DAY) dtFROM (SELECT 0 n原创 2016-08-11 18:05:49 · 553 阅读 · 0 评论 -
MySQL数据导入动态SQL和PROCEDURE 结合
项目的数据库重构,不可避免的要进行数据的导入导出,于是利用查询生成临时表就起了大的作用 1.要将与公司表相关联的表存成ID,之前表里面存的是公司名称,大量的汉字不利于检索。 首先做好原数据库的备份,备份很重要,备份很重要 1. 生成临时表 2.在临时表里面做更新 3.截断原来的表修改字段名 4.将修改后的数据导入新表create table test SELECT * from ...原创 2017-02-09 16:21:21 · 1244 阅读 · 0 评论 -
update和case结合
做数据库重构之后做数据导入需要将字符串转换为int类型,转换的情况太多于是采用了update和case语句结合,果然省了很多的SQLUPDATE testSET avg_discount_area = ( CASE WHEN avg_discount_area ='9.5折以上' THEN 0WHEN avg_discount_area ='(8.0~8.5)折' THEN 1原创 2017-02-09 16:25:17 · 17175 阅读 · 4 评论 -
MySQL cast字符串转数字
most_month_percent 这一列存的都是带%的字符串,使用cast将字符串转数字,值得注意的是当cast()函数在字符串转数字时,会从左向右转换,如果期间在字符串遇到非数字的时候,将会终止不返回错误。update test set most_month_percent=CAST(most_month_percent AS UNSIGNED INTEGER );原创 2017-02-09 16:40:31 · 5235 阅读 · 0 评论 -
MySQL update case select 存储过程 设置定时任务
delimiter //CREATE PROCEDURE Judging_state () UPDATE loan_record loan LEFT JOIN ( SELECT id, total - h.c * h.months overdue, time, overd原创 2017-02-19 11:34:33 · 862 阅读 · 0 评论 -
SQL判断客户有无进件和进件数量
查询每个客户下的进件数量, SELECT c.id,c.cname, CASE (SELECT COUNT(*) FROM t_application a WHERE a.customer_id=c.id)WHEN 0 THEN ‘none’WHEN 1 THEN ‘1’WHEN 2 THEN ‘2’ ELSE ‘3+’ END has_application from t_cust原创 2016-11-29 15:02:49 · 647 阅读 · 0 评论