mysql建表查詢語句總結
1.數字型別:tinyint,smallint,mediumint,int,bigint,float,double,decimal
2.字串型別:char、varchar,blob,enum,set
3.日期型別:date,time,datetime,timestamp,year
4.null型別
二.資料欄位屬性:
1.unsigend單詞意思 無正負之分:該屬性作用是,不允許資料列出負數
2.zerofill:自動增量屬性,設定欄位屬性為zerofill時,儲存為5的時候從資料庫輸出的效果為005 int(3)
3.auto_increment:自增
4.null和not null
5.default
三.索引:
1.主鍵索引:primary KEY
2.唯一索引:unique
3.一般索引:index、key
4.全文索引:fulltext
三.建立表
create table if not exists table
欄位名 1 列型別 [屬性][索引]
省去as 就可以看到欄位名被as過的
SELECT goods_name '名字',description '描述' FROM ecm_goods;
in巢狀查詢語句
select goods_name,description from ecm_goods where id in(select * from ecm_goodstype where isopen=1);
聯表查詢:等值查詢、join on、left join on、right join on、inner join on、cross join on、STRAIGHT_JOIN on
解析join on 等等例子連結:
1. FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
2. compopr引數指定關係比較運算子:"=", "<", ">", "<=", ">=" 或 "<>"
先關聯查詢在去排序
select * from t_people p left join t_team t on p.team_id=t.id order by p.pname limit 10;
先排序在關聯查詢
select * from (select * from t_people p order by p.pname limit 10) p left join t_team t on p.team_id=t.id limit 10;
利用order by SQL語句
SELECT * FROM ecm_demandtype WHERE parent_id=6 ORDER BY sort_order DESC;
利用 MAX、MIN、AVG、COUNT、SUM 的SQL語句
SELECT MAX(original_price) 'maxprice',MIN(original_price) 'minproce',AVG(original_price) 'avgprice',SUM(original_price) 'sumprice' FROM ecm_goods_spec WHERE stock=0
利用group by SQL語句
SELECT MAX(sort_order) 'maxprice',MIN(sort_order) 'minproce',AVG(sort_order) 'avgprice',SUM(sort_order) 'sumprice' FROM ecm_demandtype GROUP BY parent_id
利用group by having 語句
SELECT MAX(sort_order) 'maxprice',MIN(sort_order) 'minproce',AVG(sort_order) 'avgprice',SUM(sort_order) 'sumprice' FROM ecm_demandtype GROUP BY parent_id HAVING parent_id=6