MySQL基础入门上篇

MySQL基础

介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mysql -uroot -p -h127.0.0.1 -P3306

在这里插入图片描述


项目设计

在这里插入图片描述
在这里插入图片描述
具备数据库一定的设计能力和操作数据的能力。

数据库设计DDL

定义

在这里插入图片描述

操作

显示所有数据库

show databases;

创建数据库
create database db02;

数据库名唯一,不能重复。
在这里插入图片描述
查询是否创建成功
在这里插入图片描述

加入一些判断语句

create database if not exists db02;

存在不会报错,也会不再创建,如果不存就会创建
在这里插入图片描述
在这里插入图片描述


连接数据库
use db01;

在这里插入图片描述

删除数据库

drop database db03;

在这里插入图片描述

这里可以加入条件判断

drop database if exists db03;

小结

在这里插入图片描述
在这里插入图片描述

图形化DDL

在这里插入图片描述
这边直接使用idea也可以图形化操作

表结构设计

操作

创建
在这里插入图片描述

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

ps:comment 为备注的意思

在这里插入图片描述

在这里插入图片描述

也可以通过idea手动添加

在这里插入图片描述
在这里插入图片描述

约束
定义表结构的时候需要一些约束
在这里插入图片描述
在这里插入图片描述

-- 创建表结构
create table tb_user(id int primary key auto_increment comment 'ID, 唯一标识',username varchar(20) unique not null comment '用户名',name varchar(10) not null comment '姓名',age int comment '年龄',gender char(1) default '男' comment '性别'
) comment '用户表';

在这里插入图片描述

实现:
在这里插入图片描述

案例

图形化操作
在这里插入图片描述
新建列
在这里插入图片描述
在这里插入图片描述

create table tb_emp (id int unsigned primary key auto_increment comment 'ID',username varchar(20) not null unique comment '用户名',password varchar(32) default '123456' comment '密码',name varchar(10) not null comment '姓名',gender tinyint unsigned not null comment '性别, 说明: 1 男, 2 女',image varchar(300) comment '图像',job tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管',entrydate date comment '入职时间',create_time datetime not null comment '创建时间',update_time datetime not null comment '修改时间'
) comment '员工表';

表操作(DLL)

在这里插入图片描述
在这里插入图片描述

操作

查表结构和表名
-- 查询表
show tables;-- 查看指定表结构
desc tb_emp;-- 查询创建表结构
show create table tb_emp;

查看表
在这里插入图片描述

查询表结构
在这里插入图片描述

查看表的建表语句
在这里插入图片描述

修改表结构

在这里插入图片描述

-- DDL: 修改表结构
-- 修改:为表添加qq 字段 varchar(11)
alter table tb_emp add qq varchar(11) comment 'QQ字段';alter table tb_emp modify qq varchar(13) comment 'QQ字段';alter table tb_emp change qq qq_num varchar(13) comment 'QQ字段';-- 修改:删除tb_emp 的qq_num字段
alter table tb_emp drop column qq_num;-- 修改:将tb_emp表名修改为emp
rename table tb_emp to emp;

在这里插入图片描述
在这里插入图片描述
可以用图形化工具进行操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除表

在这里插入图片描述

drop table if exists tb_test;

插入测试数据

-- 插入数据
-- 因为设计表时create_time, update_time两个字段不能为NULL,所以也做为要插入的字段
insert into tb_emp(username, name, gender, create_time, update_time)
values ('wuji', '张无忌', 1, now(), now());
insert into tb_emp(id, username, password, name, gender, image, job, entrydate, create_time, update_time)
values (null, 'zhirou', '123', '周芷若', 2, '1.jpg', 1, '2010-01-01', now(), now());
insert into tb_emp(username, name, gender, create_time, update_time)
values ('weifuwang', '韦一笑', 1, now(), now()),('fengzi', '张三疯', 1, now(), now());

在这里插入图片描述
在这里插入图片描述

DML(UPDATE,更新数据)

在这里插入图片描述

update tb_emp set name='张三',update_time=now() where id=1;

在这里插入图片描述
在这里插入图片描述

-- 修改全部的数据,update_time=now()为当前时间
update tb_emp set entrydate='2010-01-01',update_time=now();

在这里插入图片描述

