查询
select 字段名 from 表名
例如select name from user; //查询单个字段
select name,pwd from user; //查询多个字段 用逗号隔开
select * from 表名; //查询所有字段 不建议使用 效率低 可读性差
起别名
使用as关键字起别名
select name as username from user;
select 字段名as 别名, 字段名as 别名, from 表名;
如果想在别名里加空格 别名的两端要加单引号
- comment: 是创建表时,给表中的字段起别名
- as:查询时,起别名 也可以省略不写
- constraint 是约束时,起别名,例如主键约束,外键约束。
注:select永远不会修改数据 只负责查询 。在所有数据库中 字符串统一用单引号括起来
条件查询
and 并且
mysql> select name,pwd from user where pwd>500;
加where关键词 和 and来限制条件。
如果所查数据为空 需要用is来代替= 查询 is null;
反转则是is not null;
between…and…
select money from user where money between 50 and 600;
注:使用between…and…必须遵循左小右大,并且是闭区间 两段都包括
or 或
mysql> select name,pwd from user where pwd in(123,456);
mysql> select name,pwd from user where pwd=123 or pwd=456;
这两种写法效果相同,in后面跟的是具体的值 不是区间。
not 非 主要运用在is或in中
mysql> select name,pwd from user where pwd not in(123,456);
like 模糊查询
mysql> select name,pwd from user where pwd like ‘2%’; //查找数据以2开头的
‘2%’; 包含2的 '%2’以2结尾的
mysql> select name,pwd from user where pwd like ‘_2%’;//查找数据第二个值是2的
_代表一个值
mysql> select name,pwd from user where pwd like ‘_2%’; 如果要查询带下划线的在下划线前面添加\ 代表转义字符
排序
mysql> select money from user order by money; //默认升序 (asc)加asc也是升序
mysql> select money from user order by money desc; //指定降序
两个条件排序
mysql> select id,name,pwd,money from user order by money asc,name asc; //第一个条件如果相同 那么比较第二个条件
mysql> select name,money from user order by 2 desc; 代表第二列降序排列 不建议写
先后顺序:
from—where—select—order by(排序是在最后的)