【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 ...]

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

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


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

相关推荐
Lojarro1 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
梦想平凡2 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
TianyaOAO2 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong2 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
码农老起2 小时前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化
夏木~3 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle
W21553 小时前
Liunx下MySQL:表的约束
数据库·mysql
黄名富4 小时前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
java·数据库·redis·lua
言、雲4 小时前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
一个程序员_zhangzhen4 小时前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver