MySQL-SQL(DDL、DML、DQL、DCL)

一、

MySQL启动:

MySQL客户端连接:

二、SQL

1.SQL通用语法

(1) SQL语句可以单行或多行书写,以分号结尾。

(2) SQL语句可以使用空格/缩进来增强语句的可读性。

(3) MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

注释:

单行注释: -- 注释内容 或 #注释内容(MySQL特有)

多行注释: /*注释内容 */

2.SQL分类

三、DDL

1.数据库操作

(1) 查询

(2) 创建

例如:创建一个名为sgqt01的数据库

查询后发现数据库创建成功

(3) 删除

(4) 使用

2.表操作

(1) 查询

(2) 创建

注意: ...为可选参数,最后一个字段后面没有逗号

根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下

1.编号(纯数字)

2.员工工号(字符串类型,长度不超过10位)

3.员工姓名(字符串类型,长度不超过10位)

4.性别(男/女,存储一个汉字)

5.年龄(正常人年龄,不可能存储负数)

  1. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)

  2. 入职时间(取值年月日即可)

(3) 修改

例如:

为emp表增加一个新的字段"昵称"为nickname,类型为varchar(20)

例如:

将emp表的nickname字段修改为username,类型为varchar(30)

例如:

将emp表的字段username删除

例如:

将emp表的表名修改为 employee

注意:在删除表时,:表中的全部数据也会被删除。

DDL总结:

1.数据库操作

2.表操作

四、MySQL图形化界面

五、DML

1.DML介绍

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

2.添加数据(INSERT)

(1)给指定字段添加数据

(2)给全部字段添加数据

(3)批量添加数据

注意:

(1)插入数据时,指定的字段顺序需要与值的顺序是一一对应的

(2)字符串和日期型数据应该包含在引号中

(3)插入的数据大小,应该在字段的规定范围内

3.修改数据(UPDATE)

注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据

4.删除数据(DELETE)

注意:

(1)DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。

(2)DELETE 语句不能删除某一个字段的值(可以使用UPDATE)。

总结:

六、DQL

1.基本查询

(1)查询多个字段

(2)设置别名

(3)去除重复记录

2.条件查询

(1)语法

(2)条件

例如:

3.聚合函数

(1)介绍

将一列数据作为一个整体,进行纵向计算

(2)常见聚合函数

(3)语法

注意:null值不参与所有聚合函数运算。

例如:

4.分组查询

(1)语法

(2)where和having的区别:

① 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

② 判断条件不同:where不能对聚合函数进行判断,而having可以。

(3)注意:

① 执行顺序: where >聚合函数>having

② 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

例如:

5.排序查询

(1)语法

(2)排序方式

ASC:升序(默认值)

DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

例如:

6.分页查询

(1)语法

(2)注意:

① 起始索引从0开始,起始索引=(查询页码-1) * 每页显示记录数。

② 分页查询是数据库的方家,不同的数据库有不同的实现,MySQL中是LIMIT

③ 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10。

例如:

7.DQL执行顺序

8.DQL小结

七、DCL

1.DCL介绍

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

2.DCL管理用户

(1)查询用户

(2)创建用户

(3)修改用户密码

(4)删除用户

3.DCL权限控制

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

(1)查询权限

(2)授予权限

(3)撤销权限

注意:

① 多个权限之间,使用逗号分隔

② 授权时,数据库名和表名可以使用*进行通配,代表所有

4.DCL总结

(1)用户管理

(2)权限控制

相关推荐
Mr.朱鹏7 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠7 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng17 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
云贝贝贝8 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3228 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向9 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却9 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO11 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记11 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数12 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全