当前位置: 首页 > article >正文

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.年龄(正常人年龄,不可能存储负数)
6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7. 入职时间(取值年月日即可)

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


http://www.kler.cn/news/329522.html

相关文章:

  • 掌控板micropython编程实现OLED中显示文本
  • Python位运算的与众不同
  • 【选择”丹摩“深入探索智谱AI的CogVideoX:视频生成的新前沿】
  • 安装管理K8S的开源项目KubeClipper介绍
  • java8:hutool:httputil.post读取配置项中的url
  • Thingsboard 网关实战 modbus通信 rpc下发控制指令
  • 如何实现全行业证照一站式结构化识别?Textln企业资质证照识别上线!
  • 鸿蒙harmonyos next flutter混合开发之ohos工程引用 har 文件
  • 大数据毕业设计选题推荐-NBA球员数据分析系统-Python数据可视化-Hive-Hadoop-Spark
  • K8S精进之路-控制器DaemonSet -(3)
  • Word2vec的应用
  • Docker容器、数据卷和数据挂载
  • SpringAOP实现的两种方式-JDK动态代理和CGLIB动态代理
  • 基于小程序+Vue + Spring Boot的进销存库存出库入库统计分析管理系统
  • 聊聊Mysql的MVCC
  • JavaWeb酒店管理系统(详细版)
  • 详解Java中的Collection单列集合(从底层到用法超详细解析和细节分析)
  • SpringBoot3脚手架
  • NodeJS下载、安装及环境配置教程,内容详实
  • 【PostgreSQL】入门篇——介绍表的创建、主键、外键、唯一约束和检查约束的概念及其应用
  • 基于元神操作系统实现NTFS文件操作(一)
  • 【GESP】C++一级练习BCQM3022,输入-计算-输出-3
  • C#中Socket通信常用的方法
  • (k8s)kubernetes中ConfigMap和Secret
  • MySQl查询分析工具 EXPLAIN ANALYZE
  • MongoDB的查询/超详细
  • Python基础语句教学
  • 基于SpringBoot+Vue+MySQL的旅游管理系统
  • pytorch数据读入
  • 常用设计模式之单例模式、策略模式、工厂模式