SQL语句学习

本文详细介绍了SQL的基础结构,包括查询的正确顺序(FROM,WHERE,GROUPBY,SELECT,HAVING,ORDERBY,LIMIT),以及如何使用它们来创建数据库、创建表和插入数据。还涉及到了GROUPBY的分组功能和聚集函数的应用。
摘要由CSDN通过智能技术生成

一、格式及作用

1.查询的SQL结构

SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ...;

2.写SQL时需按如下顺序写

FROM,WHERE,GROUP BY,SELECT HAVING,ORDER BY,LIMIT

3.FROM的作用

FROM Stu : 将Stu表中的数据都获取过来

JOIN ... 后续补充

4.WHERE的作用

对在FROM中获取的数据进行过滤: 可以用下面的做连接: AND, OR , = ,!=

符合条件的数据留下,不符合提交件的数据丢弃

5.GROUP BY作用

GROUP BY classid : 安装classid进行分组

分组后,如果遇到SELECT,那么输出的代表是每一组的第一行数据

GROUP BY还可以和聚集函数放在一起,主要的聚集函数为:

COUNT():计数
SUM():和
MAX():最大值
MIN():最小值
AVG():平均值
GROUP_CONCAT():

二、练习示例

2.1 创建数据库(schema)

2.1.1 格式
CREATE DATABASE 库名;
2.1.2 示例
CREATE TABLE `l_live_broadcast_indicators` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Date` date DEFAULT NULL,
  `Provider` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `FirstFrameTimesValue` float(10,4) DEFAULT NULL,
  `FirstFrameTimesRanking` int(11) DEFAULT NULL,
  `FirstFrameTimesDiff` float(10,4) DEFAULT NULL,
  `FirstFrameTimesScore` float(10,4) DEFAULT NULL,
  `PullSeiDelaysValue` float(10,4) DEFAULT NULL,
  `PullSeiDelaysRanking` int(11) DEFAULT NULL,
  `PullSeiDelaysDiff` float(10,4) DEFAULT NULL,
  `PullSeiDelaysScore` float(10,4) DEFAULT NULL,
  `PullSuccessRatesValue` float(10,4) DEFAULT NULL,
  `PullSuccessRatesRanking` int(11) DEFAULT NULL,
  `PullSuccessRatesDiff` float(10,4) DEFAULT NULL,
  `PullSuccessRatesScore` float(10,4) DEFAULT NULL,
  `StallCountHundredSecsValue` float(10,4) DEFAULT NULL,
  `StallCountHundredSecsRanking` int(11) DEFAULT NULL,
  `StallCountHundredSecsDiff` float(10,4) DEFAULT NULL,
  `StallCountHundredSecsScore` float(10,4) DEFAULT NULL,
  `StallTimeHundredSecsValue` float(10,4) DEFAULT NULL,
  `StallTimeHundredSecsRanking` int(11) DEFAULT NULL,
  `StallTimeHundredSecsDiff` float(10,4) DEFAULT NULL,
  `StallTimeHundredSecsScore` float(10,4) DEFAULT NULL,
  `VideoRenderStallCountHundredSecsValue` float(10,4) DEFAULT NULL,
  `VideoRenderStallCountHundredSecsRanking` int(11) DEFAULT NULL,
  `VideoRenderStallCountHundredSecsDiff` float(10,4) DEFAULT NULL,
  `VideoRenderStallCountHundredSecsScore` float(10,4) DEFAULT NULL,
  `VideoRenderStallTimeHundredSecsValue` float(10,4) DEFAULT NULL,
  `VideoRenderStallTimeHundredSecsRanking` int(11) DEFAULT NULL,
  `VideoRenderStallTimeHundredSecsDiff` float(10,4) DEFAULT NULL,
  `VideoRenderStallTimeHundredSecsScore` float(10,4) DEFAULT NULL,
  `ClaritysValue` float(10,4) DEFAULT NULL,
  `ClaritysRanking` int(11) DEFAULT NULL,
  `ClaritysDiff` float(10,4) DEFAULT NULL,
  `ClaritysScore` float(10,4) DEFAULT NULL,
  `EveryScore` float(10,4) DEFAULT NULL,
  `ProviderScore` float(10,4) DEFAULT NULL,
  `Uepdate_time` datetime DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

2.2 创建表

2.2.1 格式
CREATE TABLE 表名 (设置主键及其他字段格式);
2.2.2 示例
use py2;
CREATE TABLE stu (id int primary key,name char(10),classid int) default charset=utf8mb4;

2.3 插入数据

2.3.1 格式
INSERT INTO 表名 (表内各字段) VALUES (对应表内各字段的值)
2.3.2 示例
INSERT INTO stu (id,name,classid) VALUES (1,'甲1',20);
INSERT INTO stu (id,name,classid) VALUES (2,'甲2',20);
INSERT INTO stu (id,name,classid) VALUES (3,'甲3',20);
INSERT INTO stu (id,name,classid) VALUES (4,'乙1',21);
INSERT INTO stu (id,name,classid) VALUES (5,'乙2',21);
INSERT INTO stu (id,name,classid) VALUES (6,'乙3',21);
INSERT INTO stu (id,name,classid) VALUES (7,'丙1',22);
INSERT INTO stu (id,name,classid) VALUES (8,'丙2',22);
INSERT INTO stu (id,name,classid) VALUES (9,'丙3',22);
INSERT INTO stu (id,name,classid) VALUES (1,'甲1',20),(2,'甲2',20),(3,'甲3',20),(4,'乙1',21),(5,'乙2',21),(6,'乙3',21),(7,'丙1',22),(8,'丙2',22),(9,'丙3',22);
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值