常见Mysql数据库操作语句

-- DDL创建数据库结构
-- 查询所有数据库
show databases ;
-- 修改数据库字符集
alter database db02 charset utf8mb4;
-- 创建字符编码为utf——8的数据库
create database db05 DEFAULT CHARACTER SET utf8;-- 创建表格
create table tb_user(id int auto_increment primary key comment 'ID,唯一标识',username varchar(20) not null unique comment '用户名',name varchar(20) not null  comment '姓名',age int comment '年龄',gender varchar(20)  default '男' comment '性别'
)comment '用户表';-- 创建表格2
create table tb_emp
(id          int auto_increment comment 'ID主键'primary key,create_time datetime                     not null comment '创建时间',update_time datetime                     not null comment '更新时间',username    varchar(20)                  not null comment '用户名',password    varchar(32) default '123456' null comment '密码',name        varchar(10)                  not null comment '员工姓名',gender      tinyint unsigned             not null comment '1男 2女',image       varchar(300)                 null comment '图像',job         tinyint unsigned             null comment '1班主任 2讲师 3学工主管 4教研主管',entrydate   date                         null comment '入职日期',constraint tb_emp_username_uindexunique (username)
)comment '员工表';-- 查询表结构
desc tb_emp;-- 删除表
drop table tb_emp;-- DML数据操作语言
insert into tb_emp(id, create_time, update_time, username, password, name, gender, image, job, entrydate) values
(null,now(),now(),'zhouzhiruo3','123','周芷若',2,'1.jpg',2,'2023-12-28');insert into tb_emp values (null,now(),now(),'zhangwuji2','123','张无忌',1,'2.jpg',1,'2023-12-28');insert into tb_emp (id, create_time, update_time, username, name, gender) values (null,now(),now(),'weiyixiao1','韦一笑',2);insert into tb_emp (create_time, update_time,username, name, gender) values (now(),now(),'weiyixiao3','韦一笑',2);update tb_emp set name='张三',update_time=now() where id=1;update tb_emp set entrydate='2024-1-1',update_time=now() ;delete from tb_emp where id=10;-- DQL数据查询语言
select id, create_time, update_time, username, password, name, gender, image, job, entrydate from tb_emp ;
-- 别名
select username as '用户名' ,job  '职位'  ,update_time 更新时间 from tb_emp;
-- 去重
select distinct job  from tb_emp;
-- 条件查询
select * from tb_emp where entrydate between '2023-12-28' and '2023-12-29';select * from tb_emp where name like '张_';select * from tb_emp where job in (1,3);select * from tb_emp where image is not null ;
-- 聚合函数
select count('7') from tb_emp;-- 分组查询
select gender,count(*) from tb_emp group by gender having count(*)>3;select job,count(*) from tb_emp where entrydate<'2024-01-01'group by job having job=2;select * from tb_emp where username='zhouzhiruo3';-- 排序查询
select * from tb_emp order by entrydate desc ,job;-- 分页查询
select * from tb_emp limit 5;
select * from tb_emp limit 0,5;select * from tb_emp limit 5,5;-- MYSQL控制函数 if 和caseselect if(gender=1,'男性','女性') 性别,count(*) 数量 from tb_emp group by gender;select (case job when 1 then '班主任' when 2 then '学生' when 3 then '助教' else '其他' end) 职位 ,count(*)from tb_emp group by job;
select (case job when 1 then '班主任' when 2 then '学生' when 3 then '助教' else '其他' end) 职位 from tb_emp;-- 案例创建category分类表
-- 多表查询select * from tb_emp,tb_dept;
select * from tb_emp;-- 隐式内连接
select * from tb_emp,tb_dept where tb_emp.dept_id=tb_dept.id;select tb_emp.name,tb_dept.deptname from tb_emp,tb_dept where tb_emp.dept_id=tb_dept.id;-- 显式内连接
select tb_emp.name,tb_dept.deptname from tb_emp inner join tb_dept on tb_emp.dept_id = tb_dept.id;
select e.name,d.deptname from tb_emp e join tb_dept d on e.dept_id = d.id;
-- 左外链接select e.name,d.deptname from tb_emp e left join tb_dept d on e.dept_id = d.id-- 右外链接
select e.name,d.deptname from tb_emp e right join tb_dept d on e.dept_id = d.id;-- 标量子查询
-- 查询教研部门下的员工
select id from tb_dept where tb_dept.deptname='教研部门';select * from tb_emp where tb_emp.dept_id = 2;select * from tb_emp e where e.dept_id = (select id from tb_dept d where d.deptname='教研部门');-- 查看房东白后入职的员工信息
select entrydate from tb_emp e where e.name='方东白';
select entrydate from tb_emp e where entrydate >'2021-01-04';select entrydate from tb_emp e where entrydate >(select entrydate from tb_emp e where e.name='方东白');
-- 列子查询
-- 查询教研部门和后勤部门的员工信息select id from tb_dept where deptname in('教研部门','后勤部门');select * from tb_emp where tb_emp.dept_id in(2,3);select * from tb_emp where tb_emp.dept_id in(select id from tb_dept where deptname in('教研部门','后勤部门'));-- 行子查询
-- 查询和风不吹相同入职时间和职位的员工信息。
select entrydate,job from tb_emp where name ='风不吹';select * from tb_emp where entrydate = '2025-01-04' and job  = 7 ;select * from tb_emp where (entrydate,job) = (select entrydate,job from tb_emp where name ='风不吹');-- 表子查询
-- 查询2024-01-04号后的员工信息,及部门名称
select * from tb_emp where entrydate >'2024-01-04' ;select e.*,d.deptname from (select * from tb_emp where entrydate >'2024-01-04') e,tb_dept d where e.dept_id= d.id;-- 分类表
create table category
(id          int unsigned auto_increment comment '主键ID'primary key,name        varchar(20)                not null comment '分类名称',type        tinyint unsigned           not null comment '分类类型:1菜品分类 2套餐分类',sort        tinyint unsigned           not null comment '排序字段',status      tinyint unsigned default 0 not null comment '状态:0停售 1启售',create_time datetime                   not null comment '创建时间',update_time datetime                   not null comment '更新时间',constraint category_name_uindexunique (name)
)comment '分类表';
-- 菜品表
create table dish
(id           int unsigned auto_increment comment '主键id'primary key,name         varchar(20)                not null comment '菜品名称',category_id  int unsigned               not null comment '菜品分类',price        decimal(8, 2)              not null comment '价格',image        varchar(300)               not null comment '图片',describetion varchar(200)               null comment '描述',status       tinyint unsigned default 0 not null comment '状态 0停售 1起售',create_time  datetime                   not null comment '创建时间',update_time  datetime                   not null comment '修改时间',constraint dish_name_uindexunique (name)
)comment '菜品表';-- 套餐表
create table setmeal
(id          int unsigned auto_increment comment '主键id'primary key,name        varchar(20)                not null comment '套餐名称',category_id int unsigned               not null comment '套餐分类id',price       decimal(8, 2)              not null comment '价格',image       varchar(300)               not null comment '图片',description varchar(200)               null comment '描述信息',status      tinyint unsigned default 0 not null comment '状态:0停售 1启售',create_time datetime                   not null comment '创建时间',update_time datetime                   not null comment '修改时间',constraint setmeal_name_uindexunique (name)
)comment '套餐表';
-- 套餐菜品表
create table setmeal_dish
(id         int unsigned auto_increment comment '主键ID'primary key,setmeal_id int unsigned     not null comment '套餐ID',dish_id    int unsigned     not null comment '菜品ID',copies     tinyint unsigned not null comment '菜品的份数'
)comment '套餐菜品关系表';-- 查询价格低于10元的,菜品名称价格和及菜品的分类名称select d.name,d.price,c.name from category c,dish d where c.id=d.category_id and d.price<10  ;
-- 查询所有价格在10-50(包含)之间的菜品且状态为‘起售’的名称,价格,及分类名称(即使菜品没有分类,也要查询出来)select d.name,d.price,c.name , d.status from dish d left join category c on d.category_id = c.id  where  d.status=1  and  d.price between 10 and 50  ;
select d.name,d.price,c.name from dish d left join category c on d.category_id = c.id  where  d.price between 10 and 50 and d.status=1 ;-- 查询每个分类下,最贵的菜品,展示出分类的名称,最贵的菜品价格;
select c.name,d.name,max(d.price) from dish d ,category c where d.category_id=c.id group by c.id ;-- 查询每个分类下,菜品状态为‘起售’,并且该分类下菜品的数量大于等于2的分类名称select c.name,count(*) from category c,dish d where c.id = d.category_id and d.status=1 group by c.name having count(*)>=2;-- 查询经典川菜中包含那些菜品,套餐的名称价格,菜品的名称价格和份数。select d.name,s.name,s.price,d.name,sd.copies from dish d,setmeal s,setmeal_dish sd where s.id=sd.setmeal_id and d.id=sd.dish_id and s.name='经典川菜';-- 查询低于菜品平均价格的菜品信息,菜品名称,菜品价格
select avg(price)
from dish;select name,price from dish where price<(select avg(price) from dish);-- 事务
-- 开启事务
start transaction ;
delete  from tb_dept where id=1;
delete  from tb_emp where dept_id=1;
-- 提交事务
commit;
-- 回滚事务
rollback;select * from tb_emp;
select * from tb_dept;-- 创建索引
create index idx_emp_name on tb_emp(name);-- 查看索引
show index  from tb_emp;-- 删除索引
drop index idx_emp_name on tb_emp;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/327845.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios 裁剪拼装图片

