MySQL基础目录
- MySQL概述
- SQL
- 函数
- 约束
- 多表查询
- 事务
基础篇学习目标
成为初级MySQL工程师,解决大部分业务功能开发问题。
MySQL概述
1.数据库相关概念
2.MySQL数据库
数据库相关概念
名称 | 全称 | 简称 |
---|---|---|
数据库 | 存储数据的仓库,数据是有组织的进行存储 | DataBase(DB) |
数据库管理系统 | 操纵和管理数据库的大型软件 | DataBase Management System(DBMS) |
SQL | 操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准 | Structured Query Language(SQL) |
- 主流的关系型数据库管理系统
Oracle
MySQL
Microsoft SQL Server
...
总结
- 数据库
数据存储的仓库 - 数据库管理系统
操纵和管理数据库的大型软件 - SQL
操作关系型数据库的编程语言,是一套标准
MySQL数据库
安装
- 社区版(MySQL Community Server)免费,MySQL不提供任何技术支持
- 商业版(MySQL Enterprise Edition)收费,可以免费试用30天,官方提供技术支持
本教程采用MySQL的社区版本(MySQL Community Server 8.0.26)
启动与停止
启动
停止
net stop mysql80
Tips:
1.mysql80为安装MySQL时注册的Windows系统服务名称
2.默认mysql是开机自动启动
客户端连接
- 方式一:MySQL提供的客户端命令行工具
方法二:系统自带的命令行工具执行指令
mysql [-h 127.0.0.1] [-P 3306] -u root -p
Tips:
1.默认为本机IP的3306端口
2.-u以root用户连接,-p为输入密码
3.使用这种方式时,需要配置PATH环境变量
关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
特点:
1.使用表存储数据,格式统一,便于维护
2.使用SQL语言操作,标准统一,使用方便
数据模型
graph TD
A[客户端] --> |连接| B(数据库管理系统DBMS)
B --> C(通过SQL语句使用DBMS创建数据库或在指定数据库中创建表)
C --> |SQL| D[数据库1]
C --> |SQL| E[数据库2]
C --> |SQL| F[数据库3]
D --> |SQL| G1[表1-1]
D --> |SQL| G2[表1-2]
E --> |SQL| G3[表2-1]
E --> |SQL| G4[表2-2]
F --> |SQL| G5[表3-1]
F --> |SQL| G6[表3-2]
总结
- MySQL下载及安装
MySQL社区版 MySQL启动与停止
net start mysql80 net stop mysql80
MySQL客户端连接
MySQL自带的客户端命令行 mysql [-h 127.0.0.1] [-P 3306] -u root -p
- MySQL数据模型
客户端-DBMS-数据库-表
SQL
- MySQL图形化界面
- SQL通用语法
- SQL分类
- DDL数据定义语言
- DML数据操作语言
- DQL数据查询语言
- DCL数据控制语言
MySQL图形化界面
- Sqlyog
- Navicat
- DataGrip
SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾。
- SQL语句可以使用空格/缩进来增强语句的可读性。
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 注释:
单行注释:--注释内容 或 #注释内容(MySQL特有)
多行注释:/* 注释内容 */
SQL分类
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
DDL数据定义语言
DDL-数据库操作
查询
查询所有数据库SHOW DATABASES;
查询当前数据库
SELECT DATABASE;
创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
删除
DROP DATABASE [IF EXISTS] 数据库名;
使用
USE 数据库名;
DDL-表操作-创建
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],
...
字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];
Tips:
1.[...]为可选参数
2.最后一个字段后无逗号
DDL-表操作-查询
查询当前数据库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询制定表的建表语句
SHOW CREATE TABLE 表名;
DDL-表操作-数据类型
MySQL中的数据有很多,主要分为三类:
Tips:
1.CHAR性能优于VARCHAR
DDL-表操作-修改
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
删除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME 新表名;
删除表
DROP TABLE [IF EXISTS] 表名;
删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
Tips:
1.在删除表时,表中的数据将被全部删除
总结
DDL-数据库操作
SHOW DATABASES; CREATE DATABASE 数据库名; USE 数据库名; SELECT DATABASE(); DROP DATABASE 数据库名;
DDL-表操作
SHOW TABLES; CREATE TABLE 表名(字段 字段类型,字段 字段类型); DESC 表名; SHOW CREATE TABLE 表名; ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO...; DROP TABLE 表名;
DML数据操作语言
DML-介绍
DML英文全称是(Data Manipulation Language),用来对数据库中标的数据记录进行增删改操作。
添加数据
INSERT
修改数据
UPDATE
删除数据
DELETE
DML-添加数据
给指定字段添加数据
INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...);
给全部字段添加数据
INSERT INTO 表名 VALUES (值1,值2,...);
批量添加数据
INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...); INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);
Tips:
1.插入数据时,指定的字段顺序需要与值的顺序是一一对应的
2.字符串和日期型数据应该包含在引号中
3.插入的数据大小,应该在字段的规定范围内