第一天:数据库入门
了解数据库基本概念
- 数据库(Database):存储和管理数据的系统。
- 关系型数据库(如MySQL、Oracle):以表格形式存储数据,通过SQL语言进行操作。
- 非关系型数据库(如MongoDB、Redis):以键值对、文档等形式存储数据。
选择合适的数据库
- 根据项目需求选择数据库类型。
- 考虑数据库性能、可扩展性、易用性等因素。
安装数据库
- 以MySQL为例,下载MySQL安装包,安装并配置MySQL服务。
# 下载MySQL安装包
wget https://dev.mysql.com/get/mysql-8.0.23-linux-glibc2.12-x86_64.tar.gz
# 解压安装包
tar -xzf mysql-8.0.23-linux-glibc2.12-x86_64.tar.gz
# 进入MySQL目录
cd mysql-8.0.23-linux-glibc2.12-x86_64
# 配置MySQL
./bin/mysqld --initialize --user=mysql --basedir=/path/to/mysql --datadir=/path/to/mysql/data
# 启动MySQL服务
./bin/mysqld --user=mysql
第二天:数据库操作基础
数据库连接
- 使用MySQL命令行工具连接数据库。
# 连接MySQL
mysql -u root -p
数据库管理
- 创建数据库、删除数据库、修改数据库。
# 创建数据库
CREATE DATABASE mydb;
# 删除数据库
DROP DATABASE mydb;
# 修改数据库编码
ALTER DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
数据表操作
- 创建数据表、删除数据表、修改数据表。
# 创建数据表
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT,
class VARCHAR(50)
);
# 删除数据表
DROP TABLE students;
# 修改数据表
ALTER TABLE students ADD COLUMN gender VARCHAR(10);
第三天:SQL语言基础
SQL语句分类
- 数据定义语言(DDL):创建、修改、删除数据库和数据表。
- 数据操纵语言(DML):插入、查询、更新、删除数据。
- 数据控制语言(DCL):授权、撤销权限。
数据插入
# 插入数据
INSERT INTO students (name, age, class) VALUES ('张三', 18, '计算机1班');
数据查询
# 查询数据
SELECT * FROM students WHERE age > 18;
# 使用别名
SELECT s.name AS student_name, s.age AS student_age FROM students AS s;
数据更新
# 更新数据
UPDATE students SET age = 19 WHERE name = '张三';
数据删除
# 删除数据
DELETE FROM students WHERE name = '张三';
第四天:高级SQL语句
子查询
# 子查询
SELECT * FROM students WHERE age IN (SELECT age FROM students WHERE class = '计算机1班');
联合查询
# 联合查询
SELECT * FROM students AS s JOIN classes AS c ON s.class_id = c.id;
分组查询
# 分组查询
SELECT class, COUNT(*) AS student_count FROM students GROUP BY class;
排序查询
# 排序查询
SELECT * FROM students ORDER BY age DESC;
第五天:索引与优化
索引概述
- 索引:提高查询效率的数据结构。
- 常见索引类型:主键索引、唯一索引、普通索引、全文索引。
索引创建
# 创建索引
CREATE INDEX idx_age ON students (age);
# 删除索引
DROP INDEX idx_age ON students;
查询优化
- 使用EXPLAIN分析查询计划。
- 避免全表扫描。
- 优化查询语句。
第六天:备份与恢复
备份
- 使用MySQL命令行工具备份数据库。
# 备份数据库
mysqldump -u root -p mydb > mydb_backup.sql
恢复
- 使用MySQL命令行工具恢复数据库。
# 恢复数据库
mysql -u root -p mydb < mydb_backup.sql
第七天:实战演练
创建项目数据库
- 根据项目需求创建数据库和数据表。
- 设置合适的索引。
数据操作
- 插入、查询、更新、删除数据。
- 使用高级SQL语句进行复杂查询。
性能优化
- 分析查询计划,优化查询语句。
- 优化索引,提高查询效率。
通过以上7天的学习,相信你已经掌握了数据库下载与操作技巧。在今后的学习和工作中,不断实践和总结,提高自己的数据库技术水平。祝你学习顺利!
