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

相关推荐
瓜牛_gn27 分钟前
mysql特性
数据库·mysql
奶糖趣多多1 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt3 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧5 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Yaml45 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
Channing Lewis6 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
追风林6 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
毕业设计制作和分享7 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil277 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk8 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql