mysql DQL DDL DML DCL详解

MySQL核心操作全解析:DDL、DML、DQL、DCL详解与实战 阅读详情

在这里插入图片描述

【DDL语句:create drop alter】

数据库
创建
(1)如果名为testdb的数据库不存在,则创建

create  database if not exists  testdb;

(2)如果名为testdb的数据库不存在,则创建;并设置其字符集为utf8mb4

create  database if not exists  testdb  default  character set  utf8mb4;

查看
(1)查看所有已经存在的数据库

show databases;

(2)查看对应数据库

show create database testdb;

(3)查看可用的字符集

show character set;

(4)查看排序方式

show  collation;

修改
(1)查看字符集,如与期望不符,则修改

show  variables like 'character%';
alter database testdb character set utf8;

(2)修改字符集,并设置为默认字符集,之后创建的表都会继承此字符集

alter database testdb default character  set utf8;

删除

drop database if exists  testdb;

2表
创建
(1)创建单一主键

create  table if not exists test1  (id int(11),name varchar(30) not null,primary key(id));

(2)创建联合主键

create table if not exists test2 (id int ,name varchar(30) not null ,primary key(id,name));

(3)设置枚举,主键,字段自增,索引

create table students (id  int primary key auto_increment,name varchar(40) not null,age tinyint unsigned,gender enum('F','M') default 'M',index(name));

查看
(1)查看当前数据库上的所有表

show tables;

(2)查看当前数据库中所有表的具体属性信息

show  table status\G;

(3)查看当前数据库中某张表的状态,使用like匹配

show  table status like  'test1' \G;

(4)查看名字以db开头的表

show  table status where name like 'db%' \G;

(5)查看名字包含db的表 (%db% 模糊匹配)

show  table status where name like '%db%' \G;

(6)查看表结构

desc students;

(7)查看某张表被创建时对应的sql语句

show create table students;

删除
(1)删除单张表

drop table if exists test1;

(2)删除多张表 用逗号隔开

drop table if exists test1,test2,test3,test4;

(3)删除主键

alter table test1 drop primart key;

(4)删除行

alter  table test1 drop age;

修改
(1)添加一个新的字段age到原有name字段的后面[指定添加的位置]

alter  table  test1 add  column age  int after name;

(2)在原有的表中添加新的字段,并为新的字段设定相应的约束

alter  table test1 add age  int  not null default 0;

(3)删除表中的某个字段

alter table  teat1 drop age;

(4)修改表中字段使用 modify 不能修改名称,只能修改字段类型

alter table test1 modify age int;

(5)修改表中字段使用change,即能改名也能修改字段类型

alter table  test1  change name name_stu int(20);

【表的DML语句:insert delete updata 】

向表中插入一条数据
(1)插入单条数据

insert into  test1 (name,age) values('jerry',23);

(2)插入多条数据

insert into test1 (name ,age) valuse('alice',18),('alice',28),('bob',25);

(3)插入数据直接赋值法

insert into  test1 set id=2,name="xiaoming",age=19,gender='M';

更新数据 修改指定字段 [字符串要加引号,数值不需要]
(1)更新表中所有行的age字段的值为28

update test1  set age=28;

(2)限定范围 更新表中id号为13的行中name的字段值为avril

update test1 set name='avril' where id=13;

(3)更新多个字段

update test1  set name='avril' ,age=23  where id=13;

删除
(1)删除表中的所有数据,清空表

delete from test1;

(2)根据指定的条件删除数据

delete from test1 where age=22;
delete from test1 where name rlike'^t.*';

表的DQL语句:【select 单表查询,多表查询,分组与聚合】

查询语句
select
(1)表中查询出所有数据,只显示前3行

select * from  test1 limit 3;

(2)表中查询age=25的行的name,age字段

select name ,age from test1 where age=25;

(3)表中查询age不等于28的数据

select * from test1 where age != 28;
select * from test1 where age <> 28;

(4)查询表中age大于等于25并且小于等于28的字段

select  * from test1 where age >=25 and age<=28;
select * from test1 where age between 25 and 28;

(5)查询age等于25或者28的数据

select * from test1 where age in (25,28);
select * from test1 where age = 25 or age =28;

(6)查询age不在25到28之间的数据

select * from test1 where age not between 25 and 28;
select * from test1 where age <25  or age > 28;

使用 like 结合通配符进行模糊查询
(1)查询表中name以j开头的数据

select *from test1 where name like 'j%';
select * from test1 where name rlike '^t.*';

(2)查询表中name字段以t开头,且只有三个字符的数据

select * from test1 where name like 't__';

使用order by 进行排序 asc 升序 desc降序

