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

相关推荐
建投数据9 分钟前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi1 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀1 小时前
Redis梳理
数据库·redis·缓存
独行soc1 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天2 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺2 小时前
分布式系统架构:服务容错
数据库·架构
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain3 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship3 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站3 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle