--登录数据库
mysql -uroot -p
--显示当前时间
select now();
--登出(退出)数据库
exit/quit/ctr+d
--查看所有数据库
show databases;
--创建数据库
create database python41 charset=utf8;
--使用数据库
use python41;
--查看当前使用的数据库
select database();
--删除数据库-慎重
drop database python41;
--查看当前数据库中所有表
show tables;
--创建表
create table students(id int unsigned primary key auto_increment not null, name varchar(10) not null, age tinyint default 0, gender enum("男", "女") default "男");
--修改表-添加birthday字段
alter table students add birthday datetime not null;
--修改表-修改字段类型
alter table students modify birthday date;
--修改表-修改字段名和字段类型
alter table students change birthday birth datetime not null;
--修改表-删除birthday字段
alter table students drop birth;
--查看表结构
desc students;
--查看创表SQL语句
show create table students;
--查看创库SQL语句
show create database python41;
--删除表
drop table students;
--查询所有列数据
select * from students;
--查询指定列数据
select name, age from students;
--添加数据--全列插入
insert into students values(0, '张三', 18, default);
主键列表插入数据的时候可以指定: 0、default、null
这里的default表示使用该字段默认值
--添加数据--部分列插入
insert into students(name, age) values('郭靖',30);
--添加数据--全列多行插入
insert into students values(0, '黄蓉', 28, '女'),(0,'黄老邪',50,default);
--添加数据--部分列多行插入
insert into students(name, age) values('杨过', 20),('周伯通',55);
--修改数据
update students set age=18, gender = '女' where id = 3;
--删除数据
delete from students where id = 8;
--删除数据可以使用逻辑删除,添加一个标识字段
alter table students add is_del tinyint default 0;
这里删除数据其实修改标识字段
update students set is_del = 1 where id = 7;
--as关键字,用户给表的字段和表设置别名
select name as n, age as a from students as s;
提示: as 关键字可以省略,也表示设置别名
--distinct关键字, 用于去除重复的数据行
select distinct age, gender from students;
--查询编号大于3的学生
select * from students where id > 3;
--查询编号不大于4的学生
select * from students where id <= 4;
--查询姓名不是“黄蓉”的学生
select * from students where name <> '黄蓉';
select * from students where name != '黄蓉';
--查询没被删除的学生
select * from students where is_del = 0;
--查询编号大于3的女同学
select * from students where id > 3 and gender = '女';
--查询编号小于4或没被删除的学生
select * from students where id < 4 or is_del = 0;
--查询年龄不在10岁到15岁之间的学生
select * from students where not (age >= 10 and age <= 15);
--查询姓黄的学生
select * from students where name like '黄%';
--查询姓黄并且“名”是一个字的学生
select * from students where name like '黄_';
select * from students where name like '黄__';
%: 表示任意多个字符
_: 表示任意一个字符
--查询姓黄或叫靖的学生
select * from students where name like '黄%' or name like '%靖';
--查询编号为3至8的学生
select * from students where id >=3 and id <= 8;
select * from students where id between 3 and 8;
--查询编号不是3至8的男生
select * from students where not (id between 3 and 8) and gender='男';
--查询编号是3、5、7的学生
select * from students where id in (3, 5, 7);
--查询编号不是3、5、7的学生
select * from students where id not in (3, 5, 7);
--查询没有填写身高的学生
select * from students where height is null;
--查询填写身高的学生
select * from students where height is not null;
--查询未删除男生信息,按学号降序
select * from students where is_del = 0 and gender = '男' order by id desc;
--显示所有的学生信息,先按照年龄从大-->小排序,当年龄相同时 按照身高从高-->矮排序
select * from students order by age desc, height desc;
默认是asc 不用指定。
--查询前3行男生信息
select * from students where gender='男' limit 0, 3;
简写方式,第一个参数是开始行索引,默认是0可以不指定, 第二个参数是查询条数
select * from students where gender='男' limit 3;
--查询学生表,获取第n页数据的SQL语句
select * from students limit (n-1) * m, m;
-- 清屏
system clear
-- 查询学生的个数
select count(height) from students;
注意点: 聚合函数不会对空值进行统计
一般如果要是指定列名,那么就是主键字段
select count(id) from students;
通用的写法
select count(*) from students;
-- 查询女生的编号最大值
select max(id) from students where gender = '女';
-- 查询未删除的学生最小编号
select min(id) from students where is_del = 0;
-- 查询男生的总身高
select sum(height) from students where gender='男';
-- 求男生的平均身高
select sum(height) / count(*) from students where gender='男';
select avg(height) from students where gender = '男';
select avg(ifnull(height, 0)) from students where gender = '男';
注意点: 聚合函数不会对空值进行统计
ifnull函数判断指定的字段是否是空值,如果是空值使用默认值0
-- 查询性别的种类
select distinct gender from students;
select gender from students group by gender;
-- 根据name和gender字段进行分组, 查看name和gender的分组信息
select gender,name from students group by gender,name;
-- 根据gender字段进行分组, 查询每个分组的姓名信息
select gender,group_concat(name) from students group by gender;
group_concat:统计每个分组指定字段的信息集合,信息之间使用逗号进行分割
-- 统计不同性别的平均年龄
select gender,avg(age) from students group by gender;
-- 统计不同性别的人的个数
select gender,count(*) from students group by gender;
-- 根据gender字段进行分组,统计分组条数大于2的
select gender,count(*) from students group by gender having count(*) > 2;
-- 对分组数据进行过滤使用having
-- 根据gender字段进行分组,汇总总人数
select gender,count(*) from students group by gender with rollup;
-- 根据gender字段进行分组,汇总所有人的年龄
select gender,group_concat(age) from students group by gender with rollup;
-- 使用内连接查询学生表与班级表
select s.name, c.name from students s inner join classes c on s.c_id = c.id;
-- 使用左连接查询学生表与班级表
select * from students s left join classes c on s.c_id = c.id;
左连接查询,根据左表查询右表,如果右表数据不存在使用null填充
left左边是左表,left右边是右表
-- 使用右连接查询学生表与班级表
select * from students s right join classes c on s.c_id = c.id;
右连接查询,根据右表查询左表,如果左表数据不存在使用null填充
right左边是左表,right右边是右表
-- 使用自连接查询省份和城市信息
select c.id, c.title, c.pid, p.title from areas c inner join areas p on c.pid = p.id where p.title = '河北省';
-- 查询大于平均年龄的学生
select * from students where age > (select avg(age) from students);
-- 查询学生在班的所有班级名字
select * from classes where id in (select c_id from students where c_id is not null);
-- 查找年龄最大,身高最高的学生
select * from students where age = (select max(age) from students) and height = (select max(height) from students);
简写:
select
没有合适的资源?快使用搜索试试~ 我知道了~
mysql初级条件查询及高级应用-非常适合初学跟着练有注释.zip
共2个文件
txt:2个
0 下载量 54 浏览量
2024-05-21
11:02:04
上传
评论
收藏 5KB ZIP 举报
温馨提示
mysql MySQL是一个关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现在属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,尤其在WEB应用方面,MySQL被认为是最好的RDBMS应用软件之一
资源推荐
资源详情
资源评论
收起资源包目录
mysql初级条件查询及高级应用-非常适合初学跟着练有注释.zip (2个子文件)
mysql条件查询.txt 8KB
mysql高级应用.txt 7KB
共 2 条
- 1
资源评论
纬领网络
- 粉丝: 198
- 资源: 700
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- GST-FH-N8001防火门监控器说明书
- 基于SpringBoot+Vue的校园招聘管理系统(前端代码)
- C++期末大作业-2024-QT仓库商品管理系统,经过老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用
- DH-GSTN5600 剩余电流式电气火灾监控探测器 安装使用说明书
- 天津理工大学信息系统设计实验
- jsp ssm 学校录取查询系统 高校志愿填报录取 项目源码 web java【项目源码+数据库脚本+项目说明+软件工具】毕设
- jsp ssm 网上购物系统 在线购物 在线商城平台 项目源码 web java【项目源码+数据库脚本+项目说明+软件工具】毕设
- 29网课交单平台源码最新修复全开源版本
- jsp ssm 超市网上购物系统 超市管理 超市购物 项目源码 web java【项目源码+数据库脚本+项目说明+软件工具】毕
- 海湾火灾自动报警系统主要设备参数
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功