//1.获取图片UIImage *image [UIImage imageNamed:"123.jpg"];//处理图片//2.获取图片的长度long length image.size.width/4;//3.图片顶点索引long indices[] {length * 2,length,//右 right0,length,//左 leftlength,0,//上 toplength,length * 2,//底 bottomle…

【airsim】python控制airsim

使用airsim 1.8.1编译完成&#xff0c;进过block项目在cpp测试后&#xff0c;开始踩坑使用python。 使用AirSim\PythonClient\setup.py或者pip安装airsim。 python setup.py install或者 pip install airsim此时&#xff0c;windows电脑的环境信息 (air_py38) D:\code\Gith…

[技术杂谈]使用VLC将视频转成一个可循环rtsp流

通过vlc播放器&#xff0c;将一个视频转成rtsp流&#xff0c;搭建一个rtsp服务器。rtsp客户端可访问这个视频的rtsp流。 1. 打开vlc播放器&#xff0c;使用的版本如下 2. 菜单&#xff1a;媒体 ---> 流 3. 添加视频文件&#xff0c;点击添加一个mp4 文件 4. 选择串流&…

【gRPC学习】使用go学习gRPC

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 RPC是远程调用,而google实现了grpc比较方便地实现了远程调用,gRPC是一个现代的开源远程过程调用(RPC)框架 概念介绍 在gRPC中&#xff0c;客户端应用程序可以直接调用另一台计算机上的服务器应用程序上的方法&#…

记录汇川:H5U与Fctory IO 测试1

主程序&#xff1a; 子程序&#xff1a; Fctory IO通讯配置如下 &#xff1a; H5U作服务器&#xff0c;Fctory IO作客户端 这里参考&#xff1a;HU5作服务器地址 实现的动作如下&#xff1a; H5U与Factory IO联动

代码快递员:extern如何送达静态变量至各文件目的地

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光。 前言&#xff1a;话说有一天&#xff0c;静态变量先生和extern女士一起去参加编程界的武林大会。静态变量先生自豪地说&#xff1a;“你知道我为什么这么受欢迎吗&#xff1f;因为我可是个低调的富翁&#xff0c;我…

动态编译 - Dynamically Compile and Load External Java Classes

文章目录 概述Code 概述 动态编译和加载外部Java类的核心流程可以概括为以下几个步骤&#xff1a; 读取源代码: 首先&#xff0c;需要获取到外部的Java源代码。这通常是通过读取文件、网络资源或者数据库中的源代码字符串来实现的。编译源代码: 接下来&#xff0c;需要使用Ja…

html5实现好看的个人博客模板源码

文章目录 1.设计来源1.1 主界面1.2 认识我界面1.3 我的文章界面1.4 我的模板界面1.5 文章内容界面 2.结构和源码2.1 目录结构2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/135368653 html5实现好看…

物联网的感知层、网络层与应用层分享

物联网的概念在很早以前就已经被提出&#xff0c;20世纪末期在美国召开的移动计算和网络国际会议就已经提出了物联网(Internet of Things)这个概念。 最先提出这个概念的是MIT Auto-ID中心的Ashton教授&#xff0c;他在研究RFID技术时&#xff0c;便提出了结合物品编码、互联网…

【论文解读】基于神经辐射场NeRF的像素级交互式编辑(Seal-3D)

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://arxiv.org/pdf/2307.15131 项目主页&#xff1a;https://windingwind.github.io/seal-3d/ 摘要&#xff1a; 随着隐式神经表征或神经辐射场&#xff08;NeRF&#xff09;的普及…

针对人工智能的攻击并发布策略和建议

人工智能系统已经渗透到现代社会的各个领域。从自动驾驶到疾病诊断以及作为在线聊天机器人与客户互动。 为了学习如何执行这些任务&#xff0c;聊天机器人需要接受大量数据的训练。然而&#xff0c;主要问题之一是这些数据可能不可靠。攻击者有很多机会破坏它们。这都是在AI系…

docker、docker-compose 离线安装、shell脚本一键安装、卸载

注&#xff1a;二进制包&#xff0c;与脚本在同级目录 docker 离线安装&#xff1a; 包下载&#xff1a;https://download.docker.com/linux/static/stable/x86_64/ docker_install.sh&#xff1a; #!/bin/bash# 指定 Docker 版本和文件名 DOCKER_VERSION"24.0.7" D…

【影刀RPA_如何使用影刀的企业微信指令?】

思路&#xff1a;先用python代码过一遍&#xff0c;再将必要参数填到指令里面。 第一步&#xff1a; 1、在企业微信后台新建应用&#xff0c;设置消息接收地址&#xff08;需要服务器的公网ip地址&#xff09;&#xff0c;进行签名验证。然后&#xff0c;从浏览器中查询ip地址…

C语言基础知识(5):TCP网络编程

TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构&#xff0c;当应用程序采用 TCP 发送消息时&#xff0c;虽然可以保证发送的顺序&#xff0c;但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输&#xff0c;实行“顺序控制”或“重发控制”机制。此…

Redis 持久化——AOF

文章目录 为什么需要AOF?概念持久化查询和设置1. 查询AOF启动状态2. 开启AOF持久化2.1 命令行启动AOF2.2 配置文件启动 AOF 3. 触发持久化3.1 自动触发3.3 手动触发 4. AOF 文件重写4.1 什么是AOF重写&#xff1f;4.2 AOF 重写实现4.3 AOF 重写流程 5. 配置说明6. 数据恢复6.1…

【SpringCloud】之远程消费(进阶使用)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringCloud开发之远程消费》。&#x1f3af;&a…

H266/VVC多样化视频编码工具概述

全景视频编码 全景视频&#xff1a; 具有360度全包围视角的球面视频。 全景视频编码&#xff1a; 包括H266在内的视频编码算法都是以平面视频为对象的&#xff0c;为了采用传统的视频编码编码算法&#xff0c;全景视频需要转换为平面视频&#xff0c;其中经纬图等角映射&#…

dubbo的基础知识

dubbo是什么 Dubbo是一个分布式服务框架&#xff0c;是一种高性能的远程通讯框架。它提供了基于Java的RPC&#xff08;远程过程调用&#xff09;通信机制&#xff0c;使得应用之间可以方便地进行远程调用&#xff0c;实现分布式服务的调用和管理。Dubbo提供了服务注册、发现、负…

【大数据进阶第三阶段之Hive学习笔记】Hive常用命令和属性配置

目录 1、Hive安装 2、HiveJDBC访问 2.1、启动hiveserver2服务 2.2、连接hiveserver2服务 2.3、注意 3、Hive常用交互命令 3.1、“-e”不进入hive的交互窗口执行sql语句 3.2、“-f”执行脚本中sql语句 4、Hive其他命令操作 4.1、退出hive窗口 4.2、在hive cli命令窗口…

基于OpenCV的透视变换

基础概念 透视变换(Perspective Transformation)是仿射变换的一种非线性扩展,是将图片投影到一个新的视平面(Viewing Plane)&#xff0c;也称作投影映射(Projective Mapping)。 原理&#xff1a;将二维的图片投影到一个三维视平面上&#xff0c;然后再转换到二维坐标下&#…