Java教程

Day07 数据库

本文主要是介绍Day07 数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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 数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!