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来确定条件。
此外还有左连接右连接等,在此不做过多演示,大体意思是一样的,想了解的可以自己上网搜索资料。