Mysql图形化界面
- Sqlyog
- Navicat
- DataGrip
DML:Data Manipulation Language--数据库操作语言,用于对数据库中的表的数据记录进行增删改操作。
DML--Insert into 新增数据
语法:
1 2 3 4 5 6 7 8 9 10 | /* DML新增数据 1.给制定字段添加数据 inser into tablename(field1,field2)values(value1,value2) 2.给全部字段添加数据 INSERT into tablename VALUES(value1,value2) 3.批量添加数据 INSERT into tablename(field1,field2)values(value1,value2),(value1,value2),(value1,value2) INSERT into tablename VALUES (value1,value2),(value1,value2),(value1,value2) */ |
- 插入数据时,字段的顺序及个数需和值对应
- 字符串和日期类型的数据应该包含在引号中
- 插入的数据长度大小,需要在字典的规定范围内
DML--Update|Delete
语法:
1 | update tablename set field1=value1,field2=value2 where 条件;<br> delete from tablename where 条件; |
注:在实际操作中,记得记得记得 where 条件
DQL--Query
DQL--Data Query Language,数据查询语言,用来查询数据库中表的记录。
1 2 3 4 5 6 7 8 9 10 | /* DQL语法: select 字段列表 from tablename where 查询条件 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 */ |
- 基本查询
- 查询多个字段
- select 字段1,字段2 from 表名;
- select * from 表名;
- 设置别名
- select 字段 as filedname,字段 as filedname from 表名 —— (as 可省略)
- 去重查询
- select distinct 字段列表 from 表名;
- 查询多个字段
- 条件查询
- select 字段列表 from 表名 where 条件列表;
-
- 聚合函数:将一列数据作为一个整体,进行纵向计算。
- count:统计数量
- max:最大值
- min:最小值
- age:平均值
- sum:求和
- 语法:select 聚合函数(字段列表) from 表名;
- 注:所有的聚合函数在操作列时,不计算NULL值信息。
-
1234567
select
COUNT
(*)
FROM
remarkinfo;
select
COUNT
(Id)
FROM
remarkinfo;<br>
select
COUNT
(1)
FROM
remarkinfo;
select
sum
(Id)
FROM
remarkinfo;
select
avg
(Id)
FROM
remarkinfo;
select
max
(Id)
FROM
remarkinfo;
select
min
(Id)
FROM
remarkinfo;
select
COUNT
(Id)
count
,
sum
(Id)
sum
,
avg
(Id)
avg
,
max
(Id)
max
,
min
(Id)
min
FROM
remarkinfo
- 分组查询
- 语法:select 字段列表 from 表名 where 条件 group by 分组字段名 having 分组后过滤条件
- where 与having区别
- 执行时机不同:where是分组之前进行过滤,不满足where,不参与分组;having是分组之后对结果进行过滤;
- 判断条件不同:where不能对聚合函数进行判断;having可对聚合函数进行判断;
-
1234
select
count
(id),remark
from
remarkinfo
GROUP
BY
remark;
select
avg
(id),remark
from
remarkinfo
GROUP
BY
remark;
select
count
(id),remark
from
remarkinfo
where
id>2
GROUP
BY
remark
select
count
(id),remark
from
remarkinfo
where
id>2
GROUP
BY
remark
HAVING
remark<>
'001'
- 注意:
- 执行顺序,where > 聚合函数 > having
- 分组之后,查询的字段一般为聚合函数和分组字段;查询其他字段无任何意义;
- 排序查询
- 语法:select 字段列表 from 表名 order by 字段1 排序方式,字段2 排序方式
- 排序方式:asc--升序 默认;desc--降序
- 如果是多字段排序,当第一个字段相同是,才会根据第二个字段进行排序......
- select * from remarkinfo order by id desc|asc
- 分页查询
- 语法:select 字段列表 from 表名 limit 开始索引,查询记录条数;
- 开始索引从0开始,开始索引 = (查询页码 -1) * 每页显示记录条数
- 分页查询是数据库的方言,不同的数据库方式不同
- 如果查询的是第一页数据,开始索引可以省略,直接简写为 limit 10--(每页10条数据)
- 索引从0开始,limit 表示从 第几条开始取数据,取几条数据
- mysql limit 必须是常量不能是变量或表达式(不支持--LIMIT(1-1)*2)
-
123456789101112131415161718
select
(1-1)*2,(2-1)*2;
-- 错误语法,mysql limit必须是常量不能是变量或表达式
-- select * from remarkinfo LIMIT(1-1)*2,2;
-- 可考虑使用如下方式实现
set
@asql=concat(
'select * from remarkinfo limit '
,(1-1)*2,
',2'
);
prepare
stml
from
@asql;
execute
stml
set
@asql=concat(
'select * from remarkinfo limit '
,(2-1)*2,
',2'
);
prepare
stml
from
@asql;
execute
stml
-- 索引从0开始,limit 表示从 第几条开始取数据,取几条数据
-- 每页 2 条数据,第一页
select
*
from
remarkinfo LIMIT 2;
-- 从0开始,取 2 条数据
select
*
from
remarkinfo LIMIT 0,2;
-- 索引从0开始
-- 索引从0开始,limit 表示从 第几条开始取数据,取几条数据
select
*
from
remarkinfo LIMIT 2,2;
- 语法:select 字段列表 from 表名 limit 开始索引,查询记录条数;
-
select version(); --查询 mysql 版本
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
分类:
004 DB / MYSQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!