【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句

🎊专栏【MySQL】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
大一同学小吉,欢迎并且感谢大家指出我的问题🥰

文章目录

  • 🍔关系型数据库
    • ⭐概念
    • ⭐特点
  • 🍔MySQL数据库的数据类型
  • 🍔SQL通用语法
  • 🍔SQL分类
    • ⭐DDL语句操作——数据库
      • 🎈查询当前数据库
      • 🎈查询所有数据库
      • 🎈创建数据库
        • 🎈创建数据库并设置字符集
      • 🎈删除数据库
      • 🎈使用数据库
    • ⭐DDL语句操作——表
      • 🎈查询当前数据库的所有表
    • ⭐创建表
      • 🎈查询表结构
      • 🎈查询指定表的建表语句
    • ⭐DDL表操作——修改表
      • 🎈修改数据类型
      • 🎈修改字段名和字段类型
      • 🎈修改表名
      • 🎈删除字段
      • 🎈删除表
      • 🎈删除表,并且自动创建该表
    • ⭐总结
    • ⭐DML语句——添加数据
      • 🎈给 指定 字段添加数据
      • 🎈给 全部 字段添加数据
      • 🎈批量添加数据
        • 🏀注意
    • ⭐DML语句——修改数据
        • 🏀注意
    • ⭐DML语句——删除数据
        • 🏀注意
    • ⭐总结
    • ⭐DQL语句——查询数据
      • 🎈基本查询
        • 🏀查询多个字段
        • 🏀设置别名
        • 🏀去除重复记录
      • 🎈条件查询
      • 🎈聚合函数
        • 🏀注意
      • 🎈分组查询
        • 🏀where和having的区别
        • 🏀注意
      • 🎈排序查询
        • 🏀注意
      • 🎈分页查询
        • 🏀注意
    • ⭐DQL语句——执行顺序
    • ⭐总结
    • ⭐DCL语句—用户管理
      • 🎈查询用户
      • 🎈创建用户
      • 🎈修改用户密码
      • 🎈删除用户
        • 🏀注意
    • ⭐DCL语句—权限控制
      • 🎈查询权限
      • 🎈授予权限
      • 🎈撤销权限
    • ⭐总结

内容有点多,建议大家先看目录。

在这里插入图片描述

🍔关系型数据库

⭐概念

建立在关系模型基础上,由多张相互连接的二维表组成的数据库

⭐特点

🏀使用表存储数据,格式统一,便于维护
🏀使用SQL语言操作,标准统一,使用方便
在这里插入图片描述

🍔MySQL数据库的数据类型

通过客户端,连接MySQL数据库管理系统(DBMS),然后通过SQL语句,通过数据库管理系统创建数据库
也可以通过SQL语句,通过数据库管理系统,在指定的数据库中创建表
在一个数据库服务器中是可以创建多个数据库的,而在一个数据库中,又可以创建多张表,在表中,我们又能存储一条一条的结构
🏀所以数据库和表就是MySQL数据库的数据类型