DML(DELETE)

在这里插入图片描述
在这里插入图片描述

-- 语法
-- delete from 表名  [where  条件] ;-- 删除tb_emp表中id为1的员工
delete from tb_emp where id=1;-- 删除tb_emp表中所有员工
delete from tb_emp;

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

查询(DQL)

定义

在这里插入图片描述

语法

在这里插入图片描述

插入测试数据

-- 创建数据
create database db02;-- 添加测数据
-- 员工管理(带约束)
create table tb_emp (id int unsigned primary key auto_increment comment 'ID',username varchar(20) not null unique comment '用户名',password varchar(32) default '123456' comment '密码',name varchar(10) not null comment '姓名',gender tinyint unsigned not null comment '性别, 说明: 1 男, 2 女',image varchar(300) comment '图像',job tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管',entrydate date comment '入职时间',create_time datetime not null comment '创建时间',update_time datetime not null comment '修改时间'
) comment '员工表';-- 准备测试数据
INSERT INTO tb_emp (id, username, password, name, gender, image, job, entrydate, create_time, update_time) VALUES(1, 'jinyong', '123456', '金庸', 1, '1.jpg', 4, '2000-01-01', '2022-10-27 16:35:33', '2022-10-27 16:35:35'),(2, 'zhangwuji', '123456', '张无忌', 1, '2.jpg', 2, '2015-01-01', '2022-10-27 16:35:33', '2022-10-27 16:35:37'),(3, 'yangxiao', '123456', '杨逍', 1, '3.jpg', 2, '2008-05-01', '2022-10-27 16:35:33', '2022-10-27 16:35:39'),(4, 'weiyixiao', '123456', '韦一笑', 1, '4.jpg', 2, '2007-01-01', '2022-10-27 16:35:33', '2022-10-27 16:35:41'),(5, 'changyuchun', '123456', '常遇春', 1, '5.jpg', 2, '2012-12-05', '2022-10-27 16:35:33', '2022-10-27 16:35:43'),(6, 'xiaozhao', '123456', '小昭', 2, '6.jpg', 3, '2013-09-05', '2022-10-27 16:35:33', '2022-10-27 16:35:45'),(7, 'jixiaofu', '123456', '纪晓芙', 2, '7.jpg', 1, '2005-08-01', '2022-10-27 16:35:33', '2022-10-27 16:35:47'),(8, 'zhouzhiruo', '123456', '周芷若', 2, '8.jpg', 1, '2014-11-09', '2022-10-27 16:35:33', '2022-10-27 16:35:49'),(9, 'dingminjun', '123456', '丁敏君', 2, '9.jpg', 1, '2011-03-11', '2022-10-27 16:35:33', '2022-10-27 16:35:51'),(10, 'zhaomin', '123456', '赵敏', 2, '10.jpg', 1, '2013-09-05', '2022-10-27 16:35:33', '2022-10-27 16:35:53'),(11, 'luzhangke', '123456', '鹿杖客', 1, '11.jpg', 2, '2007-02-01', '2022-10-27 16:35:33', '2022-10-27 16:35:55'),(12, 'hebiweng', '123456', '鹤笔翁', 1, '12.jpg', 2, '2008-08-18', '2022-10-27 16:35:33', '2022-10-27 16:35:57'),(13, 'fangdongbai', '123456', '方东白', 1, '13.jpg', 1, '2012-11-01', '2022-10-27 16:35:33', '2022-10-27 16:35:59'),(14, 'zhangsanfeng', '123456', '张三丰', 1, '14.jpg', 2, '2002-08-01', '2022-10-27 16:35:33', '2022-10-27 16:36:01'),(15, 'yulianzhou', '123456', '俞莲舟', 1, '15.jpg', 2, '2011-05-01', '2022-10-27 16:35:33', '2022-10-27 16:36:03'),(16, 'songyuanqiao', '123456', '宋远桥', 1, '16.jpg', 2, '2010-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:05'),(17, 'chenyouliang', '12345678', '陈友谅', 1, '17.jpg', null, '2015-03-21', '2022-10-27 16:35:33', '2022-10-27 16:36:07'),(18, 'zhang1', '123456', '张一', 1, '2.jpg', 2, '2015-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:09'),(19, 'zhang2', '123456', '张二', 1, '2.jpg', 2, '2012-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:11'),(20, 'zhang3', '123456', '张三', 1, '2.jpg', 2, '2018-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:13'),(21, 'zhang4', '123456', '张四', 1, '2.jpg', 2, '2015-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:15'),(22, 'zhang5', '123456', '张五', 1, '2.jpg', 2, '2016-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:17'),(23, 'zhang6', '123456', '张六', 1, '2.jpg', 2, '2012-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:19'),(24, 'zhang7', '123456', '张七', 1, '2.jpg', 2, '2006-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:21'),(25, 'zhang8', '123456', '张八', 1, '2.jpg', 2, '2002-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:23'),(26, 'zhang9', '123456', '张九', 1, '2.jpg', 2, '2011-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:25'),(27, 'zhang10', '123456', '张十', 1, '2.jpg', 2, '2004-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:27'),(28, 'zhang11', '123456', '张十一', 1, '2.jpg', 2, '2007-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:29'),(29, 'zhang12', '123456', '张十二', 1, '2.jpg', 2, '2020-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:31');

