翼度科技»论坛 编程开发 mysql 查看内容

mysql 常用知识点总结

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解 MySQL 的语法对数据库管理和操作非常重要。以下是 MySQL 语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。
1. 基础概念


  • 数据库 (Database): 数据库是存储数据的容器,里面可以包含多个表。
  • 表 (Table): 表是数据库中的核心元素,包含行(记录)和列(字段)。
  • 行 (Row): 一行数据代表表中的一条记录。
  • 列 (Column): 列是数据的属性,每个列都有一个特定的数据类型。
  • 数据类型 (Data Types): 定义列中数据的类型,如整数、浮点数、字符串、日期等。
2. 常见数据类型

数据类型描述INT整数FLOAT浮点数VARCHAR变长字符串CHAR固定长度字符串TEXT大文本DATE日期(格式:YYYY-MM-DD)DATETIME日期和时间(格式:YYYY-MM-DD HH:MM:SS)3. 数据库管理


  • 创建数据库
    1. CREATE DATABASE db_name;
    复制代码

    • db_name: 数据库名称。

  • 选择数据库
    1. USE db_name;
    复制代码
  • 查看现有数据库
    1. SHOW DATABASES;
    复制代码
  • 删除数据库
    1. DROP DATABASE db_name;
    复制代码
4. 表操作


  • 创建表
    1. CREATE TABLE table_name (
    2.   column_name1 data_type constraints,
    3.   column_name2 data_type constraints,
    4.   ...
    5. );
    复制代码

    • table_name: 表的名称。
    • data_type: 列的数据类型。
    • constraints: 列的约束,如 PRIMARY KEY、NOT NULL 等。
    示例:
    1. CREATE TABLE students (
    2.   id INT PRIMARY KEY,
    3.   name VARCHAR(50) NOT NULL,
    4.   age INT,
    5.   enrollment_date DATE
    6. );
    复制代码
  • 查看表结构
    1. DESCRIBE table_name;
    复制代码
  • 删除表
    1. DROP TABLE table_name;
    复制代码
  • 修改表结构

    • 添加新列:
      1. ALTER TABLE table_name ADD new_column_name data_type;
      复制代码
    • 修改列类型:
      1. ALTER TABLE table_name MODIFY column_name new_data_type;
      复制代码
    • 删除列:
      1. ALTER TABLE table_name DROP COLUMN column_name;
      复制代码

5. 数据操作

5.1 插入数据
  1. INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
复制代码
示例:
  1. INSERT INTO students (id, name, age, enrollment_date) VALUES (1, 'John Doe', 20, '2023-09-01');
复制代码
5.2 查询数据


  • 基本查询
    1. SELECT column1, column2, ... FROM table_name;
    复制代码
    示例:
    1. SELECT name, age FROM students;
    复制代码
  • 查询所有列
    1. SELECT * FROM table_name;
    复制代码
  • 使用条件过滤查询
    1. SELECT column1, column2, ... FROM table_name WHERE condition;
    复制代码
    示例:
    1. SELECT * FROM students WHERE age > 18;
    复制代码
  • 排序
    1. SELECT * FROM table_name ORDER BY column1 [ASC|DESC];
    复制代码
    示例:
    1. SELECT * FROM students ORDER BY age DESC;
    复制代码
  • 限制查询结果
    1. SELECT * FROM table_name LIMIT number;
    复制代码
    示例:
    1. SELECT * FROM students LIMIT 5;
    复制代码
  • 聚合函数

    • COUNT():返回记录数
    • SUM():返回总和
    • AVG():返回平均值
    • MIN():返回最小值
    • MAX():返回最大值
    示例:
    1. SELECT COUNT(*) FROM students;
    复制代码
5.3 更新数据
  1. UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
复制代码
示例:
  1. UPDATE students SET age = 21 WHERE id = 1;
复制代码
5.4 删除数据
  1. DELETE FROM table_name WHERE condition;
复制代码
示例:
  1. DELETE FROM students WHERE id = 1;
复制代码
6. 连接 (JOIN) 操作


  • 内连接 (INNER JOIN): 返回两个表中匹配的记录。
    1. SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column;
    复制代码
  • 左连接 (LEFT JOIN): 返回左表中的所有记录,即使右表中没有匹配。
    1. SELECT columns FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
    复制代码
  • 右连接 (RIGHT JOIN): 返回右表中的所有记录,即使左表中没有匹配。
    1. SELECT columns FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
    复制代码
7. 索引 (Index)

索引用于提高查询速度。

  • 创建索引
    1. CREATE INDEX index_name ON table_name (column_name);
    复制代码
  • 删除索引
    1. DROP INDEX index_name ON table_name;
    复制代码
8. 事务 (Transaction)

事务确保一组 SQL 操作要么全部执行,要么全部不执行。

  • 开始事务
    1. START TRANSACTION;
    复制代码
  • 提交事务
    1. COMMIT;
    复制代码
  • 回滚事务
    1. ROLLBACK;
    复制代码
9. 视图 (View)

视图是基于 SQL 查询的虚拟表。

  • 创建视图
    1. CREATE VIEW view_name AS SELECT columns FROM table_name WHERE condition;
    复制代码
  • 删除视图
    1. DROP VIEW view_name;
    复制代码
10. 存储过程 (Stored Procedure)

存储过程是一组预编译的 SQL 语句,封装起来可以复用。

  • 创建存储过程
    1. CREATE PROCEDURE procedure_name (parameters)
    2. BEGIN
    3.   SQL_statements;
    4. END;
    复制代码
  • 调用存储过程
    1. CALL procedure_name(parameters);
    复制代码
  • 删除存储过程
    1. DROP PROCEDURE procedure_name;
    复制代码
11. 触发器 (Trigger)

触发器在某个事件(如插入、更新或删除)发生时自动执行。

  • 创建触发器
    1. CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name
    2. FOR EACH ROW
    3. BEGIN
    4.   SQL_statements;
    5. END;
    复制代码
  • 删除触发器
    1. DROP TRIGGER trigger_name;
    复制代码
12. 权限管理


  • 创建用户
    1. CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    复制代码
  • 赋予权限
    1. GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
    复制代码
  • 撤销权限
    1. REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';
    复制代码
  • 删除用户
    1. DROP USER 'username'@'host';
    复制代码
13. 常用工具


  • EXPLAIN: 查看查询的执行计划。
    1. EXPLAIN SELECT * FROM table_name;
    复制代码
  • SHOW PROCESSLIST: 查看当前运行的 SQL 查询。
    1. SHOW PROCESSLIST;
    复制代码
这是 MySQL 的完整语法概述,适用于基本数据库操作、数据查询、表结构管理、索引、事务、存储过程等内容。通过学习和使用这些语法,能够有效管理和查询数据库。

来源:https://www.cnblogs.com/xxctx/p/18416244
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
来自手机

举报 回复 使用道具