返回顶部
首页 > 资讯 > 数据库 >MySQL的 DDL和DML和DQL的基本语法详解
  • 185
分享到

MySQL的 DDL和DML和DQL的基本语法详解

MySQL的 DDL和DML和DQLMySQL的 DDL和DML和DQL语法 2022-07-25 15:07:31 185人浏览 独家记忆
摘要

目录一、DDL(数据定义语言)二、DML(数据操作语言)三、DQL(数据查询语言)四、聚合函数前言             &nb

前言                 

sql语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。       

SQL标准规定的SQL语句分为:DDL(Data Define Language 数据定义语言)、  DML(Data Manipulation Language 数据操作语言)、DQL(Data Query Language 数据查询语言)、DCL(Data Control Language 数据控制语言)。本文将详细介绍它们。

首先了解一下关于SQL语法的一些注意事项:

1. SQL 语句可以单行或多行书写,以分号结尾。

2. 可使用空格和缩进来增强语句的可读性。

3. Mysql 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

4. 3 种注释

① 单行注释:  -- 注释内容 或 # 注释内容(mysql 特有)

② 多行注释: 

一、DDL(数据定义语言)

DDL语言:全面数据定义语言(Data Define Language),是用来定义和管理数据对象,如数据库,数据表等。DDL命令有CREATE(创建)、DROP(删除)、ALTER(修改)。

下面用代码给大家举例子:

