show databases; //查看数据库show tables //获取数据裤内的表show columuns from table //查看表的列select vend_id from productsSELECT语句返回14行(即使表中只有4个供应商),因为products表中列出了14个产品。那么,如何检索出有不同值的列表呢?select distinct vend_id //mysql只返回不通的vend_idselect * from table limit 5 //代表mysql返回的行不多于5行select * from table limit 5,5 //代表 从第5行开始选取5条数据select * from table order by price,prod_name //先根据price升序排序,price相等的时候再根据prod_name升序排序select * from table order by price desc,prod_name //先根据price倒序排序。price相等的时候再根据prod_name升序排序select * from table order by price desc,prod_name desc //先根据price倒序排序。price相等的时候再根据prod_name倒序排序//使用ORDER BY和LIMIT的组合,能够找出一个列中最高或最低的值。下面的例子演示如何找出最昂贵物品的值:select prod_price from products order by prod_price desc limit 1;select * from table where prod_price is null; 查看表中prod_price字段为null的
计算次序
//这句的真正含义是什么呢? 其实是 (vend_id = 1002 and prod_price >=10) or vend_id = 1003//因为SQL在处理OR操作符之前,会优先处理AND操作符。 换句话说,由于AND在计算次序中优先级更高,操作符被错误的组合了select * from table where vend_id = 1002 or vend_id = 1003 and prod_price >=10;//正确的SQL是select * from table where (vend_id = 1002 or vvend_id = 1003) and prod_price >= 10;或者select * from table where vend in (1002,1003) and prod_price >=10;
IN操作符
IN的最大优点是可以包含其他select语句,使其能够更动态地建立where子句
通配符
百分号(%)通配符
//查找白哦中已jet开头的行select * from table name like 'jet%';
%能匹配0个字符 比如上面的语句 jet也会被匹配到
下划线(_)通配符
下划线只匹配单个字符而不是多个字符
//这个只会匹配到 比如 aet,cet,ject 而不会匹配到 aaet ccetselect * from table name like '_et';
