MySQL的常用

2 篇文章 0 订阅

MySQL的基础部分

SQL基础知识汇总

https://mp.weixin.qq.com/s/RCoROHY7C4oFVq0lUhzPwg

SQL Server高级知识点

https://mp.weixin.qq.com/s/OF7-FG6zrnF653nZa5elhA

MYSQL 入门全套

https://mp.weixin.qq.com/s/NdXgXeygrrujzOYsl7AnSQ

Navicat Premium 15 软件下载及安装教程

https://mp.weixin.qq.com/s/XsRCEnRdh3-35j7SNjSuCQ

数据库的安装

https://mp.weixin.qq.com/s/Bk_KVtiiD6ByjpgMBc4QFQ

SQL Server安装包

https://mp.weixin.qq.com/s/xsiHl5-33Em5ukkhwNTZ6A

数据库的备份和还原

  • 数据类型与约束

    • 常用数据类型

      整数

      小数

      字符串

      日期时间

    • 约束

      主键

      默认值

      非空

      唯一

      外键

MySQL的基础操作

Navicat使用MySQL注释

创建表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-so6YlBt2-1685180322240)(null)]

create table goods(
goodsName varchar(20),
price decimal(4,2)
);

常见错误:如果表已经被创建,再执行语句,会提示表已经存在

--优化
--如果表存在,执行删除操作
drop table if exists goods;
create table goods(
goodsName varchar(20),
price decimal(4,2)
);
插入数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qqgbZwHq-1685180322278)(null)]

insert into 表名 values(…),(…)…

insert into student(name) values(‘老夫子’)

直接插入多条数据

insert into students(name) values(‘老夫子5’),(‘老夫子6’)

数据之间用英文逗号隔开

更新数据

uptate 表名 set 更新的内容(字段名=更新的数据) where 条件

uptate 表名 set 字段名name=‘火灵邪神’,age=25 where id=5;

删除表数据

delete from 表名 where 条件

delete from students where id=6;

查数据

查询表(>,<,=,<>,!=,>=,and,or,in,between,not)

select * from 表名;

模糊查询

模糊查询

开头的话就把%放结尾,需要结尾的话就把%放前面,理解为占位符,替代这个空间的位置。

开头

select * from students where name like ‘孙%’;

结尾

select * from students where name like ‘%巧’;

包含

select * from students where name like ‘%巧%’;

NOT LIKECase insensitive exact string inequality comparison 没有用通配符等价于 !=col_nameNOT LIKE"ABCD"
%Used anywhere in a string to match a sequence of zero or more characters (only with LIKE or NOT LIKE) 通配符,代表匹配0个以上的字符col_name LIKE “%AT%”(matches “AT”, “ATTIC”, “CAT” or even “BATS”) “%AT%” 代表AT 前后可以有任意字符
_Used anywhere in a string to match a single character (only with LIKE or NOT LIKE) 和% 相似,代表1个字符col_name LIKE “AN_”(matches “AND”, but not “AN”)
IN (…)String exists in a list 在列表col_name IN (“A”, “B”, “C”)
NOT IN (…)String does not exist in a list 不在列表col_nameNOT IN(“D”, “E”, “F”)
排序数据

排序(默认的话就是从小到大,升序,所以可以省略不写)

select * from 表名 order by 字段a;

asc升序(从小到大)

select * from 表名 order by 字段a asc;

desc降序(从大到小)

select * from 表名 order by 字段a desc;

a字段升序,a字段相同时,b字段降序

select * from movie order by a desc,b asc;

显示数据(分页)

当数据量很大的时候,可以使用 limit 关键字来分页显示数据,例如:

显示前三行的数据:

select * from students limit 0,3;

显示4到6行的数据:

select * from students limit 4,6;

显示前十行的数据:

select * from student limit 10;

数据结果过滤可以使用 where 关键字进行筛选,例如:

select * from student as s where s.id=100;
起别名

为表名和字段起别名可以提高 SQL 语句的可读性和易用性,例如:

给学生表起别名:

select s.name,s.sex,s.age from students as s;

MySQL的高级操作

多表查询

https://mp.weixin.qq.com/s/Q_uiKoNZW5Dgc7XFmM_8Qg

多表查询是指一次查询涉及到多个表,可以使用三种不同类型的连接(联接)操作:内连接、左连接和右连接。

内连接:只返回两个表中共同匹配的行。

select * from 表1 inner join 表2 on 表1.id=表2.id;

左连接:返回左表中所有的行,以及右表中匹配的行。

select * from 表1 left join 表2 on 表1.id=表2.id;

右连接:返回右表中所有的行,以及左表中匹配的行。

select * from 表1 right join 表2 on 表1.id=表2.id;
SQL 函数

SQL 函数可以对数据进行处理和计算,常用的函数包括:

SQL聚合函数

select avg(*) from pdd where id=0;

  • avg(字段名):求平均值。

select count(字段名) from student where gender=1;

  • count(*):查看数据共多少条。

select max(字段名) from student where gender=1;

  • max(字段名):查看最大值。

select min(字段名) from student where gender=1;

  • min(字段名):查看最小值。

select sum(字段名) from student where gender=1;

  • sum(字段名):求每一列数值的和。
分组操作

分组操作可以使用 group by 关键字实现,例如:

select name, count(*) from students group by name;

以上查询会统计每个学生名字出现的次数。

分组后的数据筛选—having

这个你需要注意下!!!

having

select name, count(*) from students group by name having name!=‘张三’

where 与 having 的区别:

注意:where 是对原始数据集的筛选,having 是对分组后的结果数据进行筛选。

注意:having 的运算符与 where 相同,像“逻辑运算符”、“比较运算符”

数据不重复

就是有多条相同的数据上消除保留一条

select distinct 字段名 from 表名;

Python 的 Flask

Python 的 Flask 应用经常需要使用 SQL 数据库,因此以上的 SQL 高级应用对于 Flask 开发也非常有用。

@2023/05/27 15:14

暂时更新这么多了,后续如果用到其他的就马上补上去。

练习

问题

资料

文章

连接数据库软件

https://flowus.cn/qazxx/share/78c47539-4bfd-4baf-894d-ea04c439a8c0
【FlowUs 息流】MySQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值