设为首页 收藏本站
查看: 1126|回复: 0

[经验分享] mysql(java)小结

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-11 07:00:28 | 显示全部楼层 |阅读模式
  在线文档参考
  
  jdbc url:详细属性可参考
  Eg:jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8
  mysql URL: mysql -uroot -p --default-character-set=utf8
  
  协调 SQL 详细:
  这就重点说下:SHOW
  1. 查看全部库支持字符 如:'gb%'  -gbk,gb2312
  SHOW CHARACTER SET LIKE '%' ;
  2. 查看列
  show columns from user from mysql ;
  show columns from mysql.user ;
  desc mysql.user ;
  //简化
  //更方便的 查看 列名 模糊查询列名为 'Select%' (desc  information_schema.columns 还有更多惊喜)

  select column_name from information_schema.columns where column_name like 'Select%' ;

  
  3. 查看数据库,表结构;当然你们也可以仿照下此再建自己的库,表
  show
   show create database information_schema\G
   show create table mysql.user\G

  
  4.权限查看
  SHOW GRANTS FOR 'root'@'localhost';
  .....(详细参考)
  
  

  SQL 详细
  这就上写自己一些有感觉的sql :参考
  1.只查询重复 Eg:
create table c (id int );
insert into c values (1),(2),(3),(4),(3),(5),(6),(1);
结果:
    
select id from c group by id having count(id)>1 ;

  
  
  2.报表查询横向输出 Eg:
  Create table d(id int,name varchar(50));
insert into d values(1,'gly');
insert into d values(2,'ptgly');
insert into d values(3,'ybgly');
insert into d values(4,'ptgly');
insert into d values(5,'ybgly');
+---+-----+------+
|gly |ptgly|ybgly|     
+---+-----+------+-
 |1   |2     |2      |
+---+-----+------+
<!---->select 
    
sum(case when name='gly' then 1 else 0 end ) as gly  ,
    
sum(case when name='ptgly' then 1 else 0 end ) as ptgly  ,
    
sum(case when name='ybgly' then 1 else 0 end ) as ybgly  
from d ;

  
  3.复杂组合查询
  create table table_a (No int, No2 int,num double,itime date);
insert into table_a values
     (1234,567890,33.5,'2004-12-21'),
     (1234,598701,44.8,'2004-11-21'),
     (1234,598701,45.2,'2004-10-01'),
     (1234,567890,66.5,'2004-9-21'),
     (3456,789065,22.5,'2004-10-01'),
     (3456,789065,77.5,'2004-10-27'),
     (3456,678901,48.5,'2004-12-21');
按月统计销售表中货物的销售量数
查询结果如下:
  No, No2 ,   九月,  十月,十一月,十二月
1234,567890, 66.5 ,  0 ,  0  ,  33.5
1234,598701,  0   , 45.2, 44.8, 0
3456,789065, 0  ,  100,  0  ,  0
3456,678901, 0 ,    0,    0  ,  48.5
-----------------------------------------------------------------------
<!---->//当然也可以 使用mysql 时间函数 在软件编辑时 你可以输入 String[] 并根据数据动态拼写 sql( case部分!! )
//这个 例子很好 哦!报表可以一句sql 得出!

select NO,NO2,
    
sum(case  when itime like '2004-%9%' then num else 0 endas 9M,
    
sum(case  when itime like '2004-10%' then num else 0 endas 10M,
    
sum(case  when itime like '2004-11%' then num else 0 endas 11M,
    
sum(case  when itime like '2004-12%' then num else 0 endas 12M
from table_a group by no,no2 order by no,no2 ;

  
  
4.字符集子层关系
1     a
2     b
11    c
(代码11表示为1的下级)
我要通过一条句子,得出如下结果:
Create table TabTest(t_Code varchar(10),t_Name varchar(10));
insert into TabTest values('1','a');
insert into TabTest values('2','b');
insert into TabTest values('11','c');
--------------------------------------------------------------
<!---->select tt1.t_Code,tt1.t_name,( 
     
case 
             
when exists (select 1 from tabtest tt2 
                                       
where tt2.t_code like CONCAT(tt1.t_code,'%'and 
                                        tt2.t_code 
<> tt1.t_code )  then 'you' 
             
else 'wu'
      
end ) as you_wu
from tabtest  tt1 ;
  
  
  
  
  
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-270478-1-1.html 上篇帖子: java访问mysql 下篇帖子: mysql (java)小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表