新增
insert into 表名 values()
insert into 表名 (参数)values()
查询(select 操作都是针对临时表展开的)
select * from 表名
select 列名... from 表名
select 表达式 from 表名 (临时表) 这里的表达式也可以是多个列进行运算 列1+列2+列3 都是可以的
无法针对行和行之间的运算
临时表的表名就是表达式,但是表达式变长了可读性就差了
给查询结果起别名
select 表达式 as 别名 from 表名 (这里as可以省略,但是不推荐)
eg : select name,chinese+math+english as total from result;
5.在查询的时候进行去重(重复元素只保留一个 )
select distinct 列名 from 表名
查询两个列名进行去重,就得全相同才能去重成功
6.查询同时进行排序(当一个查询结果没有加上order by 查询到的结果是不可预期的)
select 列名(*) from 表名 order by 列名; 通过列名进行排序(升序排序)
降序排序select 列名(*) from 表名 order by 列名 desc; descand ---> 降序
前面的列优先级高,后面的列优先级低 (当遇到前面的值相同时,会比较后面的列)
select * from 表名 order by math,chinese desc;先按照数学成绩升序排,后按照语文成绩降序排
每一个列都可以添加 desc
很多时候排序的规则是比较复杂的,比较的规则是综合性的
条件查询(满足就在结果集中)
遍历整个表 看条件是否满足(不严谨)
(比较运算符,条件运算符)
在条件查询中,=就表示比较相等 <=> 也是比较相等的符号,由小于号,等号,大于号构成的
NULL = NULL ----false
NULL <=> NULL-----true 因为在sql 中NULL与其他的值比较或者进行运算结果都是NULL
模糊匹配 %后面可以跟多个 _可以跟一个
like 功能有点,比较影响性能
条件查询 : select name,english from exam_result where english<60;
在where语句中使用别名的时候直接报错了
注意sql语句中的执行顺序
1.取出便利表
2.把记录带入条件,判断是否满足
3.满足就把select列取出来,并且进行一些表达式计算
网上很多人是这样说的,实际上实现这个执行效果并不是做不到的,事实上mysql没有实现这个功能
更新
删除
offer(1.薪资,2.平台3..工作地点)
北京=深圳>上海>广州=杭州>>其他