(https://img-blog.csdnimg.cn/ddf395047a81437d80f59b01613b4307.png)**

🍔SQL通用语法

🏀SQL语句可以单行或多行书写,并且以分号结尾
🏀SQL语句可以使用空格或缩进来增强语句的可读性
🏀MySQL数据库的SQL语句不区分大小写,关键字建议大写
🏀单行注释:–注释内容(或#注释内容)
🏀多行注释:/ * 注释内容 * /

🍔SQL分类

在这里插入图片描述

⭐DDL语句操作——数据库

🎈查询当前数据库

select database();

在这里插入图片描述

🎈查询所有数据库

show databases;

在这里插入图片描述

🎈创建数据库

create database itcast;

可以加一个判断条件,如果不存在数据库的话,就创建一个,否则不创建

create database if not exists itcast;

在这里插入图片描述

🎈创建数据库并设置字符集

create database 数据库名称 default charset 字符集;

在这里插入图片描述

🎈删除数据库

drop database 数据库名称;

可以加一个判断条件,如果存在这个数据库,就删除,否则不删除
;

drop database if exists 数据库名称

在这里插入图片描述

🎈使用数据库

例如

use itcast;

表示我要切换到itcast数据库

在这里插入图片描述

⭐DDL语句操作——表

🎈查询当前数据库的所有表

show tables;

在这里插入图片描述

⭐创建表

在这里插入图片描述

SQL写完后要加上分号,如果没有分号,那么就可以写多行

在这里插入图片描述
数据库里面的字符串类型是varchar()(()里面是字符串长度)不是string

🎈查询表结构

desc 表名;

在这里插入图片描述

🎈查询指定表的建表语句

show create table 表名;

在这里插入图片描述

⭐DDL表操作——修改表

🎈修改数据类型

alter table 表名 modify 字段名 新数据类型(长度);

🎈修改字段名和字段类型

alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释];

在这里插入图片描述

🎈修改表名

alter table 表名 rename to 新表名;

在这里插入图片描述

🎈删除字段

alter table 表名 drop 字段名;

在这里插入图片描述

🎈删除表

drop table 表名;

可以添加一个判断条件

drop table if exists 表名;

🎈删除表,并且自动创建该表

truncate table 表名;

为什么要这样子操作
虽然会重新创建该表,但是该表的所有数据都不存在了

⭐总结

在这里插入图片描述

⭐DML语句——添加数据

🎈给 指定 字段添加数据

insert into 表名(字段名1,字段名2, ……) value(值1,值2);

🎈给 全部 字段添加数据

insert into 表名 value (值1,值2);

🎈批量添加数据

insert into 表名(字段名1,字段名2,……) value(值1,值2……)(值1,值2……)(值1,值2……);

或者

insert into 表名 value(值1,值2……)(值1,值2……)(值1,值2……);

🏀注意

在这里插入图片描述

⭐DML语句——修改数据

update 表名 set 字段名1=值1,字段名2=值2,……[where 条件];

加上where,就是修改符合条件的数据,否则修改的是所有数据
在这里插入图片描述

🏀注意

修改语句的条件(where)可以有,也可以没有,如果没有条件,那么会修改整张表的所有数据

⭐DML语句——删除数据

delete form 表名 [where 条件]

加上where,就是修改符合条件的数据,否则修改的是所有数据

在这里插入图片描述

🏀注意

修改语句的条件(where)可以有,也可以没有,如果没有条件,那么会修改整张表的所有数据
🏳️‍🌈delete语句不能删除某一个字段的值(但是可以用update删除)

⭐总结

在这里插入图片描述

⭐DQL语句——查询数据

在这里插入图片描述

🎈基本查询

🏀查询多个字段

select 字段1,字段2,字段3……form 表名;
select * from 表名;

在这里插入图片描述
在这里插入图片描述

🏀设置别名

select 字段1 [AS 别名1],[AS 别名2]……from 表名;

在这里插入图片描述

🏀去除重复记录

select distinct 字段列表 form 表名;

在这里插入图片描述

🎈条件查询

select 字段列表 from 表名 where 条件列表;

条件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

🎈聚合函数

概念:就是将一列数据作为一个整体,进行纵向计算
在这里插入图片描述

select 聚合函数(字段列表) from 表名;

🏀注意

null是不参与所有聚合函数的计算的

在这里插入图片描述

🎈分组查询

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];

🏀where和having的区别

执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组,而having是分组之后对结果进行过滤
判断条件不同:where不能对聚合函数进行判断,而having可以

在这里插入图片描述

🏀注意

执行顺序:where>聚合函数>having
分组之后,查询的字段一般是聚合函数和分组字段,查询其他字段没有意义

🎈排序查询

在这里插入图片描述

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;

在这里插入图片描述

🏳️‍🌈排序方式
asc 升序(默认)
desc 降序

🏀注意

如果是多字段排序,当第一个字段值相同时,才会根据第二个字段排序

🎈分页查询

select 字段列表 from 表名 limit 起始索引,查询记录数;

在这里插入图片描述

🏀注意

在这里插入图片描述

⭐DQL语句——执行顺序

在这里插入图片描述

⭐总结

在这里插入图片描述

⭐DCL语句—用户管理

DCL可以用来管理数据库成员,控制数据库的访问权限

在这里插入图片描述

