- 7 其它重要问题
==============================================================================
| 名称 | 解释 | 命令 |
| — | — | — |
| DQL(数据查询语言) | 用于查询数据库数据 | SELECT |
| DDL(数据定义语言) | 用于操作数据库对象,如数据库和表等 | CREATE、DROP、ALTER |
| DML(数据管理语言) | 用于操作数据库对象中所包含的数据 | INSERT、UPDATE、DELETE |
| TCL(事务控制语言) | 用于管理数据库,如管理权限和数据更改 | GRANT、COMMIT、CALLBACK |
查询的结果是一个虚拟的表格,且在进行查询之前需要指定库名:use myemployees;
1)SELECT 语句执行顺序
开始->FROM子句->(连接查询)-> WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果
2)各个查询方式
| 查询方式 | 关键字 | 搭配使用 |
| :-: | :-: | :-: |
| 条件查询 | WHERE | <、LIKE、IN、BETWEEN AND 、AND |
| 分组查询 | GROUP BY | select 函数 from 表【where 分组前筛选】group by 分组的列表【having 分组后的筛选】 |
| 排序查询 | ORDER BY | ORDER BY 字段 【ASC/DESC】,字段【ASC/DESC】:先按第一字段排序,再按第二字段排序 |
| 子查询 | SELECT | …… |
| 分页查询 | LIMIT | …… |
| 联合查询 | UNION | 查询语句1 union 查询语句2:要查询的结果来自于多个表,且没有直接的连接关系,但查询的信息一致 |
| 连接查询 | ★ | |
-
内连接:FROM table1 INNER JOIN table2 ON 条件;得到的是条件中两者都匹配的行;
-
左外连接:FROM table1 LEFT OUTER JOIN table2 ON 条件; 得到的是左表全部行 + 右表中匹配的行,如果左表中某行在右表中没有匹配的行,则显示NULL。
-
右外连接:与左外连接相反;
-
全外连接:显示全部行,左表在右边没有的显示 NULL,右表在左边没有的显示 NULL;
-
交叉连接;
关于连接查询的内连接和外连接参考这篇博客。传送门
删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
删除表
DROP TABLE [IF EXISTS] 表名
注意:IF EXISTS 最好要加上,因为如果删除不存在的数据表会抛出错误
修改表(ALTER TABLE)
添加字段 : ALTER TABLE 表名 ADD 字段名 属性
删除字段 : ALTER TABLE 表名 DROP 字段名
修改表名 :ALTER TABLE 旧表名 RENAME AS 新表名
修改字段 :
-
ALTER TABLE 表名 MODIFY 字段名 属性
:修改字段属性 -
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 属性<