扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1. SELECT:查询内容,语法:SELECT 列名称 FROM 表名称
公司主营业务:成都做网站、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出都昌免费做网站回馈大家。
2. SELECT DISTINCT 查询非重复内容,语法:SELECT DISTINCT 列名称 FROM 表名称
3. WHERE 查询条件, 子句中可以指定任何条件,条件与条件之间用and 和 or 隔开
语法:SELECT 列名称 FROM 表名称 WHERE条件1 AND 条件2
4. AND 和 OR 运算符,将 WHERE 中的多个条件结合起来。操作符包括:=(等于)、或=!(不等于)、(大于)、(小于)、=(大于等于)、=(小于等于)
空值条件:IS NULL;非空值IS NOT NULL;查询多个值IN()
5. ORDER BY 排序,默认为升序,字段后加DESC为降序
6. GROUP BY 分组 ,对结果进行分组
7. LEFT JOIN 左连接,两张表合并保留左表的全部内容,只要掌握左连接
语法:SELECT列名称 FROM 表1 LEFT JOIN 表2 ON 表1.某列 = 表2.某列
了解:RIGHT JOIN(右连接),INNER JOIN(内连接)、FULL JOIN(全连接)
8. UNION all上下合并,两张表上下合并(了解)
9. LIKE 模糊查询(了解)
语法: SELECT 列名称 FROM 表名称 WHERE 某列 like “%字符%”
10.SUM 求和
语法:SELECT SUM(列名称) FROM 表名称
11. COUNT 计数
语法:SELECT COUNT(列名称) FROM 表名称
12. IF 判断 语法:同excel
13. MIN,MAX等
14. round 四舍五入
15. concat 字符串连接
16. UPDATE:修改内容,语法:update 表名 set 修改字段= 新内容 where 修改条件
17. substring 字符串截取
18. cast 定义数值类型(了解)
19. CASE … WHEN … THEN …. END 满足某一个条件时执行/替换,可用于条件计数
20. DATEDIFF 两个日期之间间隔的天数
21. SUBDATE 日期往前数 ,语法:SUBDATE(date,INTERVAL expr unit)
例子:SUBDATE(“2018-10-1”,INTERVAL 1 day) 代表10月1日往前数1天,结果是9月30;SUBDATE(“2018-10-1”,INTERVAL 1 month) 代表10月1日往前数1月,结果是2018-9-1
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、然后在该界面中,点击左上角“新建查询”按钮。
3、之后在该界面中,输入查询指定id号SQL语句“select * from myAudit where ID =1;”。
4、接着在该界面中,点击上方工具栏里“执行”按钮。
6、最后在该界面中,显示指定id号的数据。
1
查询数据表除了前三条以外的数据。
起初我想到的是这条语句
SELECT
*
FROM
admin
WHERE
userid
NOT
IN
(SELECT
userid
FROM
admin
ORDER
BY
userid
LIMIT
3)
ORDER
BY
userid
DESC
但是运行的时候会报
This
version
of
MySQL
doesn't
yet
support
'LIMIT
IN/ALL/ANY/SOME
subquery
这个的意思是表示子查询的时候不支持limit
,还有一点我就是很二了
就是查询的时候用not
in
效率非常不高
最后的解决办法是
CREATE
VIEW
view_top3_admin
AS
SELECT
*
FROM
admin
ORDER
BY
userid
LIMIT
3;
先创建一个视图
将子查询条件放到视图里面
然后在用这条语句
SELECT
*
FROM
admin
a
WHERE
NOT
EXISTS
(SELECT
1
FROM
view_top3_admin
b
WHERE
b.userid=a.userid
)
ORDER
BY
a.userid
DESC
先来解释下这条语句
SELECT
1
FROM
view_top3_admin
b
WHERE
b.userid=a.userid
表示查询表里面的值
只要有数据都显示为 1,1表示不读取数据
这样的话就是提升了查询的性能,当然也可以把
里面的1
换成
null
性能是一致的。整条语句的意思是查询admin表值,
判断条件是值不在子查询表里的。
2
union
和
union
all
的使用
先来解释下这两个关键字在mysql数据库中提供了UNION和UNION
ALL关键字,这两个关键字都是将结果集合并为一个,但这两者从使用和效率上来说都有所不同
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
select
*
from
table
union
select
*
from
tabl
UNION
ALL只是简单的将两个结果合并后就返回
如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了
select
*
from
table
union
all
select
*
from
tabl
从效率上说,UNION
ALL
要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION
这两个关键字用做报表比较多
mysql查询字符串中包含字符的步骤如下:
我们需要准备的材料分别是:mysql查询器。
1、首先,用mysql查询器连接上mysql连接,以test表(5条数据)查询包含“gle”字符为例。
2、点击“查询”按钮,输入:select * from test where `name` like "%gle%";(查询出包含gle字符的字符串)。
3、点击“运行”按钮,此时会查询到name字段包含“gle”字符的两条数据记录。
in作为查询条件,一般典型有两种用法:
一是IN常量,例如下面语句查询一、三年级的学生:
SELECT * FROM student WHERE grade IN ('一','三');
二是使用子查询,也就是IN(SQL语句),例如下面的语句查询不及格的班级的所有学生:
SELECT * FROM student WHERE classno IN (
select classno from scores where score60
);
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流