mysql数据库函数练习_10)-MySQL数据库基础练习(答案版)

本文提供了一系列的MySQL数据库操作示例,包括查看数据库状态、创建与删除数据库、表操作如添加、删除字段及修改表名、数据查询、排序、条件筛选以及聚合函数的使用,涵盖分组查询和复杂条件筛选等进阶操作。
摘要由CSDN通过智能技术生成

数据库操作

1:// 查看mysql是否启动

service mysql status

2:// 启动mysql服务

service mysql start

3:// 重启mysql服务

service mysql restart

4:// 停止mysql服务

service mysql stop

5:// 连接Mysql

mysql -u root -p

6:// 创建数据库book

create database book

7:// 查看所有数据库

show databases

8:// 删除数据库book

drop database book

9:// 选择数据库book

use book

表操作

10:// 创建一个数据库表city,创建表字段city_id为自增主键,其余city_name、city_body、city_email为varchar类型、其中,city_name不能为空,其余信息补充完整    #创建表

create table city (

city_id int not null auto_increment,

city_name varchar(100) not null,

city_body varchar(100),

city_email varchar(100),

primary key (city_id)

)engine=innodb default charset=utf8;

11://在city表中添加一个city_date字段,要求字段类型date,并且不能为空   #添加字段

alter table city

add city_date date not null;

12:// 删除city表中的city_date字段    #删除字段

alter table city

drop column city_date;

13://修改city表名称为new_city   #修改表名

alter table city

rename new_city;

14://修改字段名

alter table student

change 旧字段名 新字段名 类型;

数据查询

15:// 查询book表中book_id,book_name列    #查询多个列

select book_id,book_name from book;

16://查询book表中所有列    #查询所有列

select * from book;

17://查询book表的前15行数据     #查询行数

select * from book limit 15;

18://查询book表的第15行数据   #查询指定行数

select * from book limit 14,14;

19://查询book表中book_name字段内容,并去重查询    #去重查询

select distinct book_name from book;

20://按book表中book_name进行正序排序    #按字段排序(正序)

select * from book order by book_name;

21://在book表中,先按book_id倒叙排序,再按book_name正序排序;  #倒叙,多个字段排序

select * from book

order by book_id DESC,book_name;

22://在book表中,查询book_id等于3的学生,并仅返回学生姓名book_name字段  #条件查询

select book_id,book_name from book

where book_id=3;

23://在book表中,查询所有book_email是空的列表数据   #筛选为null的数据

select * from book

where book_email is null;

24://在book表中,查询book_id大于10并且book_name为‘test’的数据;   #组合条件查询

select * from book

where book_id > 10 and book_name='test';

25://在book表中,查询book_id不等于3或者不等于5的数据   #组合条件查询

select * from book

where book_id != 3 or book_id != 5;

26://查询book表中,book_id_不等于3和等于4的所有数据,使用in   #in操作符使用

select * from book

where book_id not in (3,4);

27://查询book表中,book_name字段中,所有以'小'字开头的书;    #通配符使用

select * from book

where book_name like '小%';

28://计算某列的平均值   #聚合函数:计算平均值

select avg(number) from score

where student_id=1

只用于单个列 AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG()函数。

28补充://去重后,进行某列平均值计算   #去重计算平均值

select avg(distinct sname) from student;

29://返回某列的行数  #聚合函数:返回某列行数

select count(sname) from student;

30://返回列表中所有的行数 #聚合函数:返回所有行数

select count(*) from student;

31://返回某列的最大值  #聚合函数:返回列中最大值

select max(sname) from student;

32://返回某列的最小值    #聚合函数:返回列中最小值

select min(sname) from student;

33://返回某列值得和  #聚合函数:返回列值的和

select sum(sname) from student;

34://组合使用聚合函数     #聚合函数组合使用

select count(*) as count_number,

avg(number) as avg_number,

max(number) as max_number,

min(number) as min_number,

sum(number) as sum_number

from score;

35://分组查询

select vend_id, count(*) as num_prods

from products

group by vend_id;

36://分组查询,增加查询条件

select cust_id, count(*) as orders

from orders

group by cust_id

having count(*) >= 2;

目前为止所学过的所有类型的where子句都可以用having来替代。唯一的差别是where过滤行,而having过滤分组。

这里有另一种理解方法,where在数据分组前进行过滤,having在数据分组后进行过滤。这是一个重要的区别,where排除的行不包括在分组中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值