2023年6月21日发(作者:)
SQL必须掌握的基础知识
说明:SQL是操作数据库内容的,可以进行select查询检索,update修改,insert into添加,delete删除
以下内容举例,均参考下表:
新闻表:NEWS ,表里面的字段分别是:id(编号),leiid(分类),biaoti(标题),neirong,shijian,jishu(计数)
常用关键词含义的简单说明(不区分大小写)
SELECT ---------查询,检索数据库,从数据库表中检索数据行和列
INSERT --------添加数据,向数据库表添加新数据行
DELETE --------删除数据,从数据表中删除数据行
UPDATE --------更新数据库表中的数据
WHERE --------设置条件
以下内容都是在WHERE内使用
LIKE --------模糊查询
IN --------包含
BETWEEN --------在两者之间
TOP -----------前几条信息
LIMIT --------用于在MYSQL中设置显示的记录位置和数量
以上内容在WHERE内使用
ORDER BY --------设置排序规则,以下两个是它的两个规则
ASC --------排序规则为升序(默认),123456
DESC -------- 排序规则为降序,654321
SELECT 基本语句
主要被用来对数据库进行查询并返回符合用户查询标准的结果集。最基本的SELECT 语句格式为:
SELECT [ALL|DISTINCT] select_list
FROM table_list
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_list[ASC|DESC]]
其中[]内是可选内容,详细使用方法介绍如下:
[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。
[WHERE search_condition]:设置筛选条件,过滤掉不需要的记录。WHERE子句可以包含以下各种运算符:
1. 比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<
2. 范围运算符(表达式值是否在指定范围内):BETWEEN„„AND„„、NOT„
BETWEEN„„AND„„
3. 列表运算符(判断表达式是否为列表中指定的项):IN(项1,项2,„„)、NOT
IN(项1,项2,„„) 4.模糊判断符 (判断值是否与指定的字符匹配格式相符):LIKE、NOT LIKE
5.空值判断符 (判断表达式是否为空):IS NULL、IS NOT NULL
6.逻辑运算符 (用于多个条件的逻辑连接):NOT 、AND、OR
GROUP BY group_by_expression 根据group_by_expression 列中的值将结果集分成组。
HAVING search_condition 通常与GROUP BY配合使用,对结果集进行附加筛选。如果不使用GROUP BY子句,HAVING与WHERE的作用一样。HAVING与WHERE区别在于:WHERE子句搜索条件在进行分组操作之前应用,而HAVING搜索条件在进行分组之后应用。HAVING通常作为SQL语句的最后一句。
ORDER BY order_list[ASC|DESC] 排序
以下内容[ ]中括号里面是可选内容,书写时不用带[ ]中括号
select * 解释:*代表所有字段
from 数据表
where 条件表达式
order by 字段名 [ASC/DESC]
例如:显示数据库表NEWS里面分类等于1的所有内容,并进行倒序排列
答案如下:
Select * 注释:检索显示所有的字段
From NEWS 注释:来自表NEWS
Where leiid=1 注释:条件是分类leiid等于1
Order by id DESC 注释:排序进行倒序,654321的排列方法即为倒序。
select *
from 数据表
where 字段名 like %字段值%
order by 字段名 [ASC/DESC]
例如:在表单FORM1里有文本域titles输入框,查询新闻的表单,要求实现在数据库表NEWS中,显示满足查询条件的内容,并进行倒序排列。
答案如下:
先设置一个变量:aaa=(“titles”) 取得表单文本域titles传过来的值
select * 注释:检索显示所有字段
from NEWS 注释:来自表NEWS
where biaoti like %aaa% 注释:数据库字段biaoti包含变量aaa(AAA上面有解释),%所有字符
order by id DESC
select *
from 数据表
where 字段名in(值1,值2,值3)
select *
from 数据表
where 字段名between 值1 and 值2
在MYSQL中取得前10条记录不能用TOP,而用
select *
from 数据表
where 字段名=字段值 order by 字段名 [desc] limit 0,10
SELECT 多表的基本语句
FROM可以读取两个或多个表,当用到字段的时候,写法是表名.字段名,中间用句点链接,公式如下:
两个表或是多个表的联合
Select 表A.字段名1,表B.字段名1[,„„.]
From 表A,表B[,„„.]
Where表A.字段名1=表B.字段名1[AND/OR 表A.字段名2=表B.字段名2] [,„„.]
UPDATE 更新数据基本语句
只要是提到更新数据,就要用到UPDATE。以下是关于UPDATE的写法及实例
1. 更新数据记录
(1)update 数据表
set 字段名=字段值
where 条件表达式
(2)update 数据表
set 字段1=值1,字段2=值2„„字段n=值n
where 条件表达式
例子:update score set jishu=jishu+1 where id=1
DELETE 删除数据基本语句
只要是提到删除数据,就要用到delete。以下是关于DELETE的写法及实例
删除数据记录
(1)delete from 数据表
where 条件表达式
(2)delete from 数据表 (将数据表中所有记录删除)
例子:Delete from news where id=3101
INSERT INTO 添加数据基本语句
只要是提到添加数据,就要用到insert into。以下是关于insert into的写法及实例
添加数据记录
(1)insert into 数据表(字段1,字段2,字段3„)values(值1,值2,值3„)
(2)insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表)
例子:
INSERT INTO news(biaoti,neirong) VALUES (‘学习编程’,’学习编程重要的是学会分析’)
Where id=1
聚合函数的用法
AVG([ALL|DISTINCT]字段名)得出一个表格栏平均值
COUNT([ALL|DISTINCT]*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大值
MIN(字段名)取得一个表格栏最小值
SUM([ALL|DISTINCT]字段名)把数据栏的值相加
解释[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。
聚合函数用法举例如下:
1. 在FILM表中查询每个影院总的票款
Select sum(单价*卖出票数) as 票款,影院
From film
Group by 影院
2. 统计FILM中有几家影院
Select count(didtinct 影院) as 影院个数
From film
3. 统计片名为A1的影片在各影院平均卖出的票数
Select AVG(卖出票数) AS 平局卖出票数,影院
From film
Where 片名=”A1”
GROUP BY 影院
4. 统计片名为A1的影片在各个影院卖出票数的最大值。
Select AVG(卖出票数) AS卖出票数
From film
Where 片名=”A1”
2023年6月21日发(作者:)
SQL必须掌握的基础知识
说明:SQL是操作数据库内容的,可以进行select查询检索,update修改,insert into添加,delete删除
以下内容举例,均参考下表:
新闻表:NEWS ,表里面的字段分别是:id(编号),leiid(分类),biaoti(标题),neirong,shijian,jishu(计数)
常用关键词含义的简单说明(不区分大小写)
SELECT ---------查询,检索数据库,从数据库表中检索数据行和列
INSERT --------添加数据,向数据库表添加新数据行
DELETE --------删除数据,从数据表中删除数据行
UPDATE --------更新数据库表中的数据
WHERE --------设置条件
以下内容都是在WHERE内使用
LIKE --------模糊查询
IN --------包含
BETWEEN --------在两者之间
TOP -----------前几条信息
LIMIT --------用于在MYSQL中设置显示的记录位置和数量
以上内容在WHERE内使用
ORDER BY --------设置排序规则,以下两个是它的两个规则
ASC --------排序规则为升序(默认),123456
DESC -------- 排序规则为降序,654321
SELECT 基本语句
主要被用来对数据库进行查询并返回符合用户查询标准的结果集。最基本的SELECT 语句格式为:
SELECT [ALL|DISTINCT] select_list
FROM table_list
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_list[ASC|DESC]]
其中[]内是可选内容,详细使用方法介绍如下:
[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。
[WHERE search_condition]:设置筛选条件,过滤掉不需要的记录。WHERE子句可以包含以下各种运算符:
1. 比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<
2. 范围运算符(表达式值是否在指定范围内):BETWEEN„„AND„„、NOT„
BETWEEN„„AND„„
3. 列表运算符(判断表达式是否为列表中指定的项):IN(项1,项2,„„)、NOT
IN(项1,项2,„„) 4.模糊判断符 (判断值是否与指定的字符匹配格式相符):LIKE、NOT LIKE
5.空值判断符 (判断表达式是否为空):IS NULL、IS NOT NULL
6.逻辑运算符 (用于多个条件的逻辑连接):NOT 、AND、OR
GROUP BY group_by_expression 根据group_by_expression 列中的值将结果集分成组。
HAVING search_condition 通常与GROUP BY配合使用,对结果集进行附加筛选。如果不使用GROUP BY子句,HAVING与WHERE的作用一样。HAVING与WHERE区别在于:WHERE子句搜索条件在进行分组操作之前应用,而HAVING搜索条件在进行分组之后应用。HAVING通常作为SQL语句的最后一句。
ORDER BY order_list[ASC|DESC] 排序
以下内容[ ]中括号里面是可选内容,书写时不用带[ ]中括号
select * 解释:*代表所有字段
from 数据表
where 条件表达式
order by 字段名 [ASC/DESC]
例如:显示数据库表NEWS里面分类等于1的所有内容,并进行倒序排列
答案如下:
Select * 注释:检索显示所有的字段
From NEWS 注释:来自表NEWS
Where leiid=1 注释:条件是分类leiid等于1
Order by id DESC 注释:排序进行倒序,654321的排列方法即为倒序。
select *
from 数据表
where 字段名 like %字段值%
order by 字段名 [ASC/DESC]
例如:在表单FORM1里有文本域titles输入框,查询新闻的表单,要求实现在数据库表NEWS中,显示满足查询条件的内容,并进行倒序排列。
答案如下:
先设置一个变量:aaa=(“titles”) 取得表单文本域titles传过来的值
select * 注释:检索显示所有字段
from NEWS 注释:来自表NEWS
where biaoti like %aaa% 注释:数据库字段biaoti包含变量aaa(AAA上面有解释),%所有字符
order by id DESC
select *
from 数据表
where 字段名in(值1,值2,值3)
select *
from 数据表
where 字段名between 值1 and 值2
在MYSQL中取得前10条记录不能用TOP,而用
select *
from 数据表
where 字段名=字段值 order by 字段名 [desc] limit 0,10
SELECT 多表的基本语句
FROM可以读取两个或多个表,当用到字段的时候,写法是表名.字段名,中间用句点链接,公式如下:
两个表或是多个表的联合
Select 表A.字段名1,表B.字段名1[,„„.]
From 表A,表B[,„„.]
Where表A.字段名1=表B.字段名1[AND/OR 表A.字段名2=表B.字段名2] [,„„.]
UPDATE 更新数据基本语句
只要是提到更新数据,就要用到UPDATE。以下是关于UPDATE的写法及实例
1. 更新数据记录
(1)update 数据表
set 字段名=字段值
where 条件表达式
(2)update 数据表
set 字段1=值1,字段2=值2„„字段n=值n
where 条件表达式
例子:update score set jishu=jishu+1 where id=1
DELETE 删除数据基本语句
只要是提到删除数据,就要用到delete。以下是关于DELETE的写法及实例
删除数据记录
(1)delete from 数据表
where 条件表达式
(2)delete from 数据表 (将数据表中所有记录删除)
例子:Delete from news where id=3101
INSERT INTO 添加数据基本语句
只要是提到添加数据,就要用到insert into。以下是关于insert into的写法及实例
添加数据记录
(1)insert into 数据表(字段1,字段2,字段3„)values(值1,值2,值3„)
(2)insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表)
例子:
INSERT INTO news(biaoti,neirong) VALUES (‘学习编程’,’学习编程重要的是学会分析’)
Where id=1
聚合函数的用法
AVG([ALL|DISTINCT]字段名)得出一个表格栏平均值
COUNT([ALL|DISTINCT]*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大值
MIN(字段名)取得一个表格栏最小值
SUM([ALL|DISTINCT]字段名)把数据栏的值相加
解释[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。
聚合函数用法举例如下:
1. 在FILM表中查询每个影院总的票款
Select sum(单价*卖出票数) as 票款,影院
From film
Group by 影院
2. 统计FILM中有几家影院
Select count(didtinct 影院) as 影院个数
From film
3. 统计片名为A1的影片在各影院平均卖出的票数
Select AVG(卖出票数) AS 平局卖出票数,影院
From film
Where 片名=”A1”
GROUP BY 影院
4. 统计片名为A1的影片在各个影院卖出票数的最大值。
Select AVG(卖出票数) AS卖出票数
From film
Where 片名=”A1”
发布评论