SQL核心基础语法—快速入门MySQL

1.MySQL简介

MySQL其实是DBMS软件系统,也就是说MySQL并不是一个数据库,这是很多人的误区。我们经常听到的Oracle,MySQL,微软SQL Server,都是DBMS软件系统,我们只是通过这些系统来管理和维护数据库而已,DBMS相当于用户和数据库之间的桥梁。

目前有超过300种不同的DBMS系统,我们今天要学习的MySQL是关系型数据库,关系型数据库的数据存储模型很像Excel,用行和列组织数据。

操作关系型的DBMS系统,大多数都是用SQL来管理数据,学会了SQL,就相当于学会了这些DBMS的核心。

2.SQL简介

MySQL是可以管理多个数据库的,这些数据库肯定是要存放在某台主机上的,可以是自己的电脑,也可以是服务器上,因此数据库往上一级就是服务器,在现实当中有些服务器就专门用来作为数据库的,每台服务器还可以有多个数据库,在MySQL里的数据库被称为Schema

我们可以将MySQL想象成Excel,那么数据库就是不同的xls文件,其中数据库里可以有不同的table,相当于excel里的不同标签。

3.增:连接/数据库/表格

创建数据库使用 CREATE DATABASE 后面加上数据库名

在一般情况下,Windows和MacOS里的MySQL是不区分大小写的。(但CREATE DATEBASE是关键字,所以一般大写与其他作区分)

在创建好数据库后使用 CREATE TABLE 表格名

复制代码
CREATE TABLE MyTable (
   Lie1 INT,
   Lie2 VARCHAR(),
   Lie3 DATE
);

与创建数据库不同的是,我们需要为表格设置列名,相当于Excel里的表头,还要设置每列的数据类型,如整数,字符串等,使用时候要用括号来限定字符个数。注意我们需要用逗号来隔开不同列。

除了数据类型外,我们还可以设置一些其他限制,比如 NOT NULL非空,这样就保证了我们后期增加数据的时候如果不输入内容就会出错;同理可以输入NULL,表示可以为空,如果不输入就是默认值;以及AUTO_INCREMENT,可以帮我们自动递增数字等等。

此外,我们还会设置PRIMARY KEY进行主键约束,虽然不设置也不会报错,但后续工作要求我们设置一个主键以便更好的找到对应表。

复制代码
UES text;

CREAT TABLE APP_record (
   id INT PRIMARY KEY AUTO_INCREMENT,
   goods_name VARCHAR(10) NOT NULL,
   sold DATE NULL
);

在初始设置了一个数据库后,我们还可以再向其中插入表格,插入对应的当然是 INSERT INTO 表格名。我们也可能同时插入不同的数据到不同的数据库,可以使用 INSERT INTO 数据库.表格名 来表明插入到哪个数据库的哪个表格里。

复制代码
INSERT INTO text.APP_record (id,goods_name,sold)
VALUES (1,'鸡蛋','2024-07-25');

INSERT INTO text.APP_record
VALUES (2,'鸭蛋','2024-07-25');

INSERT INTO text.APP_record
VALUES (DEFAULT,'松花蛋',NULL);
4.改:更新表格

更新表格可以使用ALTER TABLE,再设置数据类型和默认条件就可以了

复制代码
ALTER TABLE text.APP_record
ADD stock INT NULL;

当我们需要更新数据的时候,就可以使用UPDATE来更新,要更新哪一行的数据就可以使用WHERE来定位,并且加上条件,需要设置具体更新内容,因此还需要用SET来设置具体值。

复制代码
UPDATE text.APP_record
SET sold = '2024-07-26'
WHERE id = 3;
5.删:数据/表格/库

如果要删除某些数据,就可以使用DELETE FORM加上WHERE来进行删除

复制代码
DELETE FIRM text.APP_record
WHERE id = 1;

如果要删除整个表格,我们可以直接使用DROP TABLE,同理如果想要直接删除整个数据库,可以使用DROP DATEBASE。

6.查:选择/去重/排序/过滤

如果要查看全部内容,SELECT后面就跟上星号,并且在FROM后面接上表格的名字,如果要查看某一列的数据,就在SELECT后面接上列名就好了。

在查询到的数据中出现重复数据是正常的,我们可以使用DISTINCT关键字来去重。

如果要使用排序,我们可以使用ORDER BY,如果我们不加任何限定条件,就默认为ASE(从低到高,从小到大)排序,还可以手动加上DESE,表示逆序。

如果要进行数据过滤,就又需要用到WHERE关键字了,放在表格名字后面。

需要注意的是,这里使用WHERE关键字,常常要和各种运算符一起使用

7.查:连接

如果我们要使用交集的方式合并两个表格的数据,我们就要使用INNER JOIN,但是在此请注意,我们表格的哪一行对应另一个表格的哪一行是要确定条件的,因此JOIN还要用ON来确定条件。

此外还有左连接右连接等,在此不做过多演示,大体意思是一样的,想了解的可以自己上网搜索资料。

相关推荐
万行16 分钟前
点评项目(Redis中间件)&第一部分Redis基础
java·数据库·redis·缓存·中间件
SelectDB18 分钟前
Apache Doris 登顶 RTABench —— 实时分析领域的性能王者
数据库·数据分析·开源
用户62799471826219 分钟前
南大通用GBase 8a加载常见错误原因
数据库
咸甜适中21 分钟前
rust语言(1.88.0)sqlite数据库rusqlite库(0.37.0)学习笔记
数据库·rust·sqlite·rusqlite
Jasonakeke30 分钟前
【重学 MySQL】九十二、 MySQL8 密码强度评估与配置指南
android·数据库·mysql
Seven971 小时前
一文带你了解缓存和数据库一致性问题
redis·mysql
heath ceTide1 小时前
第二章从事件驱动到信号
数据库·系统架构
StarRocks_labs1 小时前
欧洲数字化养殖平台 Herdwatch 借力 Iceberg + StarRocks 提升分析能力
数据库·starrocks·iceberg·湖仓一体架构·herdwatch
TDengine (老段)2 小时前
TDengine IDMP 5 个实测场景让监控变简单
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
秋难降2 小时前
零基础学习SQL(九)——存储引擎
前端·sql·mysql