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)权限控制

相关推荐
乌鸦乌鸦你的小虎牙1 小时前
qt 5.12.8 配置报错(交叉编译环境)
开发语言·数据库·qt
一只大袋鼠2 小时前
Redis 安装+基于短信验证码登录功能的完整实现
java·开发语言·数据库·redis·缓存·学习笔记
Anastasiozzzz2 小时前
深入研究Redis的ZSet底层数据结构:从 Ziplist 的级联更新到 Listpack 的完美救场
数据结构·数据库·redis
菠萝蚊鸭2 小时前
x86 平台使用 buildx 基于源码构建 MySQL Wsrep 5.7.44 镜像
数据库·mysql·galera·wsrep
沙漏无语4 小时前
(二)TIDB搭建正式集群
linux·数据库·tidb
姚不倒4 小时前
三节点 TiDB 集群部署与负载均衡搭建实战
运维·数据库·分布式·负载均衡·tidb
隔壁小邓4 小时前
批量更新方式与对比
数据库
数据知道4 小时前
MongoDB复制集架构原理:Primary、Secondary 与 Arbiter 的角色分工
数据库·mongodb·架构
人道领域4 小时前
苍穹外卖:菜品新增功能全流程解析
数据库·后端·状态模式
修行者Java4 小时前
(七)从 “非结构化数据难存储” 到 “MongoDB 灵活赋能”——MongoDB 实战进阶指南
数据库·mongodb