MYSQL是一种开源的关系型数据库管理系统。它具有以下特点:
要创建数据库,可以使用以下命令:
CREATE DATABASE database_name;
要创建表,可以使用以下命令:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
...
);
要插入数据到表中,可以使用以下命令:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
要更新表中的数据,可以使用以下命令:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
要删除表中的数据,可以使用以下命令:
DELETE FROM table_name WHERE condition;
要查询表中的数据,可以使用以下命令:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
要在表中创建索引,可以使用以下命令:
CREATE INDEX index_name ON table_name (column1, column2, ...);
要使用JOIN操作连接多个表,可以使用以下命令:
SELECT column1, column2, ...
FROM table1
JOIN table2 ON table1.column = table2.column;
要对表中的数据进行排序,可以使用以下命令:
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC/DESC;
要计算表中的数据行数,可以使用以下命令:
SELECT COUNT(*) FROM table_name;
SELECT AVG(column1)
FROM table_name;
SELECT MAX(column1)
FROM table_name;
SELECT MIN(column1)
FROM table_name;
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1;
INNER JOIN只返回两个表中匹配的行,而LEFT JOIN返回左表中的所有行和匹配的右表中的行。
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC/DESC
LIMIT offset, count;
其中,offset表示偏移量,count表示每页的数量。
SELECT column1, column2, ...
CASE
WHEN condition1 THEN value1
WHEN condition2 THEN value2
ELSE value3
END
FROM table_name;
TRUNCATE TABLE table_name;
DROP TABLE table_name;
SELECT DISTINCT column1, column2, ...
FROM table_name;
SELECT column1, column2, ...
FROM table_name
LIMIT number;
SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1;
SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1
HAVING COUNT(column2) > number;
SELECT column1, column2, ...
FROM table_name
WHERE column1 LIKE 'pattern';
SELECT column1, column2, ...
FROM table_name
WHERE column1 IN (value1, value2, ...);
SELECT column1, column2, ...
FROM table_name
WHERE column1 BETWEEN value1 AND value2;
SELECT column1, column2, ...
FROM table_name
WHERE column1 IS NULL;
SELECT COUNT(column1)
FROM table_name;
SELECT SUM(column1)
FROM table_name;
SELECT column1, column2, ...
FROM table1
JOIN table2 ON table1.column = table2.column;
外连接可以连接多个表并返回匹配和不匹配的行。例如:
SELECT column1, column2, ...
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;
可以使用子查询将一个查询嵌套在另一个查询中。例如:
SELECT column1, column2, ...
FROM table1
WHERE column1 IN (SELECT column1 FROM table2);
使用LIKE关键字可以进行通配符查询,例如:
SELECT column1, column2, ...
FROM table_name
WHERE column1 LIKE 'pattern%';
GROUP_CONCAT函数可以将多行数据合并为一行。例如:
SELECT column1, GROUP_CONCAT(column2)
FROM table_name
GROUP BY column1;
使用AS关键字可以给查询结果列起别名。例如:
SELECT column1 AS alias1, column2 AS alias2
FROM table_name;
IF函数可以进行条件判断。例如:
SELECT column1, IF(column2 > 0, 'Positive', 'Negative')
FROM table_name;
DATE_FORMAT函数可以格式化日期列。例如:
SELECT column1, DATE_FORMAT(column2, 'YYYY-MM-DD')
FROM table_name;
GROUP BY和HAVING可以筛选分组后的数据。例如:
SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1
HAVING COUNT(column2) > 10;
使用INSERT INTO语句可以向表中插入数据。例如:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
三大范式是数据库设计中的规范,用于确保数据库的结构合理、无冗余和易于维护。它们分别是:
第一范式(1NF):要求数据库中的每个列都是不可再分的原子值,即每个列都不能再细分为其他列。
第二范式(2NF):在满足1NF的基础上,要求数据库中的非主键列完全依赖于主键,而不是依赖于主键的一部分。
第三范式(3NF):在满足2NF的基础上,要求数据库中的非主键列之间不存在传递依赖关系,即非主键列不能相互依赖。
DML(Data Manipulation Language)是用于操作数据的语言,包括SELECT、INSERT、UPDATE和DELETE等语句。它们用于查询、插入、更新和删除数据库中的数据。
DDL(Data Definition Language)是用于定义数据库结构的语言,包括CREATE、ALTER和DROP等语句。它们用于创建、修改和删除数据库、表、列等对象。
区别: