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

MySQL的DDL、DML、DQL

DDL

DDL:数据定义语言

查询所有数据库:show databases;

查询当前数据库:show databases();

使用数据库:use  数据库名;

创建数据库:create database [if not exists] 数据库名;

删除数据库:drop database [if exists] 数据库名;

创建表:

create table  表名(
    字段1  字段1类型 [约束]  [comment  字段1注释 ],
    字段2  字段2类型 [约束]  [comment  字段2注释 ],
    ......
    字段n  字段n类型 [约束]  [comment  字段n注释 ] 
) [ comment  表注释 ] ;

create table tb_user (
                         id int comment 'ID,唯一标识',   
                         username varchar(20) comment '用户名',
                         name varchar(10) comment '姓名',
                         age int comment '年龄',
                         gender char(1) comment '性别'
) comment '用户表';

约束:作用在表中字段上的规则

not null:限制该字段值不能为null

unique:保证字段的所有数据都是唯一、不重复的 

primary key:主键是一行数据的唯一标识,要求非空且唯一

default:保存数据时,如果未指定该字段值,则采用默认值

foreign key:让两张表的数据建立连接,保证数据的一致性和完整性

查询当前数据库所有表:show tables;

查询表结构:desc 表名;

查询建表语句:show create table 表名;

删除表:drop table [if exists] 表名;

DML

DML:数据操作语言

向全部字段添加数据:insert into 表名 values (值1, 值2, ...);

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

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

批量添加数据(全部字段):insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);

DQL

DQL:数据查询语言

查询多个字段:select 字段1, 字段2, 字段3 from  表名;

查询所有字段:select *  from  表名

设置别名:select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ]  from  表名;

去除重复记录:select distinct 字段列表 from  表名;

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

聚合函数:select  聚合函数(字段列表)  from  表名;

count    统计数量
max    最大值
min    最小值
avg    平均值
sum    求和

分组查询:

select  字段列表  from  表名  [where 条件]  group by 分组字段名  [having 分组后过滤条件];

select job, count(*)
from tb_emp
where entrydate <= '2015-01-01'   -- 分组前条件
group by job                      -- 按照job字段分组
having count(*) >= 2;             -- 分组后条件

where和having区别:

执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。

排序查询:

select  字段列表  
from   表名   
[where  条件列表] 
[group by  分组字段 ] 
order  by  字段1  排序方式1 , 字段2  排序方式2 … ;

ASC:升序(默认)     DESC:降序

分页查询:select  字段列表  from   表名  limit  起始索引, 查询记录数 ;


http://www.kler.cn/a/302301.html

相关文章:

  • 软件工程笔记二—— 软件生存期模型
  • UAC2.0 speaker——同时支持 16bit,24bit 和 32bit
  • 重卡穿越商都,ROG DAY 2024郑州站高燃来袭
  • EXCEL延迟退休公式
  • 安全见闻1-5
  • Android 10 默认授权安装app运行时权限(去掉运行时所有权限授权弹窗)
  • springboot 的共享session方案?
  • OpenCV影像数据处理入门-学习篇
  • vue环境搭建相关介绍
  • 在pycharm终端中运行pip命令安装模块时,出现了“你要如何打开这个文件”弹出窗口,是什么状况?
  • Vue基础明晰
  • chatGPT o1 重磅发布!像人类大脑一样思考和推理!
  • 快速入门和简单理解并发编程中的并发、并行、同步、异步,并且简单实现多进程和多线程
  • JS设计模式之代理模式:对象的“虚拟与现实”
  • 基于51单片机的灯盘检测(PCF8591+CD4051 )
  • mp3转文字要怎么处理?使用这4个工具就对了
  • C# 中的矢量化运算:提升性能的艺术
  • OpenHarmony鸿蒙开发( Beta5.0)智能窗帘应该开发实践案例
  • 算法刷题[比较两个字符串的最大公字符串(滑动窗口实现)]
  • 基于Boost库的搜索引擎开发实践
  • OpenFeign原理
  • docker-ce.repo源、kubernetes.repo源
  • 通过AI来创建一个_____html css网页制作成品 例子演示
  • 精准电商营销:基于京东商品详情API返回值的数据分析
  • 探索Python中的链式赋值、系列解包赋值与常量
  • Vue.js中computed的使用方法