基本查询语法

在这里插入图片描述

-- DQL 查询
-- 1.查询指定字段 name,entrydate 并返回
select name,entrydate from tb_emp;-- 2,查询返回所有字段
-- 不推荐(不直观,性能低)
select * from tb_emp;-- 推荐
select id, username, password, name, gender, image, job, entrydate, create_time, update_time from tb_emp;-- 3,查询所有员工的name,entrydate,并起别名(姓名、入职日期)
select name as "姓 名",entrydate as '入职   日期' from tb_emp;
select name  姓名,entrydate  入职日期 from tb_emp;-- 4,查询已有的员工关联了那几种职位(不要重复)
select job from tb_emp;
select distinct job  from  tb_emp;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

条件查询

在这里插入图片描述

-- 条件查询
-- 案例1:查询 姓名 为 杨逍 的员工
select * from tb_emp where name = '杨逍';-- 案例2:查询 id小于等于5 的员工信息
select * from tb_emp where id <= 5;-- 案例3:查询 没有分配职位 的员工信息
select * from tb_emp where job is null;-- 案例4:查询 有职位 的员工信息
select * from tb_emp where  job is not null;-- 案例5:查询 密码不等于 '123456' 的员工信息
select * from tb_emp where password != '123456';-- 案例6:查询 入职日期 在 '2000-01-01' (包含) 到 '2010-01-01'(包含) 之间的员工信息
select * from tb_emp where entrydate between '2000-01-01' and   '2010-01-01';
select * from tb_emp where entrydate >= '2000-01-01' and entrydate <= '2010-01-01';-- 案例7:查询 入职时间 在 '2000-01-01' (包含) 到 '2010-01-01'(包含) 之间 且 性别为女 的员工信息
select *
from tb_emp where entrydate between '2000-01-01' and '2010-01-01' and gender = 2;-- 案例8:查询 职位是 2 (讲师), 3 (学工主管), 4 (教研主管) 的员工信息
select id, username, password, name, gender, image, job, entrydate, create_time, update_time from tb_emp where job = 2 || job = 3 || job =4 ;
select *
from tb_emp where job in(2,3,4);
-- 案例9:查询 姓名 为两个字的员工信息
select *
from tb_emp where name like '__';-- 案例10:查询 姓 '张' 的员工信息
select *
from tb_emp where name like '张%';

在这里插入图片描述
在这里插入图片描述

分组查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-- 分组查询,常见的聚合函数-- 案例1:统计该企业员工数量聚合函数
select count(username) from tb_emp;
select count(id) from tb_emp;
select count(job) from tb_emp;-- count 参量
select count('a') from tb_emp;-- count(*)  --推荐使用count(*)
select count(*) from tb_emp;-- 案例2:统计该企业最早入职的员工
select min(entrydate) from tb_emp;-- 案例3:统计该企业最迟入职的员工
select max(entrydate) from tb_emp;-- 案例4:统计该企业员工 ID 的平均值
select avg(id) from tb_emp;-- 案例5:统计该企业员工的 ID 之和
select sum(id) from tb_emp;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分组查询小结

在这里插入图片描述

分页查询

在这里插入图片描述
在这里插入图片描述

排序查询

在这里插入图片描述
在这里插入图片描述

-- 排序查询
-- 案例1:根据入职时间, 对员工进行升序排序
select * from tb_emp order by entrydate ASC;-- 案例2:根据入职时间,对员工进行降序排序
select * from tb_emp order by entrydate DESC;-- 案例3:根据入职时间对公司的员工进行升序排序,入职时间相同,再按照更新时间进行降序排序
select * from tb_emp order by entrydate ASC , update_time DESC;

在这里插入图片描述

综合案例

案例一

在这里插入图片描述
在这里插入图片描述

select * from tb_emp where name like '张%' and gender = 1 and entrydate between '2000-01-01' and '2015-12-31' order by update_time desc limit 0,10;

在这里插入图片描述

ctrl+alt+L 可以将一句变短
在这里插入图片描述

案例二

在这里插入图片描述

-- 完成员工性别统计
-- if(条件表达式, true取值, false取值)
select if(gender = 1, '男性员工' ,'女性员工') AS '性别',count(*) from tb_emp group by gender;-- AS可以省略
select if(gender = 1, '男性员工' ,'女性员工') '性别',count(*) '数量' from tb_emp group by gender;

在这里插入图片描述

select case jobwhen 1 then '班主任'when 2 then '讲师'when 3 then '学工主管'when 4 then '教研主管'else '未分配职位' end, count(*)
from tb_emp
group by job;

在这里插入图片描述
在这里插入图片描述

参考文章

https://www.bilibili.com/video/BV1m84y1w7Tb

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

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

相关文章

JVM修炼之路【12】- GC调优 、性能调优

上一篇中 我们详细讲了内存溢出 内存泄漏 还有相关的案例。 这篇博客中我们主要了解一下GC调优。 有些新手可能会有一点 疑问—— 这两者不是一回事吗&#xff1f;&#xff1f; 其实说一回事 也没错 因为GC调优本质上还是针对 堆上的内存 只不过前面我们关注的侧重点在于 不合…

软件设计师——软件工程基础知识

软件工程基础知识 软件过程软件过程模型软件测试方法进度管理软件复杂性度量环路复杂度耦合聚合和组合 软件过程 软件过程模型 软件测试方法 黑盒测试和白盒测试 白盒测试中&#xff0c;语句覆盖对程序执行逻辑的覆盖很低&#xff0c;因此一般认为它是很弱的逻辑覆盖。 进度管…

【Django开发】0到1美多商城项目md教程第7篇:登录,1. 互联开发者申请步骤【附代码文档】

美多商城完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;欢迎来到美多商城&#xff01;&#xff0c;项目准备。展示用户注册页面&#xff0c;创建用户模块子应用。用户注册业务实现&#xff0c;用户注册前端逻辑。图形验证码&#xff0c;图形验证码接口设…

HarmonyOS实战开发-自定义分享

介绍 自定义分享主要是发送方将文本&#xff0c;链接&#xff0c;图片三种类型分享给三方应用,同时能够在三方应用中展示。本示例使用数据请求 实现网络资源的获取&#xff0c;使用屏幕截屏 实现屏幕的截取&#xff0c;使用文件管理 实现对文件&#xff0c;文件目录的管理&…

地球上的七大洲介绍

地球上的七大洲示意图&#xff1a; 1. 亚洲&#xff08;Asia&#xff09;&#xff1a;世界上最大的洲&#xff0c;面积约为44579000平方公里。亚洲地域辽阔&#xff0c;包括从北极圈到赤道的各种气候和地形。它拥有世界上最多的人口&#xff0c;也是世界上一些最古老文明的发源…

transformer上手(4) —— 模型与分词器

1 模型 除了像之前使用 AutoModel 根据 checkpoint 自动加载模型以外&#xff0c;我们也可以直接使用模型对应的 Model 类&#xff0c;例如 BERT 对应的就是 BertModel&#xff1a; from transformers import BertModel model BertModel.from_pretrained("bert-base-ca…

28、链表-两数相加

思路&#xff1a; 有几个方面需要考虑 双指针遍历&#xff0c;如果出现和大于10那么向前进1如果长度不一样那么长的部分直接落下并且考虑进1 的问题 代码如下&#xff1a; class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {if (l1null||l2null){…

