mysql笔记—基础

news/2025/1/15 12:36:32/

1.SQL语句

DDL(数据库对象操作)、DML(增删改)、DQL(查询)、DCL(用户和权限操作)

2.DDL:

1.数据库操作:

show databases;

create database [];

use [];

select database();

drop database [];

2.表操作:

show tables;

create table []();

desc [];

show create table [];

alter table [] add/modify/drop/..;

drop table [];

3.DML

 1.添加:

insert into [表名]() values();

2.修改:

update [表名] set ... where ...;

3.删除:

delete from [表名] where...;

 4.DQL

案例:

查询年龄为20,21,22,23岁的女员工信息。

select * from table where gender = '女' and age in(20,21,22,23);

查询性别为 男 ,并且年龄在 20-40 岁(含)以内的姓名为三个字的员工。

select * from table where gender = '男' and age between 20 and 40 and name like '___';

统计员工表中,年龄小于60岁的,男性员工和女性员工的人数。

select gender,count(*) from table where age < 60 group by gender;

查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。

select name,age from table where age <= 35 order by age asc,join_time desc;

查询性别为男,且年龄在20-40 岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。
 

select * from table where gender = '男' and age between 20 and 40 order by age asc,join_time desc limit 5;

5.DCL

1.用户管理:

 2.权限管理:

6. 函数

7.约束

 8.多表查询

1.多表关系:

2.多表查询:

内连接是交集,外连接是并集;

案例:

员工表:emp,部门表:dept,薪资表:salgrade

1.查询员工的姓名、年龄、职位、部门信息(隐式内连接)

select e.name,e.age.e.job,d.name from emp e,dept d where e.dept_id = d.id;

2.查询年龄小于30岁的员工姓名、年龄、职位、部门信息(显式内连接)

select e.name,e.age.e.job,d.name from emp e inner join dept d on e.dept_id = d.id where e.age < 20;

3.查询拥有员工的部门ID、部门名称。

select distinct e.id,e.name from emp e,dept d where e.dept_id = d.id;

4.查询所有年龄大于40岁的员工,及其归属的部门名称;如果员工没有分配部门,也需要展示出来。

select e.* from emp e left join dept d on e.dept_id = d.id where e.age > 40;

5.查询所有员工的工资等级。

select e.* from emp e,salgrade s where e.salary >= s.min and e.salary <= s.max;

6.查询"研发部" 所有员工的信息及工资等级。

select e.*,s.grade fromemp e,dept d,salgrade s
where e.dept_id = d.idand e.salary between s.min and s.max
and d.name = '研发部';

7. 查询 "研发部" 员工的平均工资。

select agv(e.salary) from emp e,dept d
where e.dept_id == d.id 
and d.name = '研发部';

8.查询低于本部门平均工资的员工信息。

select * from emp e1 
where e1.salary < (select avg(salary) from emp e2 where e2.dept_id = e1.dept_id)

9.查询所有的部门信息,并统计部门的员工人数。


select id,name,
(select count(*) from emp where dept.id = id) '部门人数' 
from dept;

10.查询所有学生的选课情况,展示出学生名称,学号,课程名称
 

select s.name,s.num,c* from course c,student s,course_student sc 
where c.id = sc.course_id and s.id = sc.student_id

9.事务

1.四个特性

 2.事务并发问题

3.事务隔离级别


http://www.ppmy.cn/news/1522287.html

相关文章

oracle数据块内部结构详解

文章目录 Oracle数据块详解概述Oracle块具有以下特点&#xff1a;① 最小的I/O单元&#xff1b;② 包含一个或多个OS块&#xff1b;③ 大小由参数DB_BLOCK_SIZE决定&#xff1b;④ 数据库创建时设置&#xff0c;数据库创建后不能更改 Oracle数据块详解 概述 操作系统块是…

Django跨域问题

简介 由于本站以及很大部分项目都是前后端分离模式&#xff0c;前后端所配置的域名并不相同&#xff0c;所以会受到浏览器的同源策略限制&#xff0c;导致不能正确的请求资源&#xff0c;以下内容先用最简单的方法实现Django后端的跨域问题解决&#xff0c;后续原理再慢慢补充…

ctfshow之文件包含(web78~web86)

web78 if(isset($_GET[file])){$file $_GET[file];include($file); }else{highlight_file(__FILE__); } 解法一&#xff1a;data伪协议 ?filedata://text/plain,<?php system("tac flag.php"); 解法二&#xff1a;php:filter伪协议 ?filepHp://FilTer/conver…

贪心算法求解拆楼房问题

这是一道典型的贪心算法问题&#xff0c;首先遍历找到一个高度大于0的楼房&#xff0c;然后以此为基准&#xff0c;划分一个区间&#xff0c;找到楼房内高度最小的楼房&#xff0c;每次都减去这个高度最小的值。 后续重复一样&#xff0c;再找减去后楼房高度的最小值&#xff…

Springboot工程配置https访问

背景 因为前端工程使用nginx配置了https访问&#xff0c;在https直接请求我们Springboot后端的http接口会报错。那么我们就需要配置使得我们后端的springboot服务支持https访问。 证书生成 在配置springboot工程https之前&#xff0c;我们需要生成自签名证书以及Spring Boot…

中职院校智能物联网应用专业群建设方案

一、引言 随着信息技术的飞速发展&#xff0c;智能物联网&#xff08;IoT&#xff09;作为新一代信息技术的重要组成部分&#xff0c;正深刻改变着人们的生活方式、生产模式和社会形态。为积极响应国家“中国制造2025”和“智慧城市”等战略部署&#xff0c;培养适应未来社会需…

linux使用samba共享目录,其他虚拟机和windows都可以访问

一、192.168.137.12主机作为源目录主机&#xff0c;将/samba/shared_dir目录分享出去 #192.168.137.12主机&#xff1a; rpm -q samba #查看是否安装 yum -y install samba #创建共享目录 mkdir /samba/shared_dir -p #给共享目录赋权 chown -R samba.samba /samba #提示用户不…

CAS与原子操作

什么是原子操作&#xff1f; 原子操作是一种在执行过程中不会被中断的操作。它要么完全执行成功&#xff0c;要么完全不执行&#xff0c;确保在操作完成之前其他线程不会看到操作的中间状态。 原子操作的实现 CAS CAS是由 CPU 提供的原子指令。在硬件级别上确保操作的原子性。…