MySQL从入门到精通17认证网

正规官方授权
更专业・更权威

MySQL从入门到精通

— WORK SUMMARY —

数据库

王惠琴

01

什么是数据库?

数据库(database)是用来组织、存储和管理数据的仓库。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。

02

 常见数据库

— WORK SUMMARY —

图片
01

MySQL

图片
数据库,目前使用最广泛、流行度最高的开源免费数据库  (甲骨文)

02

Oracle

数据库,收费   (甲骨文)

03

SQL Server

数据库,收费   (微软)

以上三种属于传统型数据库,又叫做:关系型数据库 ,这三者的设计理念相同,用法比较类似。

形式上数据表示方式了相似(以表的形式存在)

03

存储数据的方式

— WORK SUMMARY —

存储数据的方式指的就是数据以什么样的结构进行存储。。

3.1 传统物质分类

整理前:

图片
整理后:

图片
3.2excel分类

以上三种属于传统型数据库,又叫做:关系型数据库 ,这三者的设计理念相同,用法比较类似。

形式上数据表示方式了相似(以表的形式存在)

04

SQL查询语言

— WORK SUMMARY —

1. 简介:

SQL(英文全称:Structured Query Language)是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库中表里面的数据。

2. SQL语句特点:

注意:mysql、Oracle、Sql Server它们特点基本相似,而且它们的编程都是sql。都可以用sql语句管理 数据库。

sql语言不区分大小写。比如:SELECT和select是等价的。但是:有具体含义的单词命令官方建议用大写,自己起的名字用小写。  username, age

3. SQL能做什么:

创建数据库、数据表。CREATE DATABASE /  CREATE TABLE

更多的是对表中数据进行 增、删、改、查。

4. SQL的主要内容:

主句:select 查、insert into增、update改 、delete  删

子句:where(and 和 or) 、order by 、group by 、limit、join…on

5. 增删改查

5.1

 添加数据

INSERT INTO 表名 ( column1,column2,… ) VALUES ( value1,value2,value2,…. )

— 如果value的值是字符串则必须加 引号

— 添加 唐唐到student表中

INSERT INTO student (姓名,性别,年龄,专业,teacherId,成绩) VALUES (‘唐唐’,1,30,’网络安全’,1010,82)

5.2

 删除数据

DELETE FROM 表名 [WHERE 条件]

— 注意:不加条件全删除,很危险

— DELETE FROM student

— 删除id为6的数据

DELETE FROM student WHERE id=6

5.3

更新数据

UPDATE 表名 SET column1 = value1,column2 = value2 ,… [WHERE 条件]

— id为2的这条数据的 专业改为网络安全 把成绩改为88

UPDATE student set 专业=’网络安全’,成绩=88 WHERE id =2

5.4

查询数据

SELECT * FROM 表名   — *代表所有的列信息都展示

SELECT column1,column2,… FROM xuesheng  — 只展示某些列信息

#1.查询所有字段

#SELECT * from student

#2.查询 姓名,专业,老师三个字段的数据

#SELECT 姓名,专业,老师 from student

#3.查询 id为3的这个学生所有字段信息

#SELECT * from student WHERE id=3

#4.查询id为2这个学生的 姓名  年龄  专业 老师 这四个字段的信息

SELECT 姓名,年龄,专业,老师 from student WHERE id=2

6、其它子句

6.1

 where 条件

运算符

描述

=    等于

!=  或者 <>    不等于

>    大于

<    小于

>=    大于等于

<=    小于等于

BETWEEN … AND    在某个范围内

LIKE    搜索某种模式

AND、OR    交集、并集

可以应用在 SELECT UPDATE DELETE 语句当中。

主句 WHERE column = VALUE

— 查询年龄大于25

— SELECT * FROM student WHERE age > 25

主句 WHERE column  BETWEEN  VALUE1 AND VALUE2  — 两边的区间是包含的

— 年龄为20-25之间的学生

SELECT * FROM student WHERE age BETWEEN 20 AND 25

