可以做lebenslauf的网站/营销排名seo

可以做lebenslauf的网站,营销排名seo,dhl网站做形式发票,做3个网站需要多大的服务器目录 一、mysql之DML 增加语句 删除语句和truncate 更新语句 replace语句 select查询语句 二、select多种用法 查询时的别名使用 分组 分组后的筛选 结果排序 分页功能 分表 多表关联查询 练习题 一、单表查询 二、多表查询 前面已经学习了mysql的安装和基本语…

目录

一、mysql之DML

增加语句

删除语句和truncate

更新语句

replace语句

select查询语句

二、select多种用法

查询时的别名使用

分组

分组后的筛选

结果排序

分页功能

分表

多表关联查询

练习题

一、单表查询

二、多表查询


前面已经学习了mysql的安装和基本语法,接下来我们继续学习其他的mysql基本语法是如何使用的

一、mysql之DML

增加语句

#语法
insert INTO table_name[(field1 [, field2 ……]) values(value1 [, vaule2 ……])  [,()]];
-- 插入多条数据 --
insert into t_user(id passwd) values(1,"123"),(2,"234"),(3,"345")

示例:

删除语句和truncate

删除语言,请注意删除的条件!!!如果不带条件,则删除全表。

delete from table_name [where 条件];
truncate table table_name;

示例:

-- 如果没有条件,则清空全数据包【慎重!!】
delete from user;

-- truncate清空全表【注意:truncate删除数据是不经过数据字典】
truncate table students;

更新语句

更新就是修改表中的数据

#语法结构
update table_name set 字段1=新值 [, 字段2=新值, 字段3=字段3 + 1]   [where 条件];

示例:

#其他示例
update user_1 set age=20,password="root" where id=2;
update user_1 set age=age+1;

replace语句

该语句是集更新和插入为一体的语句;

如果表中没有这条数据,则执行插入,否则执行更新;

⚠️注意:replace的更新,本质是先删除,再插入

replace into user_1 (id,name) values(10,"test");

select查询语句

在开发中,查询语句是使用最多,也是CRUD中,复杂度最高的sql语句

#查询语法结构
select *|字段1 [, 字段2 ……] from 表名称 [, 表名称2……] [where 条件] [group by 字段 [having 分组后的筛选]] [order by 字段 [desc|asc] [字段2 [desc|asc] ……]] [limit 分页]-- 查询所有数据
select * from user_1;-- 查询需要的字段信息
select id,name,password from user_1;-- 查询一个字段,一个等值条件
select name from user_1 where id=1;#等值查询select password from user_1 where name="李四";

 select语句中的特殊情况:

对数值型数据列、变量、常量可以使用算数操作符创建表达式(+ - * /)

对日期型数据列、变量、常量可以使用部分算数操作符创建表达式(+ -)

运算符不仅可以在列和常量之间进行运算,也可以在多列之间进行运算。

SELECT last_name, salary, salary*12 FROM employees;

二、select多种用法

查询时的别名使用

select count(*) from test
select count(*) as 总人数 from test

分组

group by 字段

select gender from test group by gender;
select gender, count(gender) from test group by gender;

分组后的筛选

select gender,count(gender) from test group by gender having count(gender) > 5

结果排序

将查询结果,以特定的顺序展示(升序或者降序)

# 语法结构
order by 字段 
order by 字段 asc|desc;
order by 字段 asc|desc, 字段2 ;

分页功能

select语句,查询数据时,可能结果会非常多,此时就不能直接展示,分页展示。

总数量(all_data):查询 select count(*)

每页展示的数量(page_size):程序员定

当前页(cur_page):默认第一页,用户自己点击选择

总页数(all_page):总数量 % 每页的数量 == 0 整除后的商 : 商 + 1

limit num  # 查询多少条limit num1, num2; # num1: 偏移量, num2 : 每页的数量  limit cur_page * (page_size - 1), page_size;

分表

数据直接都存储在一张表中:

  • 如果数据很大,性能会出现问题

  • 将不同的数据,如果放在同一个表中,可能数据冗余

  • 数据冗余,会导致数据可能出错

将不同的类型,采用不同的数据表进行存储,如果两张表或者多张表之间存在关联关系,则可以采用外键来描述这种关联关系。

主表中,一般是一个字段,改字段一般是从表的主键。

create table grade(id int auto_increment,name varchar(50) unique,primary key (id)
);insert into grade(name) value("java精品班"),("python数据分析班"),("网络安全班"),("云原生高级班");create table student(id int primary key auto_increment,name varchar(50) unique,gender enum("F","M"),age int default 18,address varchar(255),class_id int
);

