【MySQL】MySQL基础知识复习(上)

前言

本篇博客将复习MySQL的基础知识,及着重复习CRUD(增删查改)操作。

目录

一.MySQL数据库基础知识

1.数据库操作

1.1显示当前的数据库

[1.2 创建数据库](#1.2 创建数据库)

[1.3 使用数据库](#1.3 使用数据库)

[1.4 删除数据库](#1.4 删除数据库)

2.数据类型

2.1.数字类型

2.2字符串类型

2.3日期类型

3.数据库表操作

3.1查看表

3.2创建表

3.3查看表结构

3.4删除表

二.CRUD(重点)

1.新增(Create)

2.查询(Retrieve))

2.1全列查询

2.2指定列查询

2.3查询字段为表达式

2.4别名

2.5去重查询:DISTINCT

[2.6排序查询:ORDER BY](#2.6排序查询:ORDER BY)

2.7条件查询(重要)

2.8分页查询:LIMIT

三.修改(Update)

四.删除(Delete)​​​​​​​


一.MySQL数据库基础知识

1.数据库操作

1.1显示当前的数据库

sql 复制代码
SHOW DATABASES;

1.2 创建数据库

语法:

sql 复制代码
CREATE DATABASE 数据库名;

示例,创建一个名为test的数据库

sql 复制代码
create database test;

此时,显示数据库,我们将看到刚才所创建的数据库

1.3 使用数据库

sql 复制代码
USE 数据库名

1.4 删除数据库

注:删除数据库是个高危操作

语法:

sql 复制代码
 DROP DATABASE 数据库名;

数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

2.数据类型

2.1.数字类型

分为整型和浮点型:

2.2字符串类型

上述字符串类型中,我们最常用的为VARCHAR()类型,也是最推荐使用的类型。

VARCHAR()与存储的都是文本数据类型

BLOB存储的为二进制类型,若要存储图片,视频,音频等,可用BLOB

2.3日期类型


上述数据类型看似多,但有些已经被淘汰,我们只需重点掌握以下几个数据类型即可:

1)int

2)bigint

3)double

4)decimal

5)varchar

6)datetime

3.数据库表操作

在进行数据库表操作前,我们应进入已有的数据库中,例如:

3.1查看表

查看当前数据库下,有多少个表

sql 复制代码
show tables;

由于此数据库为刚创建的,未创建任何的表,所以返回Empty set。

3.2创建表

sql 复制代码
CREATE TABLE 表名(列名 类型,列名 类型, 列名 类型,.....);

例如:创建一个简易学生表

3.3查看表结构

sql 复制代码
 desc 表名;

可以查看到有哪些列,每个列是什么样的,不能看到表里的内容。

3.4删除表

sql 复制代码
DROP TABLE 表名;

注:删表操作与删库操作一样都是高危操作,且删表操作比删库操作隐蔽性更强,造成的损失可能会更大。

二.CRUD(重点)

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写

1.新增(Create)

语法:

sql 复制代码
insert into 表名 values(值,值,值.....)  这里的个数和表结构要匹配

增加可一次增加一行数据,也可以一次性增加多行数据。

语法:

sql 复制代码
insert into 表名 values(值,值,值.....) ,(值,值,值.....),(值,值,值.....);

我们也可以指定一个要插入的值,其他未指定的则会设为空(NULL)

sql 复制代码
insert into 表名(列名) values(值);

例如:

2.查询(Retrieve)

2.1全列查询

查询出这个表中的所有的行和所有的列

sql 复制代码
select * from 表名;

*称为通配符,指代所有的列

2.2指定列查询

查询的时候手动指定列名,得到结果就是与列名相关联的。

sql 复制代码
select 列名,列名......from 表名;

2.3查询字段为表达式

新建一个表,方便观察。

表达式可以对表中数据进行处理后查询

例如:查询每个人english成绩+10后的结果

注:这样的结果只是数据库生成的临时表,数据库中的数据并没有改变

2.4别名

如果查询的表达式简单,我们可以一眼看明白。

如果表达式比较复杂,就无法直观的观察了。

此时就可以给表达式起别名,别名就是查询结构的列名。

sql 复制代码
select 列名 as 别名 from 表名;

例如:

注:as可以省略

2.5去重查询:DISTINCT

多行的数据可能会出现有重复的,去重后只会保留一份

语法:

sql 复制代码
select distinct 列名 from 表名;

2.6排序查询:ORDER BY

ORDER BY默认为升序排列

语法:

sql 复制代码
select ....from 表名 order by 列名;

例如:以语文成绩为准进行排序

若需要降序排序,在order by后面的列中加入desc关键字,即可降序排序

order by也可以指定多个列来进行排序,多个列间先按照第一列来排序,若第一列相同则根据第二列进行排序

2.7条件查询(重要)

查询过程中指定筛选条件,满足条件的记录保留,不满足的排除。

语法:

sql 复制代码
select 列名 from 表名 where 条件;

例1:查询英语不及格的同学及英语成绩 ( < 60 )

例2:查询语文成绩好于英语成绩的同学

例3:查询总分在 200 分以下的同学

模糊查询:LIKE

不要求完全相等,只要满足一定条件即可查询,需搭配通配符来描述条件

% 匹配任意多个(包括 0 个)字符

_ 匹配严格的一个任意字符

例如:查询以孙为开头的同学信息

2.8分页查询:LIMIT

limit可以用来限制查询的个数,防止因查询的数据过于庞大导致机器挂掉

语法:

sql 复制代码
从 0 开始,筛选 n 条结果
select *from 表名 limit n;
sql 复制代码
从 s 开始,筛选 n 条结果
select * from 表名 limit s,n;
sql 复制代码
 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用

select * from 表名 limit n offset s;

例如:

三.修改(Update)

语法:

sql 复制代码
update 表名 set 列名=值,列名=值,......;

例如:将孙悟空同学的数学成绩变更为 80 分

四.删除(Delete)

sql 复制代码
DELETE FROM  表名 [WHERE ...] [ORDER BY ...] [LIMIT ...]

注:删除操作是一个危险操作,如果不加限制,会直接将表的全部数据删除。

例:删除孙悟空同学的数据


以上便是全部内容,如有不对,欢迎指正

相关推荐
Yz98766 分钟前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
武子康12 分钟前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
黑色叉腰丶大魔王17 分钟前
《MySQL 数据库备份与恢复》
mysql
苏-言18 分钟前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
Ljw...24 分钟前
索引(MySQL)
数据库·mysql·索引
菠萝咕噜肉i38 分钟前
超详细:Redis分布式锁
数据库·redis·分布式·缓存·分布式锁
长风清留扬41 分钟前
一篇文章了解何为 “大数据治理“ 理论与实践
大数据·数据库·面试·数据治理
OpsEye1 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
Ljw...1 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
远歌已逝4 小时前
维护在线重做日志(二)
数据库·oracle