数据库
首页 > 数据库> > MySQL基础补缺

MySQL基础补缺

作者:互联网

1.数据类型

CHAR & VARCHAR

ENUM & SET

2.关键词

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

标签:salary,dpt,name,MySQL,基础,补缺,employee,id,SELECT
来源: https://www.cnblogs.com/irisiscool/p/12599873.html