ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Day07 数据库

2021-11-29 15:00:46  阅读:142  来源: 互联网

标签:数据库 Day07 查询 select student where math


DDL   (数据库的定义语言)

DML   (数据库操作语言)

DCL    (数据库控制语句)

SQL    (数据库的查询)

1:什么是数据库

数据就是存放数据的仓库

2:数据库和SQL是什么关系?

数据库里面放着数据,而SQL是用来操作数据库里数据的语言

3:数据库有哪些

Oracle 功能非常强大

Redis,最好的内存级数据库,查询效率极高,

SQLServer,微软开发的数据库,仅支持Windows操作系统

MongoDB,最好用的文档型数据库

SQLite,最流行的嵌入式数据库

4 : 数据库的语句操作

创建库  create database 数据库名;

删除创建的数据库  drop database 库名;

选择数据库  user mydb1

查看数据库创建细节  show create database mydb1

创建一个使用gbk字符集的数据库  create database mydb2 character set gbk

5:表结构语句

选择数据库 user mydb1

创建数据表 

表名

表字段名

定义每个表字段

创建表

create table student(id int,name varchar(20),sex varchar(20),age int,salery float(6,2),birthday date)

删除表 drop table student;

查看所有表  show tables

查看表的创建细节 show create table student;

展示表结构   desc student

在原有的学生基础上添加address列

alter table student add address varchar(20)

在原有的学生基础上删除address列

alter table student drop address

在原有的学生基础上修改address列的类型和长度

alter table student MODIFY COLUMN address VARCHAR(40);

6 数据库的操作语言

插入

insert into student values(1,’zhangsan’,’nan’,19,389.10,’1999-10-10’);

查询  select * from 表名

7.删除数据库

删除单条数据

                      delete from student where 条件;

删除所有数据

                       delete from student;

摧毁表

                       truncate table student;

8:修改数据

设置说有人·的年龄加十

                      update 表名 set age=age+10

修改名字

                     update 表名 set name="111" where name="222"

修改王五的生日+salery

                       update 表名 set 生日=10,salery="111" where 名字=“”王五“”

8:数据库的查询

删除表  

drop table 表名

创建数据库表-学生成绩表

create table student(id int primary key auto_increment,name varchar(20) unique not null,chinese float,english float,math float);

添加几条数据

insert into student values(1,’张三’,90,80,80);

insert into student values(2,’李四’,90,87,60);

insert into student values(3,’王五’,70,60,69);

insert into student values(4,’赵六’,99,90,87);

普通条件查询

查询所有信息

select * from 表名;

查询id为1的学生信息

select * from 表名 where id=1;

查询id为1的学生姓名

select name from 表名where id=1;

查询数学成绩大于80的同学成绩

select * from 表名 where math>80

查询所有学生成绩,并输出效果为 姓名 语文 英语 数学 效果

select name as 姓名,chinese as 语文,english as 英语,math as 数学 from 表名

查询所有成绩及数学分+10分

select *,(math+10)from 表名

统计每个学生的总分

select name,(math+english+chinese) as 总分 from student

查询总分大于230分的同学

select * from student where (math+english+chinese)>230

查询数学成绩在80-90之间的同学

select * from student where math between 80 and 90

查询数学语文英语都大于80的同学成绩

select * from student where math>80 and english>80 and chinese >80;

查询数学成绩在 80 60 90内的同学

select * from student where math in(80,60,90);

模糊查询

查询所有姓名中包含张的同学

select * from student where name like ‘%张%’

排序查询

按照数学成绩从小到大查询

select * from student order by math;

按照数学成绩从大到小查询

select * from student order by math desc;

分页查询

limit是mysql的语法

select * from table limit m,n

其中m是指记录从m+1开始

,N代表取n条记录。

select * from student limit 2,4

即取出第3条至第6条,4条记录

查询出数学成绩由高到低前两名

select * from student order by math desc limit 0,2;

分组查询

 select * from employee group by sex;

分组查询加条件

 select * from employee group by sex having age>18;

(1) having 条件表达式:用来分组查询后指定一些条件来输出查询结果

(2) having作用和where一样,但having只能用于group by

8.3. 报表查询

count  个数

sum      总数

avg       平均数

max      最大值

min       最小值

统计班级里边有多少学生

select count(*)from student;

统计总成绩大于250分的人数

select count(*)from student where (math+english+chinese)>250;

统计班级里边各科总成绩

select sum(math),sum(english),sum(chinese) from student

统计所有科目的总成绩

select sum(math+english+chinese) from student;

统计一下语文平均成绩

select sum(chinese)/count(*) from student;

select avg(chinese) from student;

统计一下班级语文最高分和最低分

select max(chinese) from student;

select min(chinese) from student;

标签:数据库,Day07,查询,select,student,where,math
来源: https://blog.csdn.net/H1912Aliyanyan/article/details/121608663

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有