当前位置: 首页 > wzjs >正文

湖北网络建设公司网站南宁seo专员

湖北网络建设公司网站,南宁seo专员,滁州做网站公司,网站建设刷赞和vipMySQL数据库的增删改查 创建查找单表查找筛选列(字段)子语句条件查询 where子语句限制查询 limit子语句排序子语句 order by 列名 函数聚合函数分组函数 group by 多表查询一对一的关系一对多的关系连表查询多对多的关系 增删改添加删除修改 创建 首先先…

MySQL数据库的增删改查

  • 创建
  • 查找
    • 单表查找
      • 筛选列(字段)
      • 子语句
        • 条件查询 where子语句
        • 限制查询 limit子语句
        • 排序子语句 order by 列名
      • 函数
        • 聚合函数
        • 分组函数 group by
    • 多表查询
      • 一对一的关系
      • 一对多的关系
      • 连表查询
      • 多对多的关系
  • 增删改
    • 添加
    • 删除
    • 修改

创建

首先先新建连接

在这里插入图片描述

其次创建数据库

在这里插入图片描述

其中字符集选择 utf8mb4、排序规则选择 utf8mb4_bin

然后创建 student 表

其中 id 不是空且设为主键自动递增
int 表示整形数据、varchar 表示字符串

在这里插入图片描述

数据添加

在这里插入图片描述

查找

单表查找

筛选列(字段)

我们在sql中输入:

-- 查找对应字段信息
select name,age from student
-- 查找全部信息
select * from student

结果为:

在这里插入图片描述

子语句

条件查询 where子语句

where子语句在查找、修改、删除等均适用

select * from student where sex='男'

在这里插入图片描述
算数运算符: >、<、>=、<=、!= 或 <>
逻辑运算符: and并且、or或者、not取非(主要用在 is in)

select * from student where age!=22

在这里插入图片描述

select * from student where age >= 22  and age <= 24  and sex="女"

在这里插入图片描述

select * from student where age < 22  or age > 24

在这里插入图片描述

between … and (相当于是闭区间[ ])

select * from student where age between 22 and 24

在这里插入图片描述
in() (相当于是备选池子)

select * from student where id in(2,5,6)

在这里插入图片描述

select * from student where age not in(22,25,20)

在这里插入图片描述

is (一般与 null 连用)

此时我们在student表中添加一个信息age为空的信息

在这里插入图片描述
再在sql中输入:

select * from student where age is null

那么会呈现:
在这里插入图片描述

限制查询 limit子语句

第一种写法: limit a,b
其中a表示起始索引值(索引值从0开始)、b表示查询个数

select * from student limit 0,3

在这里插入图片描述

即从索引为0(第1个位置)的位置往后查3条

另一种写法: limit b offset a
其中b表示查询个数、a表示起始索引值(索引值从0开始)

分页查询的实现

例如当我们实现每页显示两条数据,代码可以这样写

--第一页
select * from student limit 0,2
--第二页
select * from student limit 2,2
--第三页
select * from student limit 4,2
--第四页
select * from student limit 6,2

总结规律
对于页码 page、一页大小 pageSize
那么我们可以这样操作来实现:

select * from student limit (page-1)*pageSize,pageSize

对于既有where子语句又有limit子语句
where子语句在前

select * from student where age>=22  limit 0,2

在这里插入图片描述

排序子语句 order by 列名

desc降序|asc升序(asc可以省略)

select * from student order by age desc

在这里插入图片描述

既有where子语句又有limit子语句还有排序子语句:
where子语句在最前,其次是 order by,最后是 limit 语句

select * from student where age>=22 order by age desc limit 0,2

在这里插入图片描述

函数

聚合函数

sum()求和、avg()取平均、max()取最大值、min()取最小值、count()取得的记录数、count()取数量
其中 count(字段名称) count统计某一个字段的情况下不会统计值为null的记录

此时我们修改 student 表格的数据为:

在这里插入图片描述

select count(age) from student

在这里插入图片描述
结果为7,id为8的数据没有 age 信息所以不统计

select count(*) from student

统计表中记录的数量
在这里插入图片描述

分组函数 group by

group by 字段名字,表示要根据哪个字段进行分组

修改表中数据为:

在这里插入图片描述

对组内可进行求和求平均等

select sum(age),class from student group by class

在这里插入图片描述

筛选的实现:
分组之前加条件用的是where,对分组之后查询出来的结果再筛选用的是having

select sum(age),class from student where sex = "男" group by class

在这里插入图片描述

select sum(age),class from student where sex = "男" group by class having class = 1

在这里插入图片描述

多表查询

一对一的关系

例如丈夫与妻子的关系
在这里插入图片描述

最优解:合成一张表
在这里插入图片描述

一对多的关系

例如学生与班级的关系
在这里插入图片描述

