MySQL操作

MySQL数据库

数据库(DataBase):数据库是按照数据结构来组织、存储和管理数据的仓库。数据库管理系统(Database Management SystemDBMS):是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。

数据库操作

数据库初始数据:
在这里插入图片描述

insect into 表名 set 列名1=数据1,列名2=数据2…

INSERT INTO novel SET bookname='吞噬星空',auther='我吃西红柿',price='34'
INSERT INTO novel SET bookname='星辰变',auther='我吃西红柿',price='49'
INSERT INTO novel SET bookname='武动乾坤',auther='天蚕土豆',price='21'

在这里插入图片描述
注意 :可以随意加数据,并不是有几列就要加几个的数据,如果该列数据没有加,会显示NULL

INSERT INTO novel SET bookname='武动乾坤',auther='天蚕土豆'

在这里插入图片描述

delete from 表名 where 条件(比如将id为5的行删除)

DELETE FROM novel WHERE id=5
DELETE FROM novel WHERE price='66'

可以看到id=5和price=66的行被删除
在这里插入图片描述

update 表名 set 列名1=数据1,列名2=数据2… where 条件(比如id=1)

UPDATE novel SET bookname='绝世唐门',price='111' WHERE auther='唐家三少'
UPDATE novel SET bookname='我不知道' WHERE auther='天蚕土豆'

可以看到如果有多行符合条件的数据,会全部更改.因此如果只改一行的数据,条件要写唯一
在这里插入图片描述

查询操作是我们在项目中最常用到的操作

一、普通查询:

初始数据:
在这里插入图片描述
1、 查询所有的数据:
select * from 表名;

SELECT * FROM fruit

在这里插入图片描述

2、 查询时合并列:
查询每个水果的price和weight的总价

SELECT id,fruit,(price*weight) AS 'total' FROM fruit

注意:合并列只能合并数值类型的字段,as是给它起的别名
在这里插入图片描述

3、 查询时去除重复数据:
DISTINCT

SELECT DISTINCT fruit FROM fruit

在这里插入图片描述

– 示例: 查询学生所在的地区
SELECT DISTINCT address FROM student;
– 另一种语法
SELECT DISTINCT(address) FROM student;

二、条件查询: select 列名 from 表名 where 条件

where后面的条件可以用>、<、>=、<=、!=等多种比较运算符,多个条件之间可 以用or、and等逻辑运算符

比如查询price大于等于7的所有水果

SELECT * FROM fruit WHERE price>=7

在这里插入图片描述
比如查询weight小于5的水果

SELECT * FROM fruit WHERE weight<5

在这里插入图片描述

三、排序:

select * from 表名 [where 条件] [ order by field1 [desc/asc],field2 [desc/asc]…];

  • 1.desc 降序排列,asc 升序排列
  • 2.order by 后面可以跟多个不同的排序字段,每个排序字段都可以有不同的排序顺序。
  • 3.如果排序字段的值一样,则相同的字段按照第二个排序字段进行排序。
  • 4.如果只有一个排序字段,则字段相同的记录将会无序排列。

比如按照price降序查询所有水果

SELECT * FROM fruit ORDER BY price DESC 

在这里插入图片描述

四、限制:

select … from 表名 [limit 起始偏移量,行数];

例如:取出价格前四名的水果(可以省略起始偏移量,此时默认为0)

SELECT * FROM fruit ORDER BY price DESC LIMIT 0, 4

在这里插入图片描述

五、聚合:

select 字段 fun_name from 表名 [ where 条件 ] [ groupbyfield1,field2… ] [with rollup] [having 条件];

  • 1.fun_name 表示要做的聚合操作,也就是说聚合函数,常用的有 : sum(求和)、count(*)
    (记录数)、max(最大值)、min(最小值)。
  • 2.group by关键字 表示要进行分类聚合的字段。比如要按照部门分类统计员工数量,部门就应
    该写在group by 后面。
  • 3.with rollup 是可选语法,表明是否对分类聚合后的结果进行再汇总
  • 4.having 关键字表示对分类后的结果再进行条件过滤。
    例如: 公司员工表A如下 (编号,姓,名,薪水)

(1) 统计水果种类

SELECT COUNT(1) FROM fruit

在这里插入图片描述
(2) 统计各种水果的个数

SELECT fruit,COUNT(1) FROM fruit GROUP BY fruit

在这里插入图片描述

(3) 统计各种水果的个数及水果种类数

SELECT fruit,COUNT(1) FROM fruit GROUP BY fruit WITH ROLLUP 

在这里插入图片描述

(4)统计种类数大于等于2的水果

SELECT fruit,COUNT(1) FROM fruit GROUP BY fruit HAVING COUNT(1)>=2

在这里插入图片描述(5)统计最低价格,最高价格

SELECT MIN(price),MAX(price) FROM fruit

在这里插入图片描述

六、多表连接查询:

表连接分为内连接和外连接。 他们之间最主要的区别:内连接仅选出两张表中互相匹配的记录,外连接会选出其他不匹配的记录。

比如这是两张表book和novel
在这里插入图片描述在这里插入图片描述

1、内连接

 SELECT book.name,novel.bookname FROM book,novel WHERE book.name=novel.bookname

在这里插入图片描述

2、外连接 分为左连接和右连接

  • 左连接:包含左边表中所有的记录,右边表中没有匹配的记录显示为NULL。
  • 右连接:包含右边表中所有的记录,左边表中没有匹配的记录显示为NULL。

(1)外连接(左连接):

SELECT book.name,novel.bookname FROM book LEFT JOIN novel ON book.name=novel.bookname

在这里插入图片描述
(2)外连接(右连接):

SELECT book.name,novel.bookname FROM book RIGHT JOIN novel ON book.name=novel.bookname

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值