MySQL基础知识介绍

本人是一个MySQL小白,写这个博客是因为期末作业,当然我会把我所知道的MySQL知识尽量写出来,可能表达的不好,或者不正确,轻喷谢谢0.0,也希望各位大神可以指点一二。

首先MySQL数据库顾名思义就是一个存储数据的仓库,我们可以在应用中处理和管理这个仓库中的数据。在我所查抄的相关MySQL相关背景是:MySQL是一个流行的关系型数据库管理系统(RDBMS),广泛用于Web应用的数据库存储。它是一个开源的数据库系统,由瑞典MySQL AB公司开发,后来被Sun Microsystems收购,Sun Microsystems随后被Oracle公司收购。

而在我所学内容中sql语句最为印象深刻,所以这篇博客我决定写一些sql语句的分析介绍,当然我们要先搞清楚数据的类型,这样运用sql语句才会更加得心应手。

首先我们要学会创建一个MySQL数据库

跟据以上图片中的create detabase xx;语句我们就创造出了一个名为xx的数据库,当然现在这个数据库中什么数据都没有因为我们并没有输入数据表,这时我们就可以创一个数据表用来保存数据例如:

我们就创建了一个数据表,并且包含了4个数据类型,接下来我们就可以打开这个表格输入我们需要导入的数据,这里你在输入与表类型数据不一样时所输入的数据类型是不会保存的,这是让我疑惑的地方。

 SQL语句分类

  • DDL(Data Definition Language)数据定义语言:用于定义和管理数据库结构。

    • CREATE:创建数据库、表、索引、视图等。
    • ALTER:修改表结构,如添加或删除列。
    • DROP:删除数据库、表、索引等。
  • DML(Data Manipulation Language)数据操纵语言:用于对数据库中的数据进行增删改查。

    • SELECT:查询数据。
    • INSERT:插入数据。
    • UPDATE:更新数据。
    • DELETE:删除数据。
  • DCL(Data Control Language)数据控制语言:用于定义数据库的安全策略和访问权限。

    • GRANT:授予用户权限。
    • REVOKE:撤销用户权限。
  • TCL(Transaction Control Language)事务控制语言:用于管理数据库事务。

    • BEGIN 或 START TRANSACTION:开始一个事务。
    • COMMIT:提交事务,使所有更改生效。
    • ROLLBACK:回滚事务,撤销所有更改。

2. SELECT语句

  • SELECT语句用于从数据库中检索数据。
    SELECT column1, column2 FROM table_name;
  • 可以使用WHERE子句来指定查询条件:
    SELECT * FROM table_name WHERE condition;
  • 使用ORDER BY对结果进行排序:
    SELECT * FROM table_name ORDER BY column1 DESC;
  • 使用GROUP BY进行数据分组,并可结合聚合函数使用:
    SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

3. 数据类型

  • MySQL支持多种数据类型,包括整数类型(如INTTINYINT)、浮点数类型(如FLOATDOUBLE)、字符串类型(如VARCHARTEXT)、日期和时间类型(如DATEDATETIME)等。

4. 连接(JOIN)

  • JOIN用于结合两个或多个表中的行。
    • INNER JOIN:只返回两个表中都有匹配的行。
    • LEFT JOIN 或 LEFT OUTER JOIN:返回左表的所有行,右表中没有匹配的行将显示为NULL。
    • RIGHT JOIN 或 RIGHT OUTER JOIN:与LEFT JOIN相反,返回右表的所有行。
    • FULL JOIN 或 FULL OUTER JOIN:返回两个表中的所有行,没有匹配的行将显示为NULL。

5. 子查询

  • 子查询是嵌套在另一个查询中的SQL语句。
    SELECT * FROM table_name WHERE column1 IN (SELECT column1 FROM another_table);

6. 索引

  • 索引可以显著提高查询性能,但会降低插入和更新的性能。
    CREATE INDEX index_name ON table_name (column1);

7. 函数

  • MySQL提供了多种内置函数,包括字符串函数(如CONCAT()SUBSTRING())、数值函数(如ROUND()ABS())、日期和时间函数(如NOW()DATE())等。

8. 模式匹配

  • 使用LIKE进行简单的模式匹配:
    SELECT * FROM table_name WHERE column1 LIKE '%pattern%';
  • 使用REGEXP进行正则表达式匹配。

9. 变量

  • 在MySQL中,可以使用SET语句设置用户定义的变量。
    SET @variable_name = value;

10. 注释

  • 使用--进行单行注释,使用/* ... */进行多行注释。

11. 错误处理

  • 使用SHOW ERRORS;查看错误信息。

12. 事务

  • 事务是一组操作,要么全部成功,要么全部失败。
    START TRANSACTION; UPDATE table_name SET column1 = value WHERE condition; COMMIT;

13. 视图

  • 视图是一个虚拟表,其内容由SQL查询定义。
    CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;

14. 存储过程和函数

  • 存储过程是一组为了完成特定功能的SQL语句集合。

    CREATE PROCEDURE procedure_name() BEGIN -- SQL statements END;
  • 存储函数用于返回一个值。

    CREATE FUNCTION function_name() RETURNS value_type BEGIN RETURN value; END;

15. 安全性

  • 使用GRANTREVOKE管理用户权限,确保数据安全。

16. 备份与恢复

  • 使用mysqldump工具进行数据库备份。
  • 使用LOAD DATA INFILEmysql命令行工具进行数据恢复。

这是关于sql语句的大纲,我在前面知识介绍了sql的两个基础语句SQL是数据库操作的基础,掌握这些基础知识对于进行有效的数据库管理和开发至关重要。随着经验的积累,学习的深入我们接触的sql会越来越复杂,但是我们查找数据会更加精准,但是随着学习的深入你会遇到许多的困难,或许你会困惑,但是当你认真深入学习sql语句时你会觉得他亦是有趣的,我写这个博客是想分享我在学习SQL语句过程中的乐趣,这其中的很多语句,我花了蛮多时间去理解,因为本人有点笨,例如:SELECT * FROM table_name WHERE column1 IN (SELECT column1 FROM another_table);那时候我根本搞不懂,结果发现他后面发现他只是在查找另数据表中的子表中的数据

我所学知识也就这么一点,我分享出来,希望其他的小白也可以有兴趣继续学下去,耽误大家时间了,谢谢各位。

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值