1. 安装

到官网进行安装。点击MySQL Installer for Windows下载安装包后一直next即可。

  1. 启动与停止

mysql开机默认启动。

在win+R运行services.msc,找到mysql右键操作。

在cmd中运行net start mysql80、net stop mysql80进行启动与停止。

  1. 客户端连接

方式一:直接使用mysql提供的命令行进行连接。开始找到MySQL Command Line Client-Unicode,进去输入密码操作。

方式二:先配置PATH环境变量C:\Program Files\MySQL\MySQL Server 8.0\bin。在任意cmd输入mysql -u root -p,输入密码操作。

  1. MySQL数据库的好处

关系型数据库RDBMS,建立在关系模型基础上,由多张相互连接的二维表组成的数据库。格式统一,便于维护,使用SQL语言操作,使用方便。数据模型是数据库,可以创建多个表。

  1. SQL

(1) SQL通用语法

image-20220608212631284

(2) SQL分类

image-20220608231123489

(3) DDL

​ 查询数据库

1
2
show databases;
select database();# 查询当前数据库

​ 如果创建了同样名称的数据库会报错。一般使用以下指令创建。

1
create database if not exists;

​ 在创建数据库的时候可以指定字符集。utf8只占有三个字节,而某些数据会占据四个字节,因此一般设置为utf8mb4

1
create database if not exists default charset utf8mb4;

​ 删除数据库 删除不存在的数据库同样会报错,因此使用以下指令进行删除

1
DROP database IF EXISTS databaseName;

​ 数据库使用

1
USE databaseName;

​ 表创建

  • 数据类型quality

​ 1)数值类型

image-20220609124851766

​ 定义float和double类型时,需要两个参数。如score double(4, 1)代表4个长度,最多1位小数。

​ 定义无符号时应该是 age TINYINT UNSIGNED;,unsigned放在数据类型后面。

​ 2) 字符串类型

image-20220609125257798

​ sql中字符串为varchar(size),size是字符串的长度。一旦超出size会报错。varchar会动态占用内存,而char不管多大都必定占用size内存。但是char性能更高。

​ 例如用户名适合用varchar,性别适合用char。

​ 3) 日期类型

image-20220609125639480

birthday date;

注意最后一个字段没有逗号。

1
2
3
4
5
CREATE TABLE tableName(
字段1 字段1类型 COMMENT “字段1注释”,
...
字段n 字段n类型 COMMENT “字段n注释”
)COMMENT “表注释”;

​ 查询当前数据库所有表,需要先用use指令进入数据库。

1
SHOW TABLES;

​ 查询表结构

1
DESC databaseName;

​ 查询指定表的建表语句,用于展示详细注释

1
SHOW CREATE TABLE databaseName;
  • 案例

image-20220609130454987

​ 表修改

1)添加字段

1
ALTER TABLE tableName ADD fieldName quality COMMENT “注释” 约束;

image-20220612192330899

​ 2) 修改数据类型

1
ALTER TABLE tableName MDOIFY fieldName newQuality(size);

​ 3) 修改字段名和字段类型

1
ALTER TABLE tableName CHANGE oldTableName newTableName quality(size) COMMENT "注释" 约束;

image-20220613164607169

​ 4) 删除字段

1
ALTER TABLE tableName DROP filedName;

​ 5) 修改表名

1
ALTER TABLE tableName RENAME TO newTableName;

image-20220613164847531

​ 6) 删除表

1
DROP TABLE IF EXISTS tableName;

​ 7) 删除指定表,并重新创建空的表结构

1
TRUNCATE TABLE tableName;
  1. 图形化工具DataGrip

进入后点击左上角加号,新增mysql Data Sources ,配置文件。user填root,密码随便设置,确认后下载驱动文件。

​ 1) 创建数据库

右键 new 选择schema,填写名字。

 2)新建表

右键数据库 创建表,填写名字和注释信息。在colums中创建字段。点击execute。

​ 3)修改表

右键数据库 modify table

​ 4)使用sql语句操作

右键 new quary console

​ (4)DML 增删改操作

image-20220618161047205

image-20220618161121394

image-20220618161328719

如果没有where条件,会修改所有数据。

image-20220618161853602

(5)DQL 查操作 关键字:SELECT

1)基础查询

image-20220618162123361

查询可以起别名。SELECT … as ‘ ,,, ‘ from …;其中as可以省略。

查询如果不要重复,可以在select后加distinct关键字。

image-20220618163140955

image-20220618163247041

image-20220618163307080

  • 聚合函数

image-20220618163412171

count不会统计null,最好采用count(*)

2) 分组查询

image-20220618163708910

image-20220618163846266

image-20220618163948066

3) 排序查询

image-20220618164045538

如果是多字段排序,字段一 一样时才会用第二种排序

4) 分页查询

image-20220618164338732

  • 编写顺序与执行顺序

image-20220618164904815

(6)DCL 管理数据库用户、控制数据库访问权限

1) 用户

image-20220618165210119

image-20220618165444310

2) 权限

image-20220618165522969

image-20220618165546535

主机名可以用’%’通配,表名用’*’通配。

  1. 函数 mysql内置了函数。select 函数名();

(1)字符串函数

image-20220618165858267

(2)数值函数

image-20220618170006506

(3)日期函数

image-20220618170109965

type填写YEAR、MONTH、DAY

(4)流程函数

image-20220618170305620

image-20220618170413188

  1. 约束 保证数据的正确性和完整性

image-20220618170648105

image-20220618170843417

image-20220618171037126

尽管没有插入成功,数据也会向mysql申请主键。

在可视化创建数据的时候可以直接勾选。

  • 外键关联 表之间的联系

image-20220618171436873

image-20220618171631373

image-20220618171705691

image-20220618171815398

  1. 事务 要么全部成功,要么全部失败

    方式一

image-20220618172507776

​ 方式二

image-20220618172801474

  • 事务的四大特性

image-20220618172956835

  • 并发事务问题

image-20220618173159379

解决方法:事务的隔离级别

image-20220618173605287

python 3中运行pip install Mysqlclient, 通过import MySQLdb来建立数据库的连接。