MySQL基础补缺
Posted 112358D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础补缺相关的知识,希望对你有一定的参考价值。
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
以上是关于MySQL基础补缺的主要内容,如果未能解决你的问题,请参考以下文章