(1)select  * from test1 order by age ace;
(2) select * from test2 order by age desc ;

查询年龄最大的前100个

select name ,age from test1 order by age desc limit 100;
使用in关键字指定列表

(1)表中查找出age等于22、23、24或者25中的任意一个行的所有数据

select * from test1 where age in (22,23,24,25);

(2)表中查找出age不等于22、23、24或者25中的任意一个行的所有数据

select * from test1 where age not in (22,23,24,25);
使用distinct关键字表示去重查询 ;查询学生的年龄并去重显示年龄
select distinct age  from  test1;
使用别名,以便显示为我们指定的列名
select name as stuname,age from test1;
分组与聚合 【分组的目的是为了聚合】

(1)以性别分组,求出分组后的年龄之和

select gender, sum(age) from test1 group by gender;

(2)查询test1表,以classid分组,显示平均年龄大于25的classid

select classid,avg(age) as avgage from test1 group by classid  having avgage >25;

(3)查询test1表中,以性别分组,显示各组中,年龄大于19的学员的年龄总和

select gender ,sum(age) from test1 where  age > 19 group by gender;

(4) union 自己可去重

1)select *from t2 union select * from t2;
2)select distinct * from t2;

(5) union all 没有去重的功能,只是连接

select  *from t2 union all select * from t2;

(6) cross join

select *from students cross join teachers;

(7)cross join 两张表指定字段要加前缀,指名是谁的字段,也可加别名

select students.name ,students.age ,students.gender,teachers.name,teachers.age from students cross join teachers; 

对表起别名

select s.name ,s.age  ,s.gender ,t.name,t.age  from students s cross join teachers t;

(8)内连接 A inner join B on 条件

select *from students inner join teachers on students.teacherid=teachers.tid;
select *from students ,teachers where students.teacherid=teachers.tid;
select *from students s inner join teachers t on s.teacherid=t.tid and s.age >30;
select *from students s inner join teachers t on s.teacherid=t.tid where s.age > 30;

(9)外连接
左外连接 A left outer join B on 条件

select *from students s left outer join teachers t on s.teacherid=t.tid;
select * from students s left outer join teachers t on s.teacherid=t.tid where tid is null;

右外连接

select *from students s right outer join teachers t on s.teacherid=t.tid;
select *from students s right outer join teachers t on s.teacherid=t.tid where teacherid is null;

完全外连接 于cross join 不同

  select *from students s left outer join teachers t on s.teacherid=t.tid
  union
  select *from students s right outer join teachers t on s.teacherid=t.tid;
  
在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记 日期:2025-09-09关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件。 阅读详情

相关推荐

在Windows 11上用VirtualBox搞定WRF-Hydro 5.2.0:一个水文模型小白的Ubuntu 22.04虚拟机避坑实录

本文详细记录了在Windows 11上使用VirtualBox和Ubuntu 22.04虚拟机成功编译安装WRF-Hydro 5.2.0水文模型的全过程。从虚拟环境配置、依赖库安装到环境变量设置,作者分享了针对Linux新手的实用避坑技巧和关键命令,帮助科研人员高效完成水文模型的环境搭建。

weixin_30733003的博客 354

数据库实验四

T-SQL程序设计 内容: 1.定义变量并且通过select语句给变量赋值. 查询学号为“201215121”的学生的姓名和年龄,将其分别赋予变量name和age 2.if-lese选择结构的使用. 查询学生信息,如果学生人数多于10人,则只显示前5名,否则显示所有学生信息 3.while循环结构的使用. 创建一个测试表,并使用循环结构快速插入20000条记录 4.编写带有通配符参数的存储过程,查询学生表和成绩表,返回指定姓名的学生姓名、课程名和考试成绩。要求:执行该存储过程时,如果未提供参数,则使用预设

qq_49817522的博客 1572

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 233

MySql查询——Select

数据库的查询,我们从表里选出我们想要的数据,查询结构仍是一个表 查询时,我们需要使用select语句,配合 from where order by group by having 出了这些子句使用,还有一些库为我们提供的函数可以使用,增强我们的检索能力 avg sum max min count 单标查询 一、基本查询(无条件查询) 1、查询全体学生的学号、姓名...

小宣子 2万+

用AG9311芯片DIY一个多功能Type-C扩展坞:从原理图到PCB布局的保姆级指南

本文详细介绍了如何利用AG9311芯片DIY多功能Type-C扩展坞,涵盖从原理图设计到PCB布局的全过程。AG9311芯片作为高性价比的Type-C控制器,支持HDMI 2.0、USB 3.0、PD快充和千兆网口,适合硬件爱好者打造个性化扩展坞。文章还提供了调试技巧和进阶优化建议,帮助读者轻松完成项目。

