文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

4.四大类(DDL、DML、DQL、DCL)

2023-09-18 09:40

关注

文章目录

4.四大类(DDL、DML、DQL、DCL)

4.1 DDL(数据定义语言)

注意:[…]为可选。

数据库操作

#查询所有数据库show databases;#查询当前数据库select database();#创建数据库create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];#删除数据库drop database [if exists] 数据库名;#使用数据库use 数据库名;

查询表操作

#查询当前数据库所有表show tables;#查询表结构desc 表名;#查询指定表的建表语句show create table 表名;

创建表操作

#创建表create table 表名(字段1 字段1类型[comment 字段1注释],    字段2 字段2类型[comment 字段3注释],    字段3 字段3类型[comment 字段3注释])[comment 表注释];

修改表中字段

#添加字段alter table 表名 add 字段名 类型(长度)[comment 注释][约束];

删除表中字段

#删除表字段alter table 表名 drop 字段名;

删除表

#删除表drop table[if exists] 表名;#删除指定表,并重新创建该表truncate table 表名;

4.2 DML(数据操作语言)

插入数据

#给指定字段添加数据insert into 表名(字段名1,字段名2)values(值1,值2);

修改数据

#修改数据update 表名 set 字段名1 = 值1,字段名2 = 值2 [where 条件];

删除数据

#删除数据delete from 表名 [where 条件];

4.3 DQL(数据查询语言)

基本查询

#查询多个字段select 字段1,字段2,字段3 from 表名;#查询全部字段select * from 表名;

设置别名

#设置别名select 字段1 as "别名1",字段2 as "别名2" from 表名;

去除重复记录

select distinct 字段列表 from 表名;

条件查询

#按条件查询select 字段列表 from 表名 where 条件列表;

聚合查询

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

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和
#求员工表中的平均年龄select avg(emy_age)from tb_emy

分组查询

#语法select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后的过滤条件];
#查询员工表中不同部门的人数select dept_id,count(*)from tb_emygroup by dept_id

where 与 having区别:

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

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

排序查询

#语法select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
#查询员工表中员工工资并按年龄降序排序select emy_name,emy_age,emy_moneyfrom tb_emyorder by emy_age desc

排序方式

①ASC:升序(默认)

②DESC:降序

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

分页查询

#语法select 字段列表from 表名limit 起始索引,查询记录数;
# 查询第一页员工信息,每页有两条select * from tb_emylimit 0,2;# 查询第二页员工信息,每页有两条select * from tb_emylimit 2,2;

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

②分页查询是数据库的方言,不同的数据库有不同的实现,MySql是limit。

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

执行顺序

在这里插入图片描述

4.4 DCL(数据控制语言)

用户管理

#查询用户user mysql;select * from user;#创建用户create user '用户名'@'主机名' identified by '密码';#修改用户密码alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';#删除用户drop user '用户名'@'主机名';

权限控制

#查询权限show grants for '用户名'@'主机名';#授予权限grant 权限列表 on 数据库.表名 to '用户名'@'主机名';#撤销权限revoke 权限列表 on 数据库.表名 from '用户名'@'主机名';

来源地址:https://blog.csdn.net/m0_59376721/article/details/126459781

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