Skynet

          ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks

          在線文檔參考

          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   end as  9M,
              
          sum ( case    when  itime  like   ' 2004-10% '   then  num  else   0   end as  10M,
              
          sum ( case    when  itime  like   ' 2004-11% '   then  num  else   0   end as  11M,
              
          sum ( case    when  itime  like   ' 2004-12% '   then  num  else   0   end as  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 ;


          整理 www.aygfsteel.com/Good-Game
          posted on 2008-10-01 17:22 劉凱毅 閱讀(2339) 評論(0)  編輯  收藏 所屬分類: database
          主站蜘蛛池模板: 清水河县| 武强县| 闸北区| 墨江| 太仓市| 咸丰县| 龙岩市| 五华县| 石门县| 丰城市| 集贤县| 焉耆| 刚察县| 屏山县| 桓台县| 沙田区| 思南县| 柳河县| 临桂县| 额尔古纳市| 东辽县| 华阴市| 安达市| 潍坊市| 名山县| 大港区| 分宜县| 云南省| 南投县| 论坛| 西青区| 错那县| 安宁市| 大冶市| 应城市| 大同县| 庄浪县| 开化县| 崇礼县| 湛江市| 安远县|