【标题:MySQL 基础知识】

  • MySQL 作为一种广泛应用的关系型数据库管理系统,拥有众多重要的基础知识。

1 . 数据类型

比如我们要存储学生的成绩,成绩通常是小数,那就适合用浮点型数据类型,如FLOAT

在 MySQL 中,常见的数据类型有以下这些:

1.整型:

  • INT:标准的整数类型。
  • BIGINT:更大范围的整数。

例如,用于存储用户的 ID 等。

2.浮点型:

  • FLOAT:单精度浮点型。
  • DOUBLE:双精度浮点型。

可以用来存储一些带有小数的数据,如商品的价格。

3.字符型:

  • VARCHAR(n):可变长度的字符串,指定最大长度 n。
  • CHAR(n):固定长度的字符串,长度为 n。

比如存储用户的姓名、地址等。

4.日期和时间型:

  • DATE:只存储日期,如 ‘2023-10-10’。
  • TIME:只存储时间,如 ‘12:30:00’。
  • DATETIME:日期和时间组合,如 ‘2023-10-10 12:30:00’。

常用于记录事件发生的时间等。

5.布尔型:
通常用 TINYINT(1) 来模拟布尔值,0 表示假,1 表示真。

在实际应用中,根据具体的数据特点和需求来选择合适的数据类型,这对于数据库的性能和数据的准确性都非常重要。

比如,在一个考勤系统中,对于员工的打卡时间,就会选择 DATETIME 类型;而对于员工的性别,可能就会用一个 CHAR(1) 来表示。合理选择数据类型能让数据库的管理和操作更加高效和便捷。

2 . 表的创建与管理

在 MySQL 中创建表是构建数据库结构的重要步骤。

  1. 比如我们要创建一个名为“students”的学生信息表,包含“id”(自增主键)、“name”(学生姓名)、“age”(学生年龄)等字段,可以这样写:
CREATE TABLE students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT
);

创建好表后,我们可以进行管理操作:

2 . 添加字段:如果之后需要添加一个“gender”(性别)字段,可以这样做:

ALTER TABLE students ADD gender VARCHAR(10);

3 . 修改字段数据类型或名称:比如把“age”字段的数据类型改为 BIGINT:

ALTER TABLE students MODIFY age BIGINT;

4 . 删除字段:要删除“gender”字段:

ALTER TABLE students DROP gender;

5 . 重命名表:如果想把“students”表改名为“student_infos”:

RENAME TABLE students TO student_infos;
  • 使用describe 语句查看book表中列的信息

请添加图片描述

  • 假设已经创建了数据库Bookstore,则在该数据库中创建图书目录表‘book’

请添加图片描述
请添加图片描述

在实际应用中,根据业务需求的变化灵活地对表进行管理和调整,能更好地适应不同的场景。比如当业务拓展需要更多信息时,及时添加字段;当某些字段不再需要时,合理地删除它们,以保持数据库结构的合理性和高效性。

同时,在创建表时要充分考虑字段的定义、约束等,为后续的数据操作和维护打下良好的基础。

3 . SQL 语句

以下是一些常见 SQL 语句的具体例子:

1 . 查询语句(SELECT):
从“students”表中查询所有学生的姓名和年龄。

SELECT name, age FROM students;

2 . 插入语句(INSERT):
向“students”表插入一个新学生的信息(姓名为“李四”,年龄为 20)。

INSERT INTO students (name, age) VALUES ('李四', 20);

3 . 更新语句(UPDATE):
将“students”表中姓名为“张三”的学生年龄更新为 25。

UPDATE students SET age = 25 WHERE name = '张三';

4 . 删除语句(DELETE):
删除“students”表中年龄小于 18 的学生记录。

DELETE FROM students WHERE age < 18;

5 . 多表连接查询:
假设有“students”表(包含学生 ID 和姓名)和“courses”表(包含课程 ID 和对应的学生 ID),查询选修了某课程的学生姓名。