weixin_42520909的博客 404

Win10 环境下 ISE14.7 iMPACT 闪退的 DLL 修复方案 - FPGA 开发实战

本文详细介绍了在Win10系统下解决ISE14.7 iMPACT工具闪退问题的DLL修复方案,特别针对FPGA开发中常见的兼容性问题。通过替换关键DLL文件,有效解决了iMPACT在生成PROM文件时的崩溃问题,并提供了详细的步骤说明和注意事项,帮助开发者提升工作效率。

weixin_29197051的博客 210

常用数据库语言

我们在软件开发过程中,或多或少都会接触到数据库的开发,下面我就以学生信息表为例表把常用的数据库的查询语言进行一个总结:         1、查询全体学生的学号、姓名和年龄:select sno,sn ,age from s         2、查询学生的全部信息:select * from s         3、查询选修了课程的学生的学号:select distinct sno from

best2012power的博客 2095

Unity3d移动端性能优化

以下条目主要针对移动端,大部分也适合PC端 一、Profiler的使用 1.性能优化应贯穿项目开发的全过程,如需求(性能能不能达到要求)、设计、开发、测试等。不能开发结束才优化性能。 2.官方推荐的优化工具是【Window】->【Profiler】 3.确认瓶颈是CPU-bound(Gfx.WaitForCommands)还是CPU-bound(Gfx.WaitForPresent) 4.内存分析使用Memory Profiler 二、内存优作 5.减少内存收集的影...

zouxin_88的专栏 3060

【MySQL】跟着示例学 SQL

【代码】【MySQL】跟着示例学 SQL。

小秀的博客 3547

如何优化Silvaco二极管仿真网格?这些参数设置技巧让你的结果更精确

本文详细介绍了如何优化Silvaco二极管仿真网格,通过精细调整网格参数提升仿真精度。重点解析了网格密度与计算精度的权衡、关键区域识别与网格强化策略,以及掺杂分布与网格适配技术,帮助工程师在半导体器件仿真中获得更准确的结果。

t8u9v0w1x的博客 660

Synopsys安装教程Ubuntu22.04版本

在Ubuntu22版本上安装Synopsys等系列工具,安装DC,VCS等等

qq_59529218的博客 5725

04.查询语句(DQL)

语法格式:select 字段名1,字段名2,字段名3,.... from 表名; 提示 1、任何一条sql语句以“;”结尾。 2、sql语句不区分大小写。 例子 比如有下面这个学生表 id name age sex china math english banji issanhaoxuesheng 1 tom 18 男 20 58 54 1 Null 2 marry 17 女 .

天蝎 620

SE80 Repository Information System 在 SAP CRM WebClient UI 组件分析中的实战指南

在 SAP CRM WebClient UI 开发过程中,如何快速定位组件、视图、上下文节点以及各类运行时对象,一直是调试效率的关键。(后文简称RIS)正是隐藏在SE80里的瑞士军刀,帮助开发者按照组件集、数据元素、上下文节点属性等多维条件进行交叉检索。官方博客将它描述为本文结合多年项目经验,系统梳理RIS的功能脉络与实战技巧,同时引入真实案例,示范如何借助它在几分钟内完成以往动辄数小时的排查任务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

Mysql 中DDL,DML,DCL,DQL详解

