配置

  • 安装好MySQL后进入文件夹的bin目录,复制文件路径添加到环境变量中

  • 要在VScode中使用,需要下载MySQL插件,创建与服务器的连接,输入密码后即可连接成功

  • 点击添加New Database后会打开一个sql文件,对数据库的操作都会在里面执行

基本操作

添加数据库/表格/数据

要添加数据库要用CREATE DATABASE关键字

  • 一般情况下关键字不区分大小写,但为表区分一般用大写
1
2
CREATE DATABASE basename;
DEFAULT CHARACTER SET = 'utf8mb4'; // 设置默认字符集为utf8mb4

添加表格前使用USE name来声明添加到哪个数据库,用CREATE TABLE关键字,格式为CREATE TABLE name();,其中括号内填入表格的各个列

每列的格式为列名,数据类型,也可设置默认条件例如NULL默认为空,NOT NULL不为空,AUTO_INCREMENT自动递增,其中PRIMARY KEY用来唯一标识数据库表每一行数据的一列数据,该列元素不能相同,且值不能为空

VERCHAR(n)表示最大长度为n的字符串,DATE表示日期,格式为YYYY-MM-DD

1
2
3
4
5
6
USE basename;
CREATE TABLE stu (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCAHR (20) NOT NULL,
birthday DATE NULL
);

添加数据也需要使用USE name声明数据库,格式为INSERT INTO 数据库名.表格名 (列名1, 列名2)``VALUES(值1, 值2),其中数据库名可省略

1
2
INSERT INTO test.stu (id, name, birthday)
VALUES (0, 'MNCLI', '2000-00-01');

列名可以省略,只输入value

1
2
INSERT INTO test.stu 
VALUES (DEFAULT, 'MNCLI', NULL);

修改表格结构/数据

为表格添加列,添加名为gender类型为字符串默认为空的一列

1
2
ALTER TABLE test.stu  // 格式与插入类似
ADD gender VARCHAR(10) NULL;

更新表格数据,设置id为1的gender为男

1
2
3
UPDATE test.stu
SET gender = '男'
WHERE id = 1;

删除数据

删除元素需要定位表格名以及标识符

1
2
DELETE FROM test.stu
WHERE id = 3;

删除表格

1
DROP TABLE test.stu

删除数据库

1
DROP DATABASE test

查找数据

使用SELECTFROM进行查找,SELECT * / name1,name2星号表示所有行,执行后即可看到表格数据

可在SELECT后加上DISTINCT关键词来去重

1
2
SELECT id, name
FROM stu;

也可对查找的数据进行排序,其中ASC表示从小到大排序,DESC表示从大到小

1
2
3
SELECT *
FROM stu
ORDER BY id ASC;

要进行过滤需要在FROM语句后添加WHERE 条件,还要与运算符搭配,WHERE语句要位于ORDER之前

使用方法

1
WHERE NOT id > 1 AND id < 10
1
WHERE id BETWEEN 1 AND 10
1
WHERE name IN ('AAA', 'BBB')
1
WHERE name LIKE '__A%'  /* 查找第三个字符为A的名字,下划线表示任意字符 */

合并表格INNER JOIN来进行交集合并,还需要用ON确定合并的条件

1
2
3
4
SELECT *
FROM stu1
INNER JOIN stu2 // 确定要与哪个表格合并
ON stu1.name = stu2.name; // 当名字相同时进行合并

并集合并将两个表格里的数据一上一下地放在一起,默认不会有重复值,加上ALL关键字则会有

1
2
3
4
5
SELECT name
FROM stu1
UNION ALL
SELECT name
FROM stu2;

左连接LEFT JOIN时会保留左边表格所有数据,再把右边表格符合条件的数据合并过来,也可用AS关键字表示简写,右连接RIGHT JOIN同理

1
2
3
4
SELECT *
FROM stu1 AS M
LEFT JOIN stu2 AS N
ON M.name = N.name