#插入一些数据
insert into student(name, class_id) values("小明", 1);
insert into student(name, class_id) values("小红", 2);
insert into student(name, class_id) values("小谢", 1);
insert into student(name, class_id) values("小高", 3);
insert into student(name, class_id) values("小紫", 1);
insert into student(name, class_id) values("小兰", 4);

-- 此时,插入了一条错误数据,该数据描述的外键不存在,是一条脏数据!!!
insert into student(name, class_id) values("小黑666", 44);
## 如果要避免出现这种情况,必须加入外键约束!

多表关联查询

select *|字段 [,……] from 表名称 [,表名称] ……-- 交叉连接(cross join)
-- 在查询多表时,不指定表的关联关系,数据只能全部匹配
-- 引发笛卡尔积现象
select * from student, grade;-- sql98的标准写法
select * from student cross join grade;

#内连接
select * from student, grade where student.class_id = grade.id;
select * from student, grade where student.class_id = grade.id and student.name = "小明";

练习题

一、单表查询

素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等
CREATE TABLE `worker` (`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float(8,2) NOT NULL,`政治面貌` varchar(10) NOT NULL DEFAULT '群众',`姓名` varchar(20) NOT NULL,`出生日期` date NOT NULL,PRIMARY KEY (`职工号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (101, 1001, '2015-5-4', 3500.00, '群众', '张三', '1990-7-1');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (101, 1002, '2017-2-6', 3200.00, '团员', '李四', '1997-2-8');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1003, '2011-1-4', 8500.00, '党员', '王亮', '1983-6-8');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1004, '2016-10-10', 5500.00, '群众', '赵六', '1994-9-5');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1005, '2014-4-1', 4800.00, '党员', '钱七', '1992-12-30');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1006, '2017-5-5', 4500.00, '党员', '孙八', '1996-9-2');

要求:

1、显示所有职工的基本信息。
select*from worker;
2、查询所有职工所属部门的部门号,不显示重复的部门号。  
select distinct 部门号 from worker;
3、求出所有职工的人数。
select count(*) as 总人数 from worker;
4、列出最高工和最低工资。 
select max(工资),min(工资) from worker;
5、列出职工的平均工资和总工资。
select avg(工资),sum(工资) from worker;
6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。 
create table workday(`职工号` int(11) primary key auto_increment,`姓名` varchar(10) unique,`参加工作` varchar(10)
);
7、显示所有女职工的年龄。 select name, age from worker where gender="女";
8、列出所有姓刘的职工的职工号、姓名和出生日期。
select 职工号,姓名,出生日期 from worker where 姓名 like "刘%";
9、列出1960年以前出生的职工的姓名、参加工作日期。
mysql> select 姓名,工作时间 from worker where 工作时间 <=1960-01-01;
10、列出工资在1000-2000之间的所有职工姓名。 
select 姓名  from worker where 工资 between 1000 and 2000;
11、列出所有陈姓和李姓的职工姓名。
select 姓名 from worker where 姓名 like "陈%" and 姓名 like "李%";
12、列出所有部门号为2和3的职工号、姓名、党员。
select 职工号, 姓名,政治面貌 from worker where 部门号 between 2 and 3 and 政治面貌 = "党员";
13、将职工表worker中的职工按出生的先后顺序排序。
select*from worker order by 出生日期 asc;
14、显示工资最高的前3名职工的职工号和姓名。 
select*from worker order by 工资 desc limit 3;
15、求出各部门党员的人数。 
select 部门号,sum(政治面貌="党员") as 党员人数 from worker group by 部门号;
16、统计各部门的工资和平均工资
select 部门号,sum(工资) as 总工资, avg(工资) as 平均工资 from worker group by 部门号;
17、列出总人数大于4的部门号和总人数
select 部门号,count(*) as 总人数 from worker group by 部门号 having count(*) > 4;

二、多表查询

1.创建student和score表
CREATE  TABLE student (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY ,
name  VARCHAR(20)  NOT NULL ,
sex  VARCHAR(4) ,
birth  YEAR,
department  VARCHAR(20) ,
address  VARCHAR(50)
);创建score表。SQL代码如下:
CREATE  TABLE score (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
stu_id  INT(10)  NOT NULL ,
c_name  VARCHAR(20) ,
grade  INT(10)
);2.为student表和score表增加记录
向student表插入记录的INSERT语句如下:
INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');
INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');
INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');
INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');向score表插入记录的INSERT语句如下:
INSERT INTO score VALUES(NULL,901, '计算机',98);
INSERT INTO score VALUES(NULL,901, '英语', 80);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,902, '中文',88);
INSERT INTO score VALUES(NULL,903, '中文',95);
INSERT INTO score VALUES(NULL,904, '计算机',70);
INSERT INTO score VALUES(NULL,904, '英语',92);
INSERT INTO score VALUES(NULL,905, '英语',94);
INSERT INTO score VALUES(NULL,906, '计算机',90);
INSERT INTO score VALUES(NULL,906, '英语',85);

