当前位置:网站首页>MySQL之CRUD
MySQL之CRUD
2022-07-24 05:18:00 【zsm030616】
一,基本的增删改查
(SQLServer与PLSQL的语句基本一致)
注意:但是"+" 在MySQL里面加号不做拼接,只做运算
select * from t_student
desc t_student
insert into t_student values('01' , '赵雷' , '1990-01-01' , '男');
--模糊查询
select * from t_student where sname='赵雷'
update t_student set sname='xi' where sid='01'
DELETE * FROM t_student where sid = '01';
二,案例演示
案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
t_mysql_employees
WHERE
commission_pct IS NULL;
案例1:查询有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
t_mysql_employees
WHERE
commission_pct IS NOT NULL;
案例2:查询工资为12000的员工信息
SELECT
last_name,
salary
FROM
t_mysql_employees
WHERE
salary <=> 12000;
添加筛选条件再排序
案例:查询部门编号>=90的员工信息,并按员工编号降序
SELECT *
FROM t_mysql_employees
WHERE department_id>=90
ORDER BY employee_id DESC;
3、按表达式排序
#案例:查询员工信息 按年薪降序
SELECT *,salary*12*(1+IFNULL(commission_pct,0))
FROM t_mysql_employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
4、按别名排序
案例:查询员工信息 按年薪升序
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM t_mysql_employees
ORDER BY 年薪 ASC;
5、按函数排序
案例:查询员工名,并且按名字的长度降序
SELECT LENGTH(last_name),last_name
FROM t_mysql_employees
ORDER BY LENGTH(last_name) DESC;
6、按多个字段排序
案例:查询员工信息,要求先按工资降序,再按employee_id升序
SELECT *
FROM t_mysql_employees
ORDER BY salary DESC,employee_id ASC;
效果图
案例一:
案例二
案例三:

三,排序拓展
1.拓展一
代码演示1
1.查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
SELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM t_mysql_employees
ORDER BY 年薪 DESC,last_name ASC;
效果图1
代码演示2
2.选择工资不在8000到17000的员工的姓名和工资,按工资降序
SELECT last_name,salary
FROM t_mysql_employees
WHERE salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC;
效果图2
代码演示3
3.查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序
SELECT *,LENGTH(email)
FROM t_mysql_employees
WHERE email LIKE '%e%'
ORDER BY LENGTH(email) DESC,department_id ASC;
效果图3
2. 拓展二
《相关表》
代码演示1
--用户表
CREATE TABLE tb_user(
user_id VARCHAR(15) NOT NULL,
order_time datetime not null,
order_category VARCHAR(20) not null,
order_amt float not null,
shop_id VARCHAR(50) not null
)
insert into tb_user VALUES('D890','2018-01-06 12:34:00','烤串',18.90,'ZL123');
insert into tb_user VALUES('D890','2018-02-07 12:34:00','汉堡',19.50,'SM456');
insert into tb_user VALUES('B456','2018-03-06 12:34:00','鸡翅',10.30,'ZL123');
insert into tb_user VALUES('B456','2018-04-01 12:34:00','麻辣烫',25.30,'HBW123');
insert into tb_user VALUES('C789','2018-05-09 12:34:00','麻辣烫',15.78,'XM456');
--商户表
CREATE TABLE tb_db(
shop_id VARCHAR(15) NOT NULL,
db_name VARCHAR(20),
db_team VARCHAR(20),
START_time datetime,
END_time datetime
)
insert into tb_db VALUES('ZL123','小明','销售A组','2018-01-01','2015-01-14');
insert into tb_db VALUES('ZL123','小张','销售A组','2016-01-15','2018-01-17');
insert into tb_db VALUES('SM456','小张','销售B组','2016-01-17','2016-01-16');
insert into tb_db VALUES('HBW123','小邓','销售B组','2015-01-01','2017-01-14');
insert into tb_db VALUES('HBW123','小李','销售C组','2015-01-01','2018-01-15');
insert into tb_db VALUES('XM456','小陈','销售C组','2017-01-01','2019-01-14')
效果图1
代码演示2
--一月只吃了麻辣烫和汉堡的人数
select count(*) from(
select count(*) from(
select * from (
select * from tb_user where order_time like '%-01-%'
) c where order_category='麻辣烫' or order_category='汉堡'
) d GROUP BY user_id HAVING COUNT(*)=2
) e
效果图2
代码演示3
--计算每个BD_team的bd对应门店的销售额
select SUM(order_amt) from tb_db a, tb_user b where a.shop_id=b.shop_id GROUP BY a.db_team
效果图3
边栏推荐
猜你喜欢
随机推荐
Programmer tools collection! (Reprinted)
[DP] number triangle
special effects - 鼠标点击,出现随机设置的文字
Draw a moving teapot on the screen. The teapot first moves slowly towards the screen, becoming smaller and smaller, becoming more and more blurred; Then it grows bigger and clearer, and keeps repeatin
Pure white tutorial using Druid database connection pool in idea
JS - 数值处理(取整、四舍五入、随机数等)
String_ Method_ 01match method
Opengl在屏幕上绘制一个锥体,该锥体有四个面,每个面都是三角形。为该锥体添加光照和纹理效果
详解浏览器和Node的事件循环机制及区别
设计一个函数print打印字符串,如果只传string型参数s,则字符串长度跟10比较,大于10,打印前10个字符,小于10,全部输出s;如果传string型参数s和int型n,则字符串长度跟n比
JS - 鼠标键盘配置 及 浏览器禁止操作
grid布局
VS 调试
canvas - 填充
程序员工具合集!(转载)
JS:为什么 [] == ![] 返回 true ?
special effects - 鼠标移动,出现星星拖尾
yocs_velocity_smoother源码编译
【STL】Map &unordered_ map
node连接mysql,使用navicat可视化