DDL,DML,DCL,DQL详解 1. DDL(data defination language)数据库定义语言 概念: 数据库定义语言,主要是建表、删除表、修改表字段等操作 锁机制: online DDL 触发表级锁的条件 (备注:允许为Yes 即不会锁表, No表示不允许此时就会锁表 (备注:in-place与copy为 2. DML(data manipulation language)数据操作语言 概念: 数据操作语言,主要是数据库增删改三种操作 锁机制: 表级锁 在MySQL5.5版本引入MD

weixin_43527947的博客 7034

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

MYSQL中的 DDL、DML、DQL 和 DCL详解

DDLCREATEDDL(数据定义语言)DML(数据操作语言)

2403_87298407的博客 1468

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MySql基础-详解DDL, DML, DQL, DCL

将一列数据作为一个整体, 进行纵向计算.DCL英文全称是Data Control Language(数据控制语言, 用来管理数据库用户, 控制数据库的访问权限)

FBK550的博客 2536

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MYSQL数据库中DDL、DML、DQL、DCL详解

删除表数据(TRUNCATE TABLE 表名),保留表的结构,不能加where,会将自增字段的值进行重置,当需要删除表中所有数据时,truncate速度比delete快,它实际上是删除了原来的表,然后新建了一个一模一样的表,所以不支持事务回滚,且只会返回0。删除表数据(DELETE FROM 表名 [where...]),保留表的结构,而且可以加where只删除一行或者多行,不会将自增字段的值进行重置,它是一行一行删除数据的,支持事务回滚,返回删除数据的行数。ADD COLUMN

Aku_2020的博客 723

MySQL中的DDL、DML、DQL和DCL详解

数据定义语言(DDL)数据定义语言(DDL)用于定义和管理数据库的结构。它包括创建、修改和删除数据库对象(如表、索引、视图等)的操作。CREATE:用于创建新的数据库对象,如表、索引、视图等。ALTER:用于修改现有数据库对象的结构,如添加或删除列。DROP:用于删除数据库对象。TRUNCATE:用于快速删除表中的所有行,但保留表结构。

m0_74258518的博客 313

MySQL核心语句--DDL,DML,DQL,DCL,TCL详解

最主要最多的在于DQL,分类关键字要熟练使用

qq_57547315的博客 745

MySQL 五大类 SQL 命令详解:DQL、DML、DDL、DCL、TCL

DDL 用于定义数据库的结构,包括创建、修改和删除数据库对象(如表、索引、视图等),常用的命令有 CREATE、ALTER 和 DROP。-- 创建表-- 修改表,添加新列-- 删除表DDL 命令会改变数据库的结构,通常这些操作是不可逆的,需要谨慎执行。DQL:用于查询数据,如 SELECT。DML:用于增删改数据,如 INSERT、UPDATE 和 DELETE。DDL:用于定义数据库结构,如 CREATE、ALTER 和 DROP。DCL。

weixin_44161678的博客 627

MySQL中的SQL详解(DDL、DML、DQL、DCL)

SQL详解:结构化查询语言全解析 SQL(结构化查询语言)是关系数据库的核心操作语言,包含四大功能模块:数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)。DDL通过CREATE/ALTER/DROP命令管理数据库结构;DML使用INSERT/UPDATE/DELETE操作表数据;DQL通过SELECT实现数据查询;DCL则通过GRANT/REVOKE控制用户权限。本文详细解析了SQL语法体系,包括表结构操作、数据增删改查以及用户权限管理等核心内容,涵盖字段修改、约束条件设置。

qq_57492774的博客 998

MySQL数据库——SQL语句(完整详解DDL、DML、DQL、DCL语句,涵盖增删改查。附有案例+代码)

MySQL数据库——SQL语句(完整详解DDL、DML、DQL、DCL语句,。附有案例+代码)涵盖增删改查,包括函数等。

Java技术加油站的博客 1939

MYSQL(一)SQL语句的分类DQL、DML、DDL、DCL概念详解代码实现、计算函数、时间函数、字符串函数

目录(一)MySql数据库1.1 简介1.2 SQL语句的分类(DQL、DML、DDL、DCL)1.3 简单查询1.4 条件查询1.4.1 and和between...and1.4.2 is null 或 is not null1.4.3 and 和 or (一)MySql数据库 1.1 简介 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 设置编码格式:alter database ‘数据库名’ charact

java开发、后端开发者 1592

MySQL基础篇:SQL语句的通用语法、SQL的分类(DDL、DML、DQL、DCL区别)详解,你确定不来看看?

SQL一、SQL概述二、SQL通用语法三、SQL的分类01、DDL02、DML03、DQL04、DCL 一、SQL概述 提示:这里可以添加本文要记录的大概内容: 全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。 二、SQL通用语法 1). SQL语句可以单行或多行书写,以分号结尾。 2). SQL语句可以使用空格/缩进来增强语句的可读性。 3). MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

Argonaut_的博客 972

Mysql(数据库)知识详解【1】~{SQL语句(DDL,DQL,DML,DCL)}

希望能帮助到对于MySQL【数据库】的学习者

Chinachen优快云的博客 628

JAVAWEB开发之数据库简介、MySQL的安装与卸载(处理中文乱码)、以及MySQL语言(DDL、DML、DCL、DQL)的详解和使用

SQL:Structured query language  即 结构化查询语句、 数据库简介 什么是数据库?   数据库就是一个文件系统,但是访问的时候需要使用标准SQL语句来访问数据。 关系型数据库:存储的都是实体与实体之间的关系。 可以通过ER模型图来描述之间的关系 常见的数据库: Oracle:甲骨文公司的数据库产品,大型的收费的数据库。 SQLServer:微软公

1111
上一篇: 源码编译mariadb-10.2.29
下一篇: ansible的浅谈
abbydown05
博客等级 码龄7年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值