🎈查询用户

use mysql;
select * from user;

可以直接查看用户表
在这里插入图片描述

🎈创建用户

create user '用户名'@'主机名' identified by '密码';

在这里插入图片描述

🎈修改用户密码

alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';

在这里插入图片描述

🎈删除用户

drop user '用户名'@'主机名';

在这里插入图片描述

🏀注意

主机名可以用%通配,使用%后,表明可以用任意主机进行访问

⭐DCL语句—权限控制

我们创建了用户后,我们会发现,用户可以登录上MySQL,但是不能访问任何的数据库,只能访问一个系统库
原因就是用户创建好了之后,并没有给用户分配权限

在这里插入图片描述

🎈查询权限

show grants for '用户名'@'主机名';

🎈授予权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

🎈撤销权限

remove 权限列表 on 数据库名.表名 from '用户名'@'主机名';

⭐总结

在这里插入图片描述

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2908.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PACS/RIS医学影像管理系统源码 提供先进图像处理和算法

PACS(医学影像存档与通信系统)主要应用于医学影像的存储、传输和显示。它可以使医生突破胶片的局限,对病人的影像进行全方位的处理和观察,以便得出更准确的诊断。同时,PACS可以节省大量的胶片,降低成本。医…

mac m4a转mp3怎么转?

mac m4a转mp3怎么操作?小编之前编写了在windows系统电脑上进行音频格式转换的教程和方法,帮助了不少的小伙伴。最近有一个粉丝朋友向我求助,因为自己使用的是苹果mac电脑,有没有什么方法可以在上面将m4a音频格式转换成mp3。因为使…

学成在线----day8

1、课程发布 为了提高网站的速度需要将课程信息进行缓存,并且要将课程信息加入索引库方便搜索,下图显示了课程发布后课程信息的流转情况: 1、向内容管理数据库的课程发布表存储课程发布信息,更新课程基本信息表中发布状态为已发…

抖音seo矩阵系统源码开发部署|抖音小程序接入(一)

一、 开发部署步骤: (1)申请开放平台服务商 (2)申请开放平台网站应用 (3)申请开放平台应用权限 (4)提交各个API接口申请文档 (5)审核通过技…

fastadmin表格列表内部自定义按钮

效果图: 直接上代码: 打开js渲染文件---》找到渲染原生的按钮: {field: "operate",title: __("Operate"),table: table,events: Table.api.events.operate,buttons: [//可多个按钮{name: "record", //名称tex…

全志V3S嵌入式驱动开发(USB camera驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 soc和mcu的一个重要区别,就是soc会涉及到大量的音视频操作,当然音视频也就包括了camera摄像头这部分。v3s本身支持csi接口和…

基于Python+MySQL所写的商城管理系统

点击以下链接获取源码资源: https://download.csdn.net/download/qq_64505944/87971437?spm1001.2014.3001.5503 《51商城》程序使用说明 51商城项目分为网站前台和后台两个部分,下面将分别介绍这2个部分的使用。 1.网站前台 在虚拟环境中启动程序后&a…

【数据结构与算法】学校运动会管理系统(C/C++)

这是一个完整的项目,若有需要整个项目的压缩包(源代码、文档、md文件等)可私聊发送"学校运动会管理系统"。 问题描述 在“学校运动会管理系统”中,设有n个单位参加运动会(单位可是学院、系、年级等&#xf…

尚硅谷Docker实战教程-笔记03【Docker常用命令】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】尚硅谷Docker实战教程-笔…

java版工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

轨道交通车体自动化检修测量大尺寸测量仪器-CASAIM激光三维扫描仪

现今我国轨道交通高速发展,重大装备技术的进步离不开先进的大尺寸测量手段支持,CASAIM大尺寸测量在测量环境、测量精度和测量效率上明显区别于常规尺寸测量,可以快速检测车体表面的尺寸变形等问题,实现高精度、高效率的自动化车体…

flutter mac环境配置

在 macOS 上安装和配置 Flutter 开发环境 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter一、配置flutter环境变量在 macOS 上安装和配置 Flutter 开发环境 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 解压文件放在我的文档里面 然后设置环境变量 1. 执…