MySQL练习20题,轻松掌握数据库操作技能
MySQL是一种关系型数据库管理系统,广泛应用于各种类型的应用程序中。作为一名数据库开发人员,熟练掌握MySQL操作技能是必不可少的。本文将介绍MySQL练习20题,帮助读者轻松掌握数据库操作技能。
题目一:创建数据库
创建一个数据库名为mydb,字符集为UTF-8,排序规则为UTF-8 General CI。
代码如下:
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;
题目二:查看所有数据库列表
查看MySQL服务器上所有的数据库列表。
代码如下:
SHOW DATABASES;
题目三:删除数据库
删除数据库名为mydb的数据库。请注意,删除一个数据库将删除所有相关的表和数据,所以请谨慎操作。
代码如下:
DROP DATABASE mydb;
题目四:创建表
在数据库mydb中创建一个名为users的表,包含id(整型)、name(字符串,长度为20)、age(整型)和eml(字符串,长度为50)四个字段。
代码如下:
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
eml VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
题目五:插入数据
向users表中插入一条数据,包含name为John,age为25,eml为john@example.com的记录。
代码如下:
INSERT INTO users (name, age, eml)
VALUES (‘John’, 25, ‘john@example.com’);
题目六:查询数据
查询users表中所有记录。
代码如下:
SELECT * FROM users;
题目七:更新数据
将id为1的记录的name字段更新为Tom。
代码如下:
UPDATE users SET name=’Tom’ WHERE id=1;
题目八:删除数据
删除邮箱为john@example.com的记录。
代码如下:
DELETE FROM users WHERE eml=’john@example.com’;
题目九:排序数据
按照age字段从大到小的顺序排序users表中所有记录。
代码如下:
SELECT * FROM users ORDER BY age DESC;
题目十:分页数据
查询users表中的第2页数据,每页显示3条记录。
代码如下:
SELECT * FROM users LIMIT 3 OFFSET 3;
题目十一:求记录数
求users表中记录的总数。
代码如下:
SELECT COUNT(*) FROM users;
题目十二:求最大值
查询users表中age字段的最大值。
代码如下:
SELECT MAX(age) FROM users;
题目十三:求最小值
查询users表中age字段的最小值。
代码如下:
SELECT MIN(age) FROM users;
题目十四:求平均值
查询users表中age字段的平均值。
代码如下:
SELECT AVG(age) FROM users;
题目十五:求总和
查询users表中age字段的总和。
代码如下:
SELECT SUM(age) FROM users;
题目十六:分组统计
按照name字段分组统计users表中各个姓名的记录数。
代码如下:
SELECT name, COUNT(*) FROM users GROUP BY name;
题目十七:多表查询
在数据库mydb中创建一个名为orders的表,包含id(整型)、user_id(整型)、amount(浮点型)和created_at(日期时间型)四个字段。查询users表中所有用户及其对应的订单记录。
代码如下:
SELECT u.name, o.*
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;
题目十八:条件查询
查询users表中所有年龄大于20岁的记录。
代码如下:
SELECT * FROM users WHERE age > 20;
题目十九:模糊查询
查询users表中所有邮箱包含“@example.com”的记录。
代码如下:
SELECT * FROM users WHERE eml LIKE ‘%@example.com%’;
题目二十:统计查询
查询users表中不同年龄的记录数及其所占比例。
代码如下:
SELECT age, COUNT(*), COUNT(*) / (SELECT COUNT(*) FROM users) * 100 AS ratio
FROM users
GROUP BY age;
通过练习以上20题,读者可以轻松掌握MySQL数据库操作技能,从而提高自身的MySQL应用开发水平。当然,在实际应用过程中,还会有更复杂、更高级的数据库操作需求,读者可以进一步学习深入的MySQL知识,并结合实际场景进行实践。