【YushenFeb】MySQL基础

【YushenFeb】MySQL基础_第1张图片

MySQL基础目录

  • MySQL概述
  • SQL
  • 函数
  • 约束
  • 多表查询
  • 事务

基础篇学习目标

成为初级MySQL工程师,解决大部分业务功能开发问题。

MySQL概述

1.数据库相关概念
2.MySQL数据库

数据库相关概念

名称 全称 简称
数据库 存储数据的仓库,数据是有组织的进行存储 DataBase(DB)
数据库管理系统 操纵和管理数据库的大型软件 DataBase Management System(DBMS)
SQL 操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准 Structured Query Language(SQL)
  • 主流的关系型数据库管理系统
    Oracle
    MySQL
    Microsoft SQL Server
    ...

总结

  1. 数据库
    数据存储的仓库
  2. 数据库管理系统
    操纵和管理数据库的大型软件
  3. SQL
    操作关系型数据库的编程语言,是一套标准

MySQL数据库

安装

  • 社区版(MySQL Community Server)免费,MySQL不提供任何技术支持
  • 商业版(MySQL Enterprise Edition)收费,可以免费试用30天,官方提供技术支持

本教程采用MySQL的社区版本(MySQL Community Server 8.0.26)

启动与停止

  • 启动

    net start mysql80
  • 停止

    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]

总结

  1. MySQL下载及安装
    MySQL社区版
  2. MySQL启动与停止

    net start mysql80
    net stop mysql80
  3. MySQL客户端连接

    MySQL自带的客户端命令行
    mysql [-h 127.0.0.1] [-P 3306] -u root -p
  4. MySQL数据模型
    客户端-DBMS-数据库-表

SQL

  1. MySQL图形化界面
  2. SQL通用语法
  3. SQL分类
  4. DDL数据定义语言
  5. DML数据操作语言
  6. DQL数据查询语言
  7. DCL数据控制语言

MySQL图形化界面

  • Sqlyog
  • Navicat
  • DataGrip

SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. SQL语句可以使用空格/缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  4. 注释:
    单行注释:--注释内容 或 #注释内容(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中的数据有很多,主要分为三类:

  1. 数值类型
    【YushenFeb】MySQL基础_第2张图片
  2. 字符串类型
    【YushenFeb】MySQL基础_第3张图片

Tips:
1.CHAR性能优于VARCHAR

  1. 日期时间类型
    【YushenFeb】MySQL基础_第4张图片

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.在删除表时,表中的数据将被全部删除

总结

  1. DDL-数据库操作

    SHOW DATABASES;
    CREATE DATABASE 数据库名;
    USE 数据库名;
    SELECT DATABASE();
    DROP DATABASE 数据库名;
  2. 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.插入的数据大小,应该在字段的规定范围内

DML-修改数据

你可能感兴趣的:(mysql)