Featured image of post MySql的基本用法

MySql的基本用法

715 words

1.DDL语句

DDL用于定义和修改数据库结构,包括创建、修改和删除表、索引等。

  • CREATE: 创建数据库、表或视图。
1
2
CREATE DATABASE my_database;
CREATE TABLE my_table (id INT PRIMARY KEY, name VARCHAR(255));
  • ALTER: 修改现有的数据库结构。
1
ALTER TABLE my_table ADD COLUMN age INT;
  • DROP: 删除数据库、表或视图。
1
2
DROP DATABASE my_database;
DROP TABLE my_table;
  • TRUNCATE: 清空表中的所有数据,但保留表结构。
1
TRUNCATE TABLE my_table;
  1. DML (Data Manipulation Language) DML用于插入、更新和删除表中的数据。
  • INSERT: 向表中插入新数据。
1
INSERT INTO my_table (id, name) VALUES (1, 'John Doe');
  • UPDATE: 更新表中的现有数据。
1
UPDATE my_table SET name = 'Jane Doe' WHERE id = 1;
  • DELETE: 从表中删除数据。
1
DELETE FROM my_table WHERE id = 1;
  1. DCL (Data Control Language) DCL用于控制对数据库的访问权限。
  • GRANT: 授予用户权限。
1
GRANT ALL PRIVILEGES ON my_database.* TO 'user'@'host';
  • REVOKE: 撤销用户权限。
1
REVOKE ALL PRIVILEGES ON my_database.* FROM 'user'@'host';
  1. TCL (Transaction Control Language) TCL用于管理事务,确保数据的一致性和完整性。
  • COMMIT: 提交当前事务。
1
COMMIT;
  • ROLLBACK: 回滚当前事务。
1
ROLLBACK;
  • SAVEPOINT: 设置保存点(在事务中)。
1
SAVEPOINT savepoint_name;
  • RELEASE SAVEPOINT: 释放保存点。
1
RELEASE SAVEPOINT savepoint_name;
  1. DQL (Data Query Language) DQL用于查询数据库中的数据。
  • SELECT: 从表中检索数据。
1
2
SELECT * FROM my_table;
SELECT name FROM my_table WHERE id = 1;
  • JOIN: 连接多个表。
1
SELECT a.id, b.name FROM table_a a JOIN table_b b ON a.id = b.id;

6.Other Common SQL Clauses and Functions 其他常见的SQL子句和函数:

  • WHERE: 过滤条件。
1
SELECT * FROM my_table WHERE id > 10;
  • ORDER BY: 排序结果。
1
SELECT * FROM my_table ORDER BY name ASC;
  • GROUP BY: 分组数据。
1
SELECT name, COUNT(*) as count FROM my_table GROUP BY name;
  • HAVING: 过滤分组后的数据。
1
SELECT name, COUNT(*) as count FROM my_table GROUP BY name HAVING count > 1;
1
SELECT * FROM my_table LIMIT 10;
  • UNION: 合并多个查询的结果。
1
SELECT id FROM table1 UNION SELECT id FROM table2;

7.注意事项 在编写MySQL查询时,SQL语句的子句和函数的顺序通常遵循一定的规则。

  • SELECT: 指定要选择的列。
  • FROM: 指定数据来源的表。
  • JOIN: 如果有多个表进行连接,使用 JOIN 子句。
  • WHERE: 过滤记录的条件。
  • GROUP BY: 对结果集进行分组。
  • HAVING: 对分组后的结果进行过滤。
  • ORDER BY: 对结果集进行排序。
  • LIMIT: 限制返回的记录数。
  • OFFSET: 跳过指定数量的记录(通常与 LIMIT 一起使用)。
1
2
3
4
5
6
7
8
SELECT column1, column2, aggregate_function(column3)
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
WHERE condition
GROUP BY column1, column2
HAVING aggregate_condition
ORDER BY column1 ASC, column2 DESC
LIMIT 10 OFFSET 5;
使用 Hugo 构建
主题 StackJimmy 设计