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来确定条件。

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

相关推荐
Ai 编码助手1 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员2 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle2 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻2 小时前
MySQL排序查询
数据库·mysql
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^2 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋32 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神2 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师2 小时前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据2 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