SELECT s.name
FROM students s
JOIN courses c ON s.id = c.student_id
WHERE c.course_id = 1;
  • 用 JOIN 关键字表达下列查询:查找购买了《MySQL 数据库》且订购数量大于5本的图书信息及用户姓名和订购册数。

请添加图片描述

SELECT book.图书编号,姓名,书名,订购册数FROM sell JOINbookONbook.图书编号=se11.图书编号JOINmembers ONsel.用户号=members.用户号
WHERE书名=MYSQ数据库'AND订购册数>5

6 . 子查询:
找出年龄大于平均年龄的学生姓名。

SELECT name
FROM students
WHERE age > (SELECT AVG(age) FROM students);

这些 SQL 语句在不同的场景下发挥着重要作用,通过灵活运用可以实现对数据库中数据的各种操作和管理。

4 . 索引

MySQL 索引

索引在 MySQL 中起着非常重要的作用。

假设我们有一个“orders”表,包含“order_id”(订单编号)、“customer_name”(客户姓名)等字段。

1 .创建一个针对“order_id”字段的索引:

CREATE INDEX idx_order_id ON orders (order_id);

2 .有了这个索引后,当我们执行查询,比如:

SELECT * FROM orders WHERE order_id = 123;

数据库可以快速地通过索引定位到对应的记录,大大提高查询速度。

3 . 再比如,对于一个包含大量数据的“employees”表,我们可以为经常用于查询条件的“name”字段创建索引:

CREATE INDEX idx_employees_name ON employees (name);

这样在查询特定员工姓名时,效率会显著提升。

5 . 数据库的备份与恢复

备份:

可以使用 mysqldump 命令来进行备份。例如,备份一个名为 my_database 的数据库到一个文件 backup.sql 中:

mysqldump -u username -p my_database > backup.sql

这里的 username 是数据库用户名。

恢复:

当需要恢复数据时,可以使用以下命令:

mysql -u username -p < backup.sql

或者在 MySQL 客户端中执行:

SOURCE backup.sql;

事务处理
就像在一个购物系统中,用户下单时,需要同时更新商品库存和生成订单记录,这整个过程就是一个事务,确保要么全部成功,要么全部失败,保持数据的完整性。

6.MySQL的视图案例分析

以下是几个关于 MySQL 视图的案例:

1.案例一:创建简单视图

假设有一个 employees 表,包含 employee_idfirst_namelast_namesalary 等列。我们想要创建一个视图,只显示员工的姓名和工资。

CREATE VIEW employee_salary_view AS
SELECT first_name, last_name, salary
FROM employees;

然后可以通过以下语句查询该视图:

SELECT * FROM employee_salary_view;
  1. 案例二:基于多个表创建视图

orders 表(包含 order_idcustomer_idorder_date 等列)和 customers 表(包含 customer_idcustomer_nameemail 等列)。创建一个视图,显示订单的详细信息以及对应的客户名称。

CREATE VIEW order_customer_view AS
SELECT o.order_id, o.order_date, c.customer_name
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id;

查询视图:

SELECT * FROM order_customer_view;
  1. 案例三:使用视图进行数据过滤

products 表(包含 product_idproduct_namecategory_idprice 等列)中,创建一个视图,只显示价格大于 100 的产品信息。

CREATE VIEW expensive_products_view AS
SELECT * FROM products WHERE price > 100;

查询视图获取高价产品信息:

SELECT * FROM expensive_products_view;

视图可以提供一种便捷的数据展示和访问方式,同时有助于保护原始表的结构和数据安全性。

了解这些 MySQL 的基础知识,是深入学习和应用该数据库的重要基石,这里有更详细的内容关于MySQL语句,链接: link

在实际开发中,只有扎实掌握这些基础知识,才能更好地发挥 MySQL 的强大功能,构建稳定可靠的数据库应用。

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值