要求:

3.查询student表的所有记录
select*from student;
4.查询student表的第2条到4条记录
select*from student limit 1,4;
5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
mysql> select id,name,department from student;
6.从student表中查询计算机系和英语系的学生的信息
select*from student where department ="计算机系" or department="英语系";
7.从student表中查询年龄18~22岁的学生信息
select*from student where age between 18 and 22;
8.从student表中查询每个院系有多少人
select department,count(department) as 人数 from student group by department; 
9.从score表中查询每个科目的最高分
select c_name,max(grade) from score group by c_name;
10.查询李四的考试科目(c_name)和考试成绩(grade)
select c_name,grade from student,score where student.id=score.stu_id and student.name="李四";
11.用连接的方式查询所有学生的信息和考试信息
select*from student,score;
12.计算每个学生的总成绩
select student.name as 姓名, sum(score.grade) as 总成绩 from student join score on student.id=score.stu_id group by student.id,student.name;
13.计算每个考试科目的平均成绩
select c_name ,avg(grade) from score group by c_name;
14.查询计算机成绩低于95的学生信息
select*from student join score on (student.id=score.stu_id) where grade <95 and c_name="计算机";
15.查询同时参加计算机和英语考试的学生的信息
select*from student join score on (student.id=score.stu_id) where c_name="计算机" or c_name="英语" and ;
16.将计算机考试成绩按从高到低进行排序
select grade as 计算机成绩 from score where c_name="计算机" order by grade desc ;
17.从student表和score表中查询出学生的学号,然后合并查询结果
select id as 学号 from student union select stu_id as 学号 from score order by 学号;
18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
select name,department,c_name,grade from student join score on (student.id=score.stu_id) where student.name like "张老六" or student.name like "王%";
19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
select name,(YEAR(CURDATE()) - birth) as 年龄,department,c_name as 考试科目,grade as 成绩 from student join score on(student.id=score.stu_id) and address like "湖南%";

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

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

相关文章

自动化测试selenium(Java版)

1.准备工作 1.1.下载浏览器 自动化测试首先我们要准备一个浏览器,我们这里使用谷歌(chrome)浏览器. 1.2.安装驱动管理 每一个浏览器都是靠浏览器驱动程序来启动,但是浏览器的版本更新非常快,可能我们今天测试的是一个版本,第二天发布了一个新的版本,那么我们就要重构代码,很…

伊利工业旅游4.0,近距离感受高品质的魅力

3月24日&#xff0c;在2025年第112届全国糖酒会&#xff08;简称春糖&#xff09;前夕&#xff0c;伊利集团“可感知高品质探寻荟”活动在成都召开&#xff0c;记者走进伊利在西南地区最大的乳制品生产基地—邛崃工厂&#xff0c;零距离见证液态奶、酸奶、冷饮等乳制品的诞生&a…

测试用例生成平台通过大模型升级查询功能,生成智能测试用例

在测试工作中&#xff0c;查询功能是各类系统的核心模块&#xff0c;传统的测试用例编写往往耗时且重复。如何让老旧平台焕发新活力&#xff1f;本文将结合大模型技术&#xff0c;通过用户输入的字段信息&#xff0c;自动化生成高效、精准的测试用例。同时&#xff0c;我们还将…

基于javaweb的SpringBoot雪具商城系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

【AI学习笔记】Coze平台实现将Excel文档批量导入数据库全过程

背景前摇&原视频教程&#xff1a; 最近看到很多同学都在用Coze平台操作数据&#xff0c;我也想了解一下工作流的搭建和数据处理过程&#xff0c;但是一下子又看不懂太复杂的逻辑&#xff0c;于是上B站搜索相关的基础教程。 Coze官方教程&#xff1a; 之前有看过Coze平台…

力扣32.最长有效括号(栈)

32. 最长有效括号 - 力扣&#xff08;LeetCode&#xff09; 代码区&#xff1a; #include<stack> #include<string> /*最长有效*/ class Solution { public:int longestValidParentheses(string s) {stack<int> st;int ans0;int ns.length();st.push(-1);fo…

Unity2D 五子棋 + Photon联网双人对战

开发环境配置 Unity版本2022.3 创建Photon账号以及申请Photon中国区服务 官网申请账号&#xff1a;Multiplayer Game Development Made Easy Photon Engine 中国区服务&#xff1a; 光子引擎photonengine中文站 成都动联无限科技有限公司(vibrantlink.com) 导入PUN2插件以及…

(UI自动化测试web端)第二篇:元素定位的方法_css定位之属性选择器

看代码里的【find_element_by_css_selector( )】( )里的表达式怎么写&#xff1f; 文章介绍了第四种写法属性选择器 &#xff0c;你要根据网页中的实际情况来判断自己到底要用哪一种方法来进行元素定位。每种方法都要多练习&#xff0c;全都熟了之后你在工作当中使用起来元素定…

2025-03-26 学习记录--C/C++-PTA 6-3 求链式表的表长

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 6-3 求链式表的表长 本题要求实现一个函数&#xff0c;求链式表的表长。 函数接口定义&#xff1a; &…

【Linux】Linux_Ubuntu与Windows之间的文件传输

一、Linux终端命令的复制粘贴 1.打开linux 终端&#xff0c;输入以下命令&#xff1a;&#xff08;注意&#xff0c;需要联网&#xff09; 2.命令行下载&#xff1a; sudo apt-get autoremove open-vm-tools 3.命令行安装&#xff1a; sudo apt-get install open-vm-tools-…

算法每日一练 (18)

&#x1f4a2;欢迎来到张翊尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 算法每日一练 (18)删除并获得点数题目描述解题思路解题…

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示 前言 不知道大家在编程时候的按键习惯是怎样的。输入完左括号后编辑器一般会自动补全右括号&#xff0c;输入完左括号的内容后&#xff0c;是按→跳过右括号还是按)跳过右括号呢&#xff1f; for (int i 0; i < a.s…

分布式爬虫框架Scrapy-Redis实战指南

引言 在当今数字化的时代背景下&#xff0c;互联网技术的蓬勃兴起极大地改变了旅游酒店业的运营模式与市场格局。作为旅游产业链中的关键一环&#xff0c;酒店业的兴衰与互联网技术的应用程度紧密相连。分布式爬虫技术&#xff0c;尤其是基于 Scrapy 框架的 Scrapy-Redis 扩展…

deepseek(2)——deepseek 关键技术

1 Multi-Head Latent Attention (MLA) MLA的核心在于通过低秩联合压缩来减少注意力键&#xff08;keys&#xff09;和值&#xff08;values&#xff09;在推理过程中的缓存&#xff0c;从而提高推理效率&#xff1a; c t K V W D K V h t c_t^{KV} W^{DKV}h_t ctKV​WDKVht​…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.1.3前馈网络(FFN)与激活函数(GELU)优化

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 2.1.3 前馈网络(FFN)与激活函数(GELU)优化1. 前馈网络(FFN)的架构设计与数学原理1.1 FFN在Transformer中的核心作用2. GELU激活函数的数学特性与优化2.1 GELU的数学形式与近似计算3. 逐行代码实现…

力扣刷题-热题100题-第24题(c++、python)

234. 回文链表 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/palindrome-linked-list/description/?envTypestudy-plan-v2&envIdtop-100-liked 常规法 数组是连续的存储空间&#xff0c;可以根据索引到达任意位置&#xff0c;链表只能一个个的顺…

调用通义千问实现语音合成并将合成的音频通过扬声器播放

1. 作者介绍 郭建东&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2024级研究生 研究方向&#xff1a;机器视觉与人工智能 电子邮件&#xff1a;1229963266qq.com 高金年&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2024级研究生&…

您的数据是如何出现在暗网上的?

暗网是互联网上的一个隐秘角落&#xff0c;人们可以在那里保持匿名。暗网经常与深网混淆&#xff0c;但它们并不完全相同。 深网是指网络上所有未被搜索引擎索引的内容。这包括电子邮件帐户、私人数据库和付费服务等。这并不违法&#xff0c;只是无法通过简单的 Google 搜索找…

thinkphp漏洞再现

Thinkphp5x远程命令执行及getshell 1、开环境 2、使用工具攻击 开启工具 输入地址&#xff0c;点击漏洞检测 存在漏洞之后&#xff0c;选择漏洞&#xff0c;执行命令 3、也可以执行远程命令 执行命令 ?sindex/think\app/invokefunction&functioncall_user_func_array&…

Day16 -实例:Web利用邮箱被动绕过CDN拿真实ip

本想测试一下全局ping&#xff0c;刚好注册的时候收到了邮件&#xff0c;刚好去做一下复现。 原理&#xff1a;主动让对方站点给我们发邮件&#xff08;注册、修改密码、订阅推送等&#xff09;我们查看邮件原文&#xff0c;原文里存在真实的邮件站点ip 特点&#xff1a;邮件…