Board logo

主題: [分享]MYSQL常用指令 [打印本頁]

發表人: MU    時間: 2009-10-2 10:02 PM     主題: [分享]MYSQL常用指令

操作功能        SQL 語法        說    明
建立資料庫        create database 資料庫名稱;         
列出所有資料庫        show databases;          
刪除資料庫        drop database 資料庫名稱;          
使用資料庫        use 資料庫名稱;         
建立資料表        create table 資料表名稱(
sn integer auto_increment primary key,
name char(20),
mail char(50),
home char(50),
messages char(50)
);        常用資料庫資料型態
1. INT (整數)
2. CHAR (1~255字元字串)
3. VARCHAR (不超過255字元不定長度字串)
4. TEXT (不定長度字串最多65535字元)
列出資料表欄位資訊        describe 資料表名稱;         
修改資料表欄位        alter table 資料表名稱
charange column 原來欄位名稱
新欄位名稱   資料型態;         
新增資料表欄位        alter table 資料表名稱 add column 欄位名稱   資料型態;         
刪除資料表欄位        alter table 資料表名稱 drop column 欄位名稱;         
刪除資料表        drop 資料表名稱 ;         
插入欄位資料        insert into 資料表名稱(欄位1,欄位2,欄位3,欄位4, ...... 欄位N)
values('值1','值2','值3','值4', ...... '值N');         
更新修改欄位資料        update 資料表名稱  set 欄位1='值1',欄位2='值2',欄位3='值3',... 欄位N='值N'
where 條件式 (例如 sn='5' 或 name='蘇國憲' );         
查詢單一欄位資料        select 欄位名 from 資料表名稱;         
查詢多個欄位資料        select 欄位名,  欄位名, 欄位名 from 資料表名稱;         
查詢欄位資料的唯一值        select distinct 欄位名 from 資料表名稱;        重複值只列一次
查詢所有欄位資料        select * from 資料表名稱 ;         
條件式查詢        select * from 資料表名稱 where 條件式 (例如 sn='5') ;        (=, <, >, !=)
條件式查詢  and        select * from 資料表名稱 where 條件式1 and  條件式2;         
條件式查詢 or        select * from 資料表名稱 where 條件式1 or  條件式2;         
查詢某一範圍 between        select * from 資料表名稱 where 欄位名 between 值1 and 值2        值為數字
查詢空值欄位的資料        select * from 資料表名稱 where  欄位名 is null        not null
查詢特定筆數資料        select * from 資料表名稱 limit 8, 10;        第9筆開始選取10筆
查詢結果遞增排序        select * from 資料表名稱 order by 欄位名;         
查詢結果遞減排序        select * from 資料表名稱 order by 欄位名 desc ;         
查詢比對字串列出單一欄位         select 欄位名 from 資料表名稱 where 欄位名 like '%字串%';          
查詢比對字串列出所有欄位         select * from 資料表名稱 where 欄位名 like '%字串%';         
刪除條件值資料        delete from 資料表名稱 where 條件式 (例如 sn='5' 或 id='91001' );         
刪除條件值資料         delete from 資料表名稱 where 條件式1 and  條件式2;         
刪除條件值資料         delete from 資料表名稱 where 條件式1 or  條件式2;         
比對刪除條件值資料         delete from 資料表名稱 where 欄位名 like '%字串%';         
發表人: innova    時間: 2009-12-29 04:55 PM

你這頂多只能說是  "SQL"指令
似乎沒看到有  『MySQL 自己才有的東西』?

SQL 還有很多有趣的東西
Ex:
select  U.device_id as ID, CONCAT(year(U.time),"-",right(concat("0",month(U.time)),2),"-",right(concat("0",day(U.time)),2), " ", hour(U.time),":00:00") as T , max(U.humidity) as MA, min(U.humidity) as MI, avg(U.humidity) as AV  from  sensing_data_humidity  as U  where hour(U.time)>9 and hour(U.time)<19 and month(U.time)=9  group by  T, ID order by  T, ID limit 24;

這樣 會幫你把 不同 device 每小時的 humidity值 自動做好 平均值 跟 最大/最小值 算好!
(只看前 24筆資料!)

... 另一種更簡潔的寫法:
select  U.device_id as ID, DATE_FORMAT(U.time,'%Y-%m-%d %H:00:00') as T , max(U.humidity) as MA, min(U.humidity) as MI, avg(U.humidity) as AV  from  sensing_data_humidity  as U  where hour(U.time)>9 and hour(U.time)<19 and month(time)=9  group by  T, ID order by  T, ID limit 24;



其他 Function, ref:
http://dev.mysql.com/doc/refman/5.0/en/functions.html



另,
3. VARCHAR (不超過255字元不定長度字串)
4. TEXT (不定長度字串最多65535字元)
這兩個 除了支援的長度外 有啥不同?




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0