1.数据类型
CHAR & VARCHAR
-
CHAR:定长字串
-
VARCHAR:变长字串
ENUM & SET
-
ENUM:枚举类型,在若干个枚举值中选一个
-
SET:集合,可多选
2.关键词
LIKE
-
关键词LIKE可实现模糊查询,使用通配符%和_代表未知字符
-
%:不定个未指定字符
-
_:一个未指定字符
-
3.语句
排序--ORDER BY
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;
聚集函数
SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee;
4.查询
子查询
想要知道名为 "Tom" 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在 project 表中。
对于这样的情况,我们可以用子查询:
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project GROUP BY of_dpt
HAVING of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');
连接查询
SELECT id,name,people_num
FROM employee JOIN department
ON employee.in_dpt = department.dpt_name
ORDER BY id;
#另一种等价写法
SELECT id,name,people_num
FROM employee,department
WHERE employee.in_dpt = department.dpt_name
ORDER BY id;
5.其他
索引
ALTER TABLE employee ADD INDEX idx_id (id); #在employee表的id列上建立名为idx_id的索引
CREATE INDEX idx_name ON employee (name); #在employee表的name列上建立名为idx_name的索引
视图
#这里把视图当作一张表使用
CREATE VIEW v_emp (v_name,v_age,v_phone) AS SELECT name,age,phone FROM employee;
导入数据
LOAD DATA INFILE '文件路径和文件名' INTO TABLE 表名字;
备份
mysqldump -u root 数据库名>备份文件名; #备份整个数据库
mysqldump -u root 数据库名 表名字>备份文件名; #备份整个表
恢复
结合备份,把刚刚备份的数据恢复到数据库中
mysql -u root test < bak.sql
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步