Web之Mysql数据库1

数据库相关概念
数据库:存储数据的仓库,数据是有组织的存储
数据库管理系统:管理数据库的大型软件
Sql:操作关系型数据库的编程语言
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MySql数据库
Mysql数据库的数据模型-关系型数据库
关系型数据库是建立在关系模型基础上的数据库,关系型数据库由多张能互相连接的二维表组成的数据库。
优点:
表结构,格式一致,易于维护。
数据存储在磁盘中,安全。

Sql
DDL:操作数据库,表
查询:show databases;
创建:
create database 数据库名;
create database if not exists db1;
删除:
drop databse 数据库名
drop database if exists db1;
使用:
use 数据库名;
查看当前使用的数据库:
select database();

DDL:操作表(CRUD)
创建(Create):
查询(Retrieve);
查询表名称:show tables;
查询表结构:desc 表名;
修改(Update);
修改表名:
alter table 表名 rename to 新表名
添加一列:
alter table 表名 add 列名 数据类型
修改数据类型:
alter table 表名 modify 列名 数据类型
修改列名和数据类型:
alter table 表名 change 列名 新数据类型
删除列:
alter table 表名 drop 列名
删除(Delete);
drop table 表明
drop table if exists 表名

SQL语句:

SHOW TABLES;
--查询语句
select *FROM stu;
--插入语句
INSERT INTO stu(name,sex,birthday,scoreofin,email,phone,state,address) VALUES('聂宝根','男','1996-02-12',88.88,'1030762097@qq.com','15840261813',1,'辽宁省沈阳市');
--删除语句
delete FROM stu WHERE sex='女';
--修改语句
UPDATE stu SET scoreofin=90 WHERE NAME='聂宝根';

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

--查询多个字段name,address
SELECT name,age FROM student;
--查询所有列的数据
SELECT *FROM student;
--去除重复记录
SELECT DISTINCT age FROM student;
--起别名
SELECT NAME as 姓名,math as 数学,english as 英语 FROM **student;
条件查询:**

```sql
-- 条件查询所有学生信息 
SELECT
	*
FROM
	student;
--查询年龄大于15岁的学生信息
SELECT * FROM student where age>15;
--查询年龄大于等于15岁小于等于17岁的学生信息
SELECT * FROM student WHERE age BETWEEN 15 AND 17;
--查询入学时间在1-13到1-14之间的学生信息
SELECT * FROM student where hire_date between '2022-01-13' AND '2022-01-14';
--查询年龄等于18的学生信息
select *FROM student where age=18;
--查询年龄不等于18的学生信息
select *FROM student where age!=18;
--查询年龄等于12或13或14的学生信息
select *FROM student where age=12 OR age=13 or age=14;
select *FROM student where age in (12,13,14);
--查询english为空的数据
select *FROM student where english is NULL;
select *FROM student where english is NOT NULL;
--模糊查询like 占位符(_单个字符)(%多个字符)
--查询第一个字是孙的学生信息
select * from student where name LIKE('孙%');
--查询第二字是亮的学生信息
select * from student where name LIKE('_亮%');
--查询名字中含有佳的学生信息
select * from student where name LIKE('%亮%');

排序查询:

-- 排序查询
select * from student;
--升序查询
SELECT * from student ORDER BY math ASC;
--降序查询
SELECT * from student ORDER BY math DESC;
--多条件查询,先按照第一种条件查询,再按照第二种条件查询
SELECT * FROM student ORDER BY math ASC ,english DESC;

分组查询

-- 聚合函数,NULL不参与聚合函数的计算
-- 查询一共有多少学生
SELECT *FROM student;
SELECT COUNT(name) FROM student;
-- 查询数学成绩最高分
select MAX(math) FROM student;
-- 最低分
select MIN(math) FROM student;
--平均分
SELECT AVG(math) FROM student;
--总分
SELECT sum(math) FROM student;

在这里插入图片描述

-- 分组查询
select * FROM student;
--分组之后,查询的字段为聚合函数和参与分组的字段,其他字段没有任何意义。
-- 查询男同学和女同学各自的数学平均分
SELECT sex,AVG(math) FROM student GROUP BY sex;
-- 查询男同学和女同学各自的数学平均分,以及各自的人数,分数不大于70的不参与运算
SELECT sex AS '性别',AVG(math) AS '平均分',COUNT(id) AS '人数' FROM student WHERE math>=70 GROUP BY sex;
-- 查询男同学和女同学各自的数学平均分,以及各自的人数,分数不大于70的不参与运算,分组后人数大于2
SELECT sex AS '性别',AVG(math) AS '平均分',COUNT(id) AS '人数' FROM student WHERE math>=70 GROUP BY sex HAVING COUNT(*)>2;

分页查询Limit
索引:(当前页码-1)*每页条数
Limit 索引,每页的数据数

-- 分页查询
SELECT *FROM student LIMIT 0,3;
-- 从0开始,查询3条数据
-- 查询第2页的数据
SELECT *FROM student LIMIT 3,3; 
-- 查询第三页的数据
SELECT *FROM student LIMIT 6,3;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值