最优解:在多的一方加外键
在这里插入图片描述

此时我们创建一个新表class

在这里插入图片描述
在这里插入图片描述

当使用 select * from student,class 时,结果是笛卡尔积

在这里插入图片描述
正确写法为:

select * from student,class where student.classid = class.id

在这里插入图片描述

补充重命名
字段名或表名 as 后面是新名字 (as可省)

select s1.id,name,sex,age,classname as 班级名称 from student as s1,class as c1 where s1.classid = c1.id

在这里插入图片描述

在 student 和 class 表中分别再添加一条信息

在这里插入图片描述
在这里插入图片描述

此时再输入

select s1.id,name,sex,age,classname as 班级名称 from student as s1,class
as c1 where s1.classid = c1.id

时,发现结果和上面是一样的,没有班级的学生或没有学生的班级都查不出来,即只能查班级与学生的公共部分

连表查询可以解决问题

连表查询

内连接:
inner join … on (其中inner可以省略)on 后面跟的是连接条件(找的是公共部分)

select * from student join class on student.classid = class.id

在这里插入图片描述

连表查询连接条件与筛选条件做区分,连接条件写在on里、筛选条件写在where里,而多表查询不做区分,在where中添加 and、or 等条件即可

select * from student join class on student.classid = class.id where sex='女'

在这里插入图片描述

外连接:
左外连接:left join…on
多查左表有而公共部分没有的部分

select * from student left join class on student.classid = class.id

在这里插入图片描述

右外连接:right join … on
多查右表有而公共部分没有的部分

select * from student right join class on student.classid = class.id

在这里插入图片描述

多对多的关系

例如学生与课程的关系
在这里插入图片描述
最优解:再创建一张关系表
在这里插入图片描述

操作:

此时添加一个表,表名为"学生表"

在这里插入图片描述
在这里插入图片描述

此时添加一个表,表名为"课程表"

在这里插入图片描述
在这里插入图片描述

此时添加一个表,表名为"选课表"

在这里插入图片描述
在这里插入图片描述

select * from 学生表,选课表,课程表 where 学生表.id = 选课表.sid and 选课表.cid = 课程表.id

在这里插入图片描述

select * from 学生表 join 选课表 join 课程表 on 学生表.id = 选课表.sid and 选课表.cid = 课程表.id

最终结果上面两个效果相同

此时我们进行如下操作:

select * from 学生表 left join 选课表 on  学生表.id = 选课表.sid  join 课程表 on 选课表.cid = 课程表.id

在这里插入图片描述
所以可以一路 join 后再 on,也可以 join 一个 on 一个

增删改

添加

insert into student(name,age,sex,classid) values("vivi",25,"男",3)

id一般不添加已经设置为自动递增了
在这里插入图片描述

删除

删除整个表

delete from student

删除表的某个信息,需要用到where子语句

delete from student where id = 9

在这里插入图片描述

修改

需要用到where子语句

update student set name = "pipi",age = 20 where id = 10

在这里插入图片描述

http://www.dtcms.com/wzjs/27807.html

相关文章:

  • 深圳疫情防控措施徐州百度seo排名
  • 在线crm厂商seo整站怎么优化
  • 专门做特卖的网站百度网址大全网站
  • 广州做地铁的公司网站手游代理平台哪个好
  • 温州专业微网站制作电话市场营销模式有哪些
  • 学校网站制作平台班级优化大师电脑版
  • 邮件服务器是不是网站服务器广告多的网站
  • 网站规划与网页设计案例株洲最新今日头条
  • 百度快照和做网站有关系吗2020年可用好用的搜索引擎
  • 古镇企业网站建设seo优化文章网站
  • 高端网站建设免费分析百度网盘app下载安装手机版
  • 建设网站专业公司天津网站制作系统
  • 泉州市新濠网络科技有限公司seo排名工具
  • 工作做网站wordpress企业网站模板
  • 英文网站建设平台免费独立站自建站网站
  • 小程序api函数奶盘seo伪原创工具
  • 江苏网站优化建站百度商城
  • 网站制作html代码网站怎么优化搜索
  • 赞叹天河网站建设公司新闻热点最新事件
  • 网站版权信息模板百度官方网站下载安装
  • wordpress缩略图的质量网站关键词排名优化软件
  • 池州网站建设哪家好新乡seo外包
  • 在阿里云服务器做淘客网站seo公司推荐
  • wordpress建数据库百度seo优化
  • 对一个网站做性能测试市场营销案例100例
  • 网站导航是怎么做的今日国内新闻
  • 网站建设设计公司排名西地那非片的正确服用方法
  • 注册个网站域名多少钱一年阿里云搜索引擎
  • 如何自己做网站推广淘宝客厦门seo网站优化
  • 网站建设常用模板网站建设报价