mysql学习笔记

这篇博客详细记录了MySQL的下载安装过程,包括下载地址选择、安装选项和密码设置。接着介绍了如何连接MySQL,以及创建数据库的注意事项。重点讲解了数据的插入、更新、查询和删除操作,使用了各种比较操作符。还涵盖了聚合函数如MAX、MIN、SUM和AVG的使用,以及ORDER BY和GROUP BY的排序与分组功能。最后,博主深入讨论了多表查询,包括内连接、外连接的概念,并提供了练习题供读者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql学习笔记

一、mysql下载及安装

1.mysql官网下载地址:https://dev.mysql.com/downloads/installer/

注意点1.下载时,选择离线下载;2.安装时,选择服务端安装,即选择第二个;3.设置密码时,设置简单型密码;

2.学习文档MySQL手册

二、mysql连接

mysql -u root -p
输入密码

三、

创建数据库语句

1.切换数据库
use mysql;
2.创建数据库语句
create datebase 库名;

3.建表语句
CREATE TABLE `grades` (
  `id` int(11) NOT NULL,
  `name` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `subject` char(8) NOT NULL,
  `grade` float(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4.插入数据(必须字段名和插入值对应)
INSERT INTO student(id,username,sex,age,address)VALUES(
4,"小红","女",14,"武汉市黄陂区");

5.更新语句
update user set host='%' where user='root';

注意点:1、SQL结束以";"为主;分号必须为英文输入法输入;2、SQL语句不区分大小写;

附加知识:

1.Markdown是什么?
是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定格式。
2.优缺点
优点:
(1)因为是纯文本,商业只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困难。
(2)操作简单。
缺点:
(1)需要记一些语法。
(2)有些平台不支持Markdown格式
一、标题
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题

二、代码高亮
```所要高亮那种语言
英文倒引号
```
三、那些平台支持
有道云笔记、印象笔记、腾讯笔记、飞书、tapd、github、优快云、简书和其他技术论坛等

今天学习内容

1.插入数据

insert into 表名(字段1,字段2,字段3)values(插入的数据);

练习:
INSERT INTO grades(id,name,subject,grade)VALUES(5,"刘备","语文",120),
(6,"诸葛孔明","语文",200),(7,"曹操","语文",500),(8,"曹植","语文",500);

select * from student;

INSERT INTO student(id,username,sex,age,address)VALUES(
5,"刘备","男",1300,"四川成都"),(
6,"诸葛孔明","男",1300,"湖北襄阳"),(
7,"曹操","男",1300,"河南许昌"),(
8,"曹植","男",1200,"安徽六安");

INSERT INTO student(id,username,sex,age,address)VALUES(
9,"孙尚香","女",1300,"江苏江阴"),(
10,"蔡文姬","女",1300,"河南许昌"),(
11,"甄姬","女",1300,"河南许昌"),(
12,"大乔","女",1200,"安徽六安");

INSERT INTO grades(id,name,subject,grade)VALUES(9,"孙尚香","语文",120),
(10,"蔡文姬","语文",300),(11,"甄姬","语文",100),(12,"大乔","语文",99);

SELECT * from grades;

grades

3 小花 语文 114.2
2 李四 语文 71.9
2 李四 语文 71.9
1 张三 语文 111
4 小红 语文 109
5 刘备 语文 120
6 诸葛孔明 语文 200
7 曹操 语文 500
8 曹植 语文 500
9 孙尚香 语文 120
10 蔡文姬 语文 300
11 甄姬 语文 100
12 大乔 语文 99

student

1 张三 男 14 武汉市洪山区
2 李四 男 13 武汉市江夏区
3 小花 女 13 武汉市武昌区
4 小红 女 14 武汉市黄陂区
5 刘备 男 1300 四川成都
6 诸葛孔明 男 1300 湖北襄阳
7 曹操 男 1300 河南许昌
8 曹植 男 1200 安徽六安
9 孙尚香 女 1300 江苏江阴
10 蔡文姬 女 1300 河南许昌
11 甄姬 女 1300 河南许昌
12 大乔 女 1200 安徽六安

2.更新数据

update 表名 set 更新字段=‘更新内容’ where 条件;

3.查询数据

select * from 表名;


select * from student where sex='女';

select address,username,COUNT(*) from student;

select * from student where username LIKE "张%";

select * from grades where grade>=100 and grade<=300;

= 等号

<>,!= 不等号

》 大于号

< 小于号

》=大于等于

<= 小于等于

4.删除数据

like 关键字 %用法 在前面后面都有,包含即可;在前面,以什么结尾;在后面,以什么开头;占位符 LIKE“__” 下划线的长度决定了字符的长度;

练习:

查询grade在70分到109之间

select * from grades where grade>=70 and grade<=100;

聚合函数

在一个行的聚合上进行操作,对每个组给出一个结果。–也叫组函数

max 最大值

min 最小值

sum 求和

s

AVG 平均数

count 统计/计数

MySQL排序

关键字 order by排序

  • 升序

    SELECT * FROM student ORDER BY id ASC;
    
  • 倒序

    SELECT * FROM student ORDER BY id DESC;
    

    关键字 group by 分组

    SELECT id, name,adress  from student  GROUP BY adress;
    

    排序过滤 having

  • 去重复 distinct

    SELECT DISTINCT(address) FROM student;
    
  • 关键字limit

    SELECT * FROM student LIMIT 10;
    

多表查询

多表查询(不推荐)

SELECT * from student,grades;

笛卡尔积

概念:是指两个集合的乘积。又一个叫法直积

连接查询

内连接
  • 隐式内连接
SELECT * FROM student,grades WHERE student.id=grades.id;
SELECT * from student s,grades g where s.id=g.id;
SELECT s.id,s.username,g.subject,g.grade FROM student s,grades g WHERE s.id=g.id;

student s,grades g这是别名

  • 显示内连接
SELECT * from student inner join grades on student.id=grades.id;
SELECT * from student s inner join grades g on s.id=g.id;
SELECT s.id,s.username,s.address,g.subject,g.grade FROM student s inner join grades g on s.id=g.id;
外连接
  • 左外连接
SELECT s.id,s.username,s.address,g.subject,g.grade FROM student s left join grades g on s.id=g.id;
SELECT s.id,s.username,s.address,g.subject,g.grade FROM student s left outer join grades g on s.id=g.id;
  • 右外连接
select s.id, s.name, g.course,g.grades from student s  right join  grades g on s.id=g.id;
select s.id,s.name,s.address,g.subject,g.grade from student s left join grade g on s.id=g.id;

练习

1、 查询Student表中的所有记录的Sname、Ssex和Class列 
2、 查询教师所有的单位即不重复的Depart列。 
3、 查询Student表的所有记录。 
4、 查询Score表中成绩在60到80之间的所有记录。 
5、 查询Score表中成绩为85,86或88的记录。 
6、 查询Student表中“95031”班或性别为“女”的同学记录。 
7、 以Class降序查询Student表的所有记录。 
8、 以Cno升序、Degree降序查询Score表的所有记录。 
9、 查询“95031”班的学生人数。 
10、查询Score表中的最高分的学生学号和课程号。(有难度) 
11、查询每门课的平均成绩。 
12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。(有难度) 
13、查询分数大于70,小于90的Sno列。 
14、查询所有学生的Sname、Cno和Degree列。(多表关联) 
15、查询所有学生的Sno、Cname和Degree列。(多表关联) 
16、查询所有学生的Sname、Cname和Degree列。(多表关联)

1、 查询Student表中的所有记录的Sname、Ssex和Class列 
2、 查询教师所有的单位即不重复的Depart列。 
3、 查询Student表的所有记录。 
4、 查询Score表中成绩在60到80之间的所有记录。 
5、 查询Score表中成绩为85,86或88的记录。 
6、 查询Student表中“95031”班或性别为“女”的同学记录。 
7、 以Class降序查询Student表的所有记录。 
8、 以Cno升序、Degree降序查询Score表的所有记录。 
9、 查询“95031”班的学生人数。 
10、查询Score表中的最高分的学生学号和课程号。(有难度) 
11、查询每门课的平均成绩。 
12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。(有难度) 
13、查询分数大于70,小于90的Sno列。 
14、查询所有学生的Sname、Cno和Degree列。(多表关联) 
15、查询所有学生的Sno、Cname和Degree列。(多表关联) 
16、查询所有学生的Sname、Cname和Degree列。(多表关联) 
17、查询“95033”班学生的平均分。 
18、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。(有难度) 
19、查询选修某课程的同学人数多于5人的教师姓名。(有难度)(多表关联) 
20、查询95033班和95031班全体学生的记录。 21、查询存在有85分以上成绩的课程Cno. 
22、查询出“计算机系“教师所教课程的成绩表。(有难度)(多表关联) 23、查询至少有2名男生的班号。
24、查询Student表中不姓“王”的同学记录。 
25、以班号和年龄从大到小的顺序查询Student表中的全部记录。 
26、查询“男”教师及其所上的课程。(多表关联)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值