前言
本文是关于MySQL数据库的第二弹。
临时表不受原表数据类型的约束!!
SQL语法不区分大小写。
一、列的使用
(一)列的增加
1、全列插入
insert into 表名 values (数据,数据);
也可以同时插入多条数据:
insert into 表名 values (数据,数据),(数据,数据);
2、指定列插入
insert into 表名(列名,列名,...) values (数据,数据,...);
(二)列的查询(重点!!)
1、全列查询
select *from 表名;
2、指定列查询
select 列名,列名 from 表名;
3、表达式查询
表达式查询是进行列与列之间的运算,呈现出来的数据是以临时表的形式出现。
select 列名,列名+10 from 表名;
也可以:
select 列名1,列名2*列名1 from 表名;
4、指定别名查询
select 列名,列名 as 别名 from 表名;
5、去重查询
distinct争对指定列进行去重。
当distinct指定多个列时,要求这些列的值都相同才视作重复。
select distinct 列名 from 表名;
6、查询结果排序
select 列名,列名 from 表名 order by 列名; -- 默认升序
注意事项:
1.null在排序时,视为最小值。
2.排序时可以使用别名。
3.对于MySQL,如果一个SQL没有指定order by 列名,此时的查询结果集的数据顺序是不可预期的。
4.可以指定多个列排序,多个列之间用逗号分隔。先按第一列排序,若第一列相同则按第二列排序...以此类推。
5.默认排序是升序排序,使用asc也表示升序排序。
select 列名,列名 from 表名 order by 列名 asc;
6.使用desc表示降序排序(desc -> descend)。
select 列名,列名 from 表名 order by 列名 desc;
7、条件查询
比较运算符
> 大于符号 >= 大于等于符号 < 小于符号 <= 小于等于符号 = 比较相等符号,不可以比较空(null = null 结果还是null =》false <=> 比较等于,可以比较空(null <=> null 结果是true <> 不等于符号 != 不等于符号 between a0 and a1 范围[a0,a1] in(option,....) 如果是option当中任意一个,返回true is null 是否为空 is not null 是否不为空 like 模糊匹配
逻辑运算符
and | 和 |
or | 或者 |
not | 非 |
- where条件可以使用表达式,但不能使用别名
- and优先级高于or
select 列名,列名 as 别名 from 表名 where 条件;
(1) in(option,....)
select 列名,列名 as 别名 from 表名 where 列名 in(数据,数据,...);
(2) like 模糊匹配
- 使用 % 代表任意0个或多个字符。
- 使用 _ 表示任意一个字符。
select 列名,列名 as 别名 from 表名 where 列名 like '邹%';
select 列名,列名 as 别名 from 表名 where 列名 like '邹__';