— AND 和 OR

— 年龄大于20 且 性别为1:男

SELECT * FROM student WHERE age > 20 AND sex = 1

— %  占位(可有可无的任意字符串)

主句 WHERE column LIKE ‘a%’  — 在某个列中查询以a为开头的数据

主句 WHERE column LIKE ‘%a’ —  在某个列中查询以a为结尾的数据

主句 WHERE column LIKE ‘%a%’ — 在某个列中查询以含有a的数据

— 查询以姓名为  a开头的数据

— SELECT * FROM student WHERE uname LIKE ‘a%’

— 查询以姓名为  a结尾的数据

— SELECT * FROM student WHERE uname LIKE ‘%a’

— 查询以姓名中包含a的数据

— SELECT * FROM student WHERE uname LIKE ‘%a%’

6.2

order by排序

主句 ORDER BY column [ ASC | DESC ]

— ASC 升序  默认升序

— DESC 倒序

— 按照年龄进行升序

— SELECT * FROM student  — 默认不排序

— SELECT * FROM student ORDER BY age

— SELECT * FROM student ORDER BY age ASC

SELECT * FROM student ORDER BY age DESC — 按照年龄进行倒序

6.3

group by分组查询(聚合查询)

SELECT *[,聚合函数] FROM 表名 [GROUP BY 字段]

— 按照性别分组,统计人数(条数)

— SELECT *,COUNT(*) FROM student GROUP BY sex

— 别名的概念 AS 别名

— SELECT *,COUNT(*) AS 统计人数 FROM student GROUP BY sex

— 按照性别分组,查询谁最年长

SELECT sex,MAX(age) FROM student GROUP BY sex

按照性别分组、按年龄、按成绩划分。进行统计相应的数据(总数量,最小值,最大值,平均值,求和)

以下为常用的聚合函数

count(*)  总数量

min(字段名) 最小

max(字段名) 最大

avg(字段名)  平均

sum(字段名) 求和

别名:

— 别名的概念 AS 别名

SELECT *,COUNT(*) AS t FROM student GROUP BY sex

6.4

limit

SELECT * FROM 表名 [ LIMIT [开始下标,]长度 ]

— 读取2条数据

— LIMIT 2  取2条

— LIMIT 2,3 从索引为2的位置取3条

— SELECT * FROM student LIMIT 2 — 取2条

SELECT * FROM student LIMIT 1,2 — 从索引为1的位置取2条

灵魂子句。以后在使用SELECT 的时候,如果是获取一组数组,一定要用上LIMIT。

size:取几条

start: 下标,从哪几个位置开始取

分页原理公式:

如果每页3条,共10条

let pageSize = 3

let totalRow = 10

let totalPage = Math.ceil(totalRow/pageSize)  => 4

let page = 1 //当前的页码

第1页: LIMIT 0,pageSize    0=(page-1)*pageSize

第2页: LIMIT 3,pageSize    3=(page-1)*pageSize

第3页: LIMIT 6,pageSize    6=(page-1)*pageSize

6.5

join连表查询

SELECT * FROM 表1 JOIN 表2 ON 连接条件   — 全连接。 只有on后面的条件成立才会连接。

SELECT * FROM 表1 LEFT JOIN 表2 ON 连接条件 — 左连接  以左表为基准,左表的数据都会显示

SELECT * FROM 表1 RIGHT JOIN 表2 ON 连接条件 — 右连接  以右表为基准,右表的数据都会显示

— SELECT * FROM student JOIN teacher ON tid = teacherId

— SELECT * FROM student LEFT  JOIN teacher ON tid = teacherId

— SELECT * FROM student RIGHT  JOIN teacher ON tid = teacherId

想了解更多干货,可通过下方扫码关注

可扫码添加上智启元官方客服微信👇

未经允许不得转载:17认证网 » MySQL从入门到精通
分享到:0

评论已关闭。

400-663-6632
咨询老师
咨询老师
咨询老师