欢迎莅临 SUN WU GANG 的园子!!!

世上无难事,只畏有心人。有心之人,即立志之坚午也,志坚则不畏事之不成。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Mysql图形化界面

  • Sqlyog
  • Navicat
  • DataGrip

DML:Data Manipulation Language--数据库操作语言,用于对数据库中的表的数据记录进行增删改操作。

DML--Insert into 新增数据

语法:

/*
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

语法:

update tablename set field1=value1,field2=value2 where 条件;
delete from tablename where 条件;

注:在实际操作中,记得记得记得 where 条件

DQL--Query

DQL--Data Query Language,数据查询语言,用来查询数据库中表的记录。

/*
DQL语法:
select 字段列表
from tablename
where 查询条件
group by 分组字段列表
having 分组后条件列表
order by 排序字段列表
limit 分页参数
*/
  1. 基本查询
    • 查询多个字段
      • select 字段1,字段2 from 表名;
      • select * from 表名;
    • 设置别名
      • select 字段 as filedname,字段 as filedname from 表名 —— (as 可省略)
    • 去重查询
      • select distinct 字段列表 from 表名;
  2. 条件查询
    • select 字段列表 from 表名 where 条件列表;
  3. 聚合函数:将一列数据作为一个整体,进行纵向计算。
    • count:统计数量
    • max:最大值
    • min:最小值
    • age:平均值
    • sum:求和
    • 语法:select 聚合函数(字段列表) from 表名;
    • 注:所有的聚合函数在操作列时,不计算NULL值信息。
    • select COUNT(*) FROM remarkinfo;
      select COUNT(Id) FROM remarkinfo;
      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
  4. 分组查询
    • 语法:select 字段列表 from 表名 where 条件 group by 分组字段名  having 分组后过滤条件
    • where 与having区别
      • 执行时机不同:where是分组之前进行过滤,不满足where,不参与分组;having是分组之后对结果进行过滤;
      • 判断条件不同:where不能对聚合函数进行判断;having可对聚合函数进行判断;
    • 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
      • 分组之后,查询的字段一般为聚合函数和分组字段;查询其他字段无任何意义;
  5. 排序查询
    • 语法:select 字段列表 from 表名 order by 字段1 排序方式,字段2 排序方式
    • 排序方式:asc--升序 默认;desc--降序
    • 如果是多字段排序,当第一个字段相同是,才会根据第二个字段进行排序......
    • select * from remarkinfo order by id desc|asc
  6. 分页查询
    • 语法:select 字段列表 from 表名 limit 开始索引,查询记录条数;
      • 开始索引从0开始,开始索引 =  (查询页码 -1) * 每页显示记录条数
      • 分页查询是数据库的方言,不同的数据库方式不同
      • 如果查询的是第一页数据,开始索引可以省略,直接简写为 limit 10--(每页10条数据)
    • 索引从0开始,limit 表示从 第几条开始取数据,取几条数据
    • mysql limit 必须是常量不能是变量或表达式(不支持--LIMIT(1-1)*2)
    • 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;
  7. select version(); --查询 mysql 版本

posted on 2023-06-29 16:29  sunwugang  阅读(5)  评论(0编辑  收藏  举报