【40分钟速成智能风控14】数据处理和特征工程

目录 智能模型数据处理 重复值处理 一致性检验 数据交叉验证 线上线下验证 有效性检验 业务经验 数据分析 特征工程和特征筛选 探索性数据分析 字符型特征 缺失率过高 类别过少 异常值处理 智能模型数据处理 重复值处理 保证数据的唯一性也是数据清洗过程中需要…

金融机构与金融市场监管

金融机构与金融市场监管 中国的金融监管机构银行业监管的必要性银行业监管的基本目标银行业监管的基本内容商业银行的设立审批制度银行业日常监督管理流动性要求资产质量监管合理的内部控制制度风险集中和风险暴漏的监管银行资本风险资本的计算资本充足率的计算 中国的金融监管…

Hadoop+Spark大数据技术(微课版)曾国荪、曹洁版思维导图第四次作业 (第4章 HBase分布式DB)

1.简述Hbase的特点及与传统关系数据库的区别 HBase与传统关系数据库的区别 &#xff08;1&#xff09;数据类型 关系数据库具有丰富的数据类型&#xff0c;如字符串型、数值型、日期型、二进制型等。HBase只有字符串数据类型&#xff0c;数据的实际类型都是交由用户自己编写程序…

【JSON2WEB】14 基于Amis的CRUD开发30分钟速成

【JSON2WEB】系列目录 【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

【springCloud】版本学习

Spring Cloud介绍 官网地址&#xff1a;https://spring.io/projects/spring-cloud Spring Cloud 是一个基于 Spring Boot 的微服务架构解决方案&#xff0c;它提供了一系列工具和模式来帮助开发者构建分布式系统。Spring Cloud 的组件和模式包括配置管理、服务发现、断路器、…

1028: 特定字符序列的判断

解法&#xff1a; #include<iostream> #include<stack> using namespace std; int main() {stack<char> sk;char c;bool flag false;while (cin >> c) {if (c #) break;if (c ) {flag true;continue;}if (flag) {if (sk.top() c) {sk.pop();cont…

JavaScript知识点 --javaweb学习笔记

什么是Javascript? JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的&#xff0c;它能使网页可交互JavaScript 和Java 是完全不同的语言&#xff0c;不论是概念还是设计。但是基础语法类似JavaScript在1995 年由 Brendan Eich 发明&#xff0c;并…

【Spring Boot】深入解密Spring Boot日志:最佳实践与策略解析

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring Boot】深入解密Spring Boot日志&#xff1a;最佳实践与策略解析 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 Spring Boot 日志一. 日志的概念?…

OpenHarmony实战开发-FaultLoggerd组件。

简介 Faultloggerd部件是OpenHarmony中C/C运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件&#xff0c;Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志&#xff0c;定位相关问题。 架构 Native InnerKits 接口Sig…

汇舟问卷:国外问卷调查适合哪些人?

在这个快节奏的时代&#xff0c;朝九晚五的工作模式似乎已经成为许多人的固定生活模式。然而&#xff0c;这种日复一日的工作方式往往让人感到疲惫和厌倦&#xff0c;我们渴望找到一种既能赚钱又能兼顾生活的方式。 海外问卷调查作为一种适合在家做的赚钱方式&#xff0c;这两…

【Golang学习笔记】从零开始搭建一个Web框架(二)

文章目录 模块化路由前缀树路由 前情提示&#xff1a; 【Golang学习笔记】从零开始搭建一个Web框架&#xff08;一&#xff09;-CSDN博客 模块化路由 路由在kilon.go文件中导致路由和引擎交织在一起&#xff0c;如果要实现路由功能的拓展增强&#xff0c;那将会非常麻烦&…

基于Springboot+Vue的Java项目-课程作业管理系统(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

rocketmq面试

broker主从复制机制 同步复制&#xff1a; 等Master和Slave均写成功后&#xff0c;才反馈给客户端写成功状态&#xff1b; 如果Master出故障&#xff0c; Slave上有全部的备份数据&#xff0c;容易恢复&#xff0c;但是同步复制会增大数据写入延迟&#xff0c;降低系统吞吐量。…