-- SQL语法不区分大小写
-- 每一句结束的时候都要用一个分号;
# 库的操作
-- 显示所有的库
show databases;
-- 创建一个库
-- create database 库名;
create database ku;
-- 删除一个库
-- drop database 库名;
drop database ku;
-- 使用库
-- use 库名;
use ku;
# 表的操作
-- 查看库中所有的表
show tables;
-- 建表
create table 表名(
	字段名  类型  属性,
	字段名  类型  属性,
	....
	字段名  类型 属性
);
create table tab_teacher(
	tea_name varchar(10),
	tea_sex char(1),
	tea_birthday datetime,
	tea_money decimal(20,1)
);
show tables;
-- 查看表结构
desc tab_teacher;
show create table tab_teacher;
-- ` 反引号 让关键词失效
CREATE TABLE `tab_teacher` (
  `tea_name` varchar(10) DEFAULT NULL,
  `tea_sex` char(1) DEFAULT NULL,
  `tea_birthday` datetime DEFAULT NULL,
  `tea_money` decimal(20,1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 
    COLLATE=utf8mb4_0900_ai_ci

二、DML(数据操作语言)

DML语言:数据操作语言(Data Manipulation Language),是用于操作数据库对象中所包含的数据。DML命令有INSERT(增加)、DELETE(删除)、UPDATE(修改)。

下面用代码给大家举例子:

# DML 语句
-- 新增
-- 语法
-- insert into 表名(字段名,字段名...字段名) values(值,值...值);
-- 日期用字符串的形式表示
insert into student(sid,sname,birthday,ssex,classid) values(9,'张三','1999-1-1','男',3);
insert into student(sid,ssex,classid) values(11,'男',2);
-- 让主键自增
insert into student(sname) values("王桑");
insert into student values(default,'老王','1970-6-1','男',2);
insert into student values(null,'老王','1970-6-1','男',2);
-- 一次性插入多条数据
insert into student(sname,ssex) values('王帅帅','男'),('王靓靓','男'),('王妹妹','女');
-- 不常用的新增方式
-- 表都要存在
create table stu1(
	xingming varchar(10),
	ssex varchar(2)
)
-- insert into select 
insert into stu1 select sname,ssex from student;
-- 新建表的时候插入数据
-- 新表不能存在
create table newstu select sname,birthday,ssex from student;
-- 修改
-- 语法
-- update 表名 set 字段名=值,字段名=值... where 子句
update stu1 set xingming = '赵雷雷';
update newstu set ssex= '女' where sname='老王';
-- 范围
update student set ssex = '女',classid = 10 where sid >= 10 and sid <= 15;
-- between 小数据 and 大数据
update student set ssex='呵呵',classid = 20 where sid between 10 and 15;
-- 删除
-- delete from 表名  where 子句
delete from stu1;
delete from student  where sname = '老王';
-- 清空表
truncate 表名
truncate student;

三、DQL(数据查询语言)

DQL语言:数据查询语言(Data Query Language),是用于查询数据库数据。DQL命令有SELECT(查询)。

下面用代码给大家举例子:

# DQL
-- 查询
-- 查询表所有行和列的数据(得到的是一张虚拟表)
-- select * from 表名;
select * from student;
-- 查询指定字段
-- select 字段名1,字段名2... from 表名;
select sid,sname,birthday,ssex,classid from student;
-- 字段起别名
-- select 旧字段名 as '新字段名';
select sname as '姓名', birthday '生日',ssex 性别 from student;
-- 去除重复 distinct
-- select distinct 字段名... from 表名; 
select distinct ssex,classid,sid from student;
-- 带条件的查询  WHERE 子句
select * from student where ssex = '男' and classid = 1;
-- 生日 大于 1990-1-1 的学生
select * from student where birthday < '1990-1-1';
-- 模糊查询 like
insert into student(sname) 
values('张三丰'),('张三'),('张三三');
-- 张字有关的数据
-- 模糊符号 % 任意多的任意字符
select * from student where sname like '%张%';
-- 姓张的人
select * from student where sname like '张%';
-- 模糊符号_ 一个任意字符
select * from student where sname like '张__';
-- 学生编号是 2,5,6,8,9,20,300,4000
-- in 在特定的范围内查找
select * from student  where sid in (2,5,6,8,9,20,300,4000);
-- 没有生日的学生  is 是对null的判断
select * from student where birthday is null;
select * from student where birthday is not null;
# 分组
-- group by 字段
select count(1) from student where ssex = '男';
select count(1) from student where ssex = '女';
select ssex,count(sid) from student group by ssex;
-- 每个班有多少学生
select classid,count(sid) from student group by classid;
-- sc  每个学生的平均分
select sid,avg(score) 平均分, sum(score) 总成绩,max(score) 最高分, min(score) 最低分, count(*) 次数 from sc group by sid;

四、聚合函数

语法:之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个结果值。聚合函数会忽略空值 NULL。

-- 统计个数 count(字段)/字段可以写*、常量、任意字段名/count不统计数据为null的个数。

-- 统计平均值 avg(字段)

-- 统计最大值 max(字段)

-- 统计最小值 min(字段)

-- 统计总和 sum(字段)

eg: select count(*) 总个数, sum(score) 总成绩, avg(score) 平均分, max(score) 最高分, min(score) 最低分 from sc;

# 聚合函数
count(字段) -- 统计个数
-- 数字
avg(字段) -- 平均值
sum(字段) -- 总和
max(字段) -- 最大值
min(字段) -- 最小值
-- count 统计个数
select count(*) from student where ssex = '男';
select count(sname) from student where ssex = '男';
select count(1) from student where ssex = '男';
select count('a') from student where ssex = '男';
-- count() 不统计null
select count(birthday) from student;
-- avg 平均值
-- 所有学生的平均分
select avg(score) from sc;
-- sum 总成绩
select sum(score) from sc;
select count(*) 次数, sum(score) 总成绩, avg(score) 平均分, max(score) 最高分,min(score)最低分 from sc;

到此这篇关于MySQL的 DDL和DML和DQL的基本语法的文章就介绍到这了,更多相关MySQL的 DDL和DML和DQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL的 DDL和DML和DQL的基本语法详解

本文链接: https://lsjlt.com/news/33450.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL的 DDL和DML和DQL的基本语法详解
    目录一、DDL(数据定义语言)二、DML(数据操作语言)三、DQL(数据查询语言)四、聚合函数前言             &nb...
    99+
    2022-07-25
    MySQL的 DDL和DML和DQL MySQL的 DDL和DML和DQL语法
  • MySQL的 DDL和DML和DQL的基本语法详解
    目录一、DDL(数据定义语言)二、DML(数据操作语言)三、DQL(数据查询语言)四、聚合函数前言          &n...
    99+
    2024-04-02
  • MySQL的DDL、DML及DQL基础知识点有哪些
    这篇文章主要介绍“MySQL的DDL、DML及DQL基础知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL的DDL、DML及DQL基础知识点有哪些...
    99+
    2024-04-02
  • 【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句
    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 文章目录 🍔...
    99+
    2023-08-16
    mysql sql 数据库
  • MySQL中DDL和DML的示例分析
    这篇文章将为大家详细讲解有关MySQL中DDL和DML的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、DDL        可能有看官老爷会问,什么是D...
    99+
    2023-06-22
  • SQL基础语句 - 数据操作DML和数据查询DQL语句详细介绍
    文章目录 数据操作DML数据查询DQL基础查询条件查询排序查询聚合函数分组查询分页查询 数据操作DML DML:是对表中的数据进行增删改的操作 创建下面这样一个学生表进行演示...
    99+
    2023-09-08
    sql 数据库 mysql
  • MySQL库和表的操作(DDL) 和 数据增删改(DML)
    文章目录 💒创建和管理表🚏 基础知识🚀 一条数据存储的过程🚄 标识符命名规则🚒 MySQL中的数据类型 &...
    99+
    2023-09-01
    mysql sql java db sqlyong
  • DDL、DML和DCL的区别与理解是什么
    今天就跟大家聊聊有关DDL、DML和DCL的区别与理解是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。DML、DDL、DCL区别 .总体解释: ...
    99+
    2024-04-02
  • 详解MySQL语句中的DDL
    mysql 中的 ddl(数据定义语言)是一系列用于创建、修改和删除数据库对象的语句,本质上定义了数据库的结构和内容。这些语句包括:create:创建新数据库对象,如表、视图和索引。al...
    99+
    2024-07-05
    mysql sql语句
  • 详解mysql DML语句的使用
    前言: 在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了。本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作。 这里说明下DDL与DML语句的分类,可能有的同学还不太清楚。 DDL(...
    99+
    2022-05-28
    mysql dml mysql dml语句
  • Python的基本语法详解
    目录一、Python输出1、repr() 或 str() 转成字符串2、字符串填充空格进行格式化3、!a (使用 ascii()), !s (使用 st...
    99+
    2024-04-02
  • C语言的基本语法详解
    目录1、标识符与关键字2、常量和符号常量(1)常量和常量符号(2)变量3、C语言数据类型(1)整型常量整型变量原码、反码和补码(2)实型数据实型常量实型变量实型变量的定义以及初始化(...
    99+
    2024-04-02
  • C语言类的基本语法详解
    目录1、由C语言的结构体进入到C++中的类2、C++中如何定义类?3、C++中实例化一个对象4、C++类的访问限定及其封装 C++中的访问限定符5、C++中类的作用域6、成员变量和方...
    99+
    2024-04-02
  • JavaScript的基础语法和数据类型详解
    目录引入JavaScript1.内部标签2.外部引入基础语法数据类型number字符串布尔值逻辑运算比较运算符数组对象流程控制Map和Setiterator总结引入JavaScrip...
    99+
    2024-04-02
  • C语言函数的基本使用和递归详解
    目录本章目标函数是什么C语言中函数的分类库函数如何学会使用库函数?自定义函数函数的参数函数的调用:函数的嵌套调用和链式访问嵌套调用链式访问函数的声明和定义函数递归什么是递归?递归的两...
    99+
    2024-04-02
  • python的赋值语句和基本输入输出详解
    目录赋值语句直接赋值:增量赋值: 链式赋值: 多重赋值:语法糖:基本输入:input()函数:eval()函数: 基本输出:print()函数:print函数-格式化模板总结 顺序结...
    99+
    2024-04-02
  • 详解Golang ProtoBuf的基本语法总结
    目录前言基本规范基本语法package定义包import 导入包定义Message定义Service前言 最近项目是采用微服务架构开发的,各服务之间通过gPRC调用,基于ProtoB...
    99+
    2024-04-02
  • Html5的元素及基本语法详解
    这篇文章主要介绍“Html5的元素及基本语法详解”,在日常操作中,相信很多人在Html5的元素及基本语法详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Html5的元素及基...
    99+
    2024-04-02
  • 详解Mysql基础语法的使用
    MYSQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最...
    99+
    2024-04-02
  • MySQL索引的基本语法
         索引是排好序的数据结构!可以用在 where 条件查找的字段,和order by 排序的字段,有了索引,便可以快速地定位数据所在的物理地址并找出来。 索引的...
    99+
    2022-05-26
    MySQL 索引 MySQL 索引语法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作