MySQL 基础课程第一天

本文概述了MySQL数据库的基础知识,包括事务处理、索引优化、存储引擎、SQL优化、锁定机制、日志与复制,以及读写分离和分表分库策略。深入讲解了DDL与DML操作,以及DQL的高级查询技巧和权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 基础课程第一天

SQL掌握:事务、索引、存储引擎、SQL优化、锁、日志、主从复制、读写分离、分表分库;
名称简称
数据库DataBase(DB)
数据库管理系统DataBase Management System(DBMS)
结构查询语言SQL

SQL通用语法

DDL-介绍

  • 数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言

  • DDL-数据库操

    1、查询1.1、查询所有的数据库SHOW DATABASES;1.2、查询当前数据库SELECT DATABASES();2、创建CREATE DATABASE [IF NOT EXISTS]数据库名 [DEFAULT CHARSET 字符集][COLLATE 排序规则];3、删除DROP DATABASE[IF EXISTS]数据库名;4、使用USE 数据库名;
  • DDL-表操作-查询

    1、查询当前数据库所有表SHOW TABLES;2、查询表结构DESC 表名;3、查询指定表的建表语句SHOW CREATE TABLE 表名;
  • DDL-表操作-创建

    CREATE TABLE 表名(字段1 字段1类型[COMMENT 字段1注释],字段2 字段2类型[COMMENT 字段2注释],字段3 字段3类型[COMMENT 字段3注释],......,字段n 字段n类型[COMMENT 字段n注释],)[COMMENT 表注释];
  • MySQL数据类型



  • DDL-表操作-修改

    1、添加字段ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释][约束];案例:为emp表添加一个新的字段“昵称” 为 nickname,类型为varchar(20)ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';2、修改数据类型ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);案例:将emp表的nickname 类型修改为 varchar(10)ALTER TABLE emp MODIFY nickname varchar(10);3、修改字段名和字段类型ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释][约束];案例:将emp表的nickname字段修改为username,类型为varchar(30)ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';4、删除字段ALTER 表名 DROP 字段名;案例:将emp表的字段username删除ALTER emp DROP username;5、修改表名ALTER TABLE 表名 RENAME TO 新表名;案例:将emp表的表名修改为employeeALTER TABLE emp RENAME TO employee;
  • DDL-表操作-删除

    1、删除表DROP TABLE [IF EXISTS] 表名;2、删除指定表,并重新创建该表TRUNCATE TABLE 表名;

DML-介绍

  • DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。

    • 添加数据(INSERT)
    • 修改数据(UPDATE)
    • 删除数据(DELETE)
  • DML-添加数据

    1、给指定字段添加数据INSERT INTO 表名(字段名1,字段名2,....)VALUES(值1,值2,....);2、给全部字段赋值INSERT INTO 表名(值1,值2,....);3、批量添加多头数据INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...);注意:插入数据时,指定的字段顺序需要与值的顺序是一一对应的。字符串和日期型数据应该包含在引号中。插入的数据大小,应该在字段的规定范围内。
  • DML-修改数据

    UPDATE 表名 SET 字段1 = 值1,字段2 = 值2,...[WHERE 条件];注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
  • DML-删除数据

    DELETE FROM 表名 [WHERE 条件];

DQL-介绍

  • DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。

    • 查询关键字:SELECT
    • 基本查询
    • 条件查询(WHERE)
    • 聚合查询(count、max、min、avg、sum)
    • 分组查询(GROUP BY)
    • 排序查询(ORDER BY)
    • 分页查询(LIMIT)
  • DQL-语法

    SELECT字段列表FROM表名列表WHERE条件列表GROUP BY分组列表HAVING分组后条件列表ORDER BY排序字段列表LIMIT分页参数
  • DQL-基本查询

    1、查询多个字段SELECT 字段1,字段2,字段3,... FROM 表名;SELECT * FROM 表名;2、设置别名SELECT 字段1[as 别名1],字段2[as 别名2],... FROM 表名;3、去除重复记录SELECT DISTINCT 字段列表 FROM 表名;
  • DQL-条件查询

    1、语法SELECT 字段列表 FROM 表名 WHERE 条件列表;
    • 2、条件

      比较运算符功能
      >大于
      >=大于等于
      <小于
      <=小于等于
      =等于
      <> 或 !=不等于
      BETWEEN....AND....在某个范围之内(含最小值、最大值)
      IN(....)在IN之后的列表中的值,多选一
      LIKE 占位符模糊查询(_匹配单个字符,%匹配任意个字符)
      IS NULL是NULL
      逻辑运算符功能
      AND 或 &&并且(多个条件同时成立)
      OR 或 ||或者(多个条件任意一个成立)
      NOT 或 !非,不是
  • DQL-聚合函数

    1、语法SELECT 聚合函数(字段列表) FROM 表名;注意:null值不参与聚合函数运算。
  • DQL-分组查询

    1、语法SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段 [HAVING 分组后过滤条件];2、where 和 having 区别执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。判断条件不同:where不能对聚合函数进行判断,而having可以。注意:执行顺序:where > 聚合函数 > having分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
  • DQL-排序查询

    1、语法SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2;2、排序方式ASC:升序(默认值)DESC:降序注意:如果是多个字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
  • DQL-分页查询

    SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;注意:(1)起始索引从0开始,起始索引=(查询页码-1) * 每页显示记录数;(2)分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是 LIMIT;(3)如果查询的是第一页数据,起始索引可以省略,直接简写为 LIMIT 10 。
  • DQL-执行顺序

    FROM表名列表WHERE条件列表GROUP BY分组字段列表HAVING分组后条件列表SELECT字段列表ORDER BY排序字段列表LIMIT分页参数

DCL- 介绍

  • DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

  • DCL-管理用户

    1、查询用户USE mysql;SELECT * FROM user;2、创建用户CREATE  浙江干部培训学校 www.nxganxun.cn USER '用户名'@ '主机名' IDENTIFIED '密码';3、修改用户密码ALTER USER '用户名'@ '主机名' IDENTIFIED WITH mysql_native_password BY '新密码';4、删除用户DROP USER '用户名'@ '主机名'
  • DCL-权限控制

    MySQL中定义了很多种权限,但是常用的就以下几种:

    权限说明
    ALL,ALL PRIVILEGES所有权限
    SELECT查询数据
    INSERT插入数据
    UPDATE修改数据
    DELETE删除数据
    ALTER修改表
    DROP删除数据库/表/视图
    CREATE创建数据库/表
    1、查询权限SHOW GRANTS FOR '用户名'@ '主机名';2、授予权限GRANTS 权限列表 ON 数据库名.表名 TO '用户名'@ '主机名';3、撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@ '主机名';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值