作者:给糖就不骗你 | 来源:互联网 | 2024-12-13 17:02
数据持久化是指将数据保存至非易失性存储介质的过程,如数据库或文本文件等。对于MySQL数据库的安装,建议选择MSI安装包,因为它能简化环境配置流程。
基本SQL语句示例如下:
- 查询特定字段:SELECT username, age, gender FROM users;
- 插入新记录:INSERT INTO users (username, age, gender) VALUES ('张三', 28, '男');
- 设置主键时,确保其具有唯一性和自增属性,并选择无符号类型以避免负数问题。
- 处理数据响应时,应直接使用后端返回的完整数据集,避免自行构造数据导致不一致性。
- 对于部分更新的情况,后端仅需返回变更的数据,前端负责数据整合,这样可以减轻服务器负担。
- 使用LIKE关键字进行模式匹配,例如:SELECT * FROM todos WHERE title LIKE 'koa%'; 用于查找以'koa'开头的所有记录。
- 使用DISTINCT关键字去除重复记录,例如:SELECT DISTINCT gender, username FROM user; 用于获取性别和用户名的组合,但每个组合只出现一次。
分组与聚合函数的应用:
- 按某一字段分组:SELECT gender FROM user GROUP BY gender;
- 结合COUNT函数统计每组记录数:SELECT gender, COUNT(*) AS count FROM user GROUP BY gender;
条件查询:
- 基于单个条件查询:SELECT * FROM user WHERE gender = '男';
- 复合条件查询:SELECT * FROM user WHERE gender = '男' AND age <20;
- 范围查询:SELECT * FROM user WHERE age BETWEEN 1 AND 30;
模式匹配与正则表达式:
- 使用LIKE和通配符进行模糊查询:SELECT * FROM user WHERE username LIKE '_v%'; 用于查找用户名第二个字符为'v'的所有记录。
- 使用REGEXP进行正则匹配:SELECT * FROM user WHERE username REGEXP '^w$'; 用于查找用户名仅包含一个'w'字符的所有记录。
排序与限制:
- 多字段排序:SELECT * FROM user ORDER BY age DESC, id ASC;
- 限制查询结果数量:SELECT * FROM user LIMIT 2 OFFSET 1; 用于跳过第一条记录并选取接下来的两条记录。
大小写敏感性处理:
- 使用UCASE函数忽略大小写差异:SELECT * FROM user WHERE UCASE(username) = UCASE('w');
多表查询:
- 内连接:SELECT * FROM user JOIN message ON user.id = message.uid;
- 左连接:SELECT * FROM user LEFT JOIN message ON user.id = message.uid;
- 右连接:SELECT * FROM user RIGHT JOIN message ON user.id = message.uid;
- 使用别名提高可读性:SELECT user.id AS uid, user.username, user.age, user.gender, message.id AS message_id, message.content FROM user LEFT JOIN message ON user.id = message.uid;
批量更新操作:UPDATE todos SET dOne= 0 WHERE id IN (6, 7); 用于将ID为6和7的记录的状态字段done设置为0。