MySQL语句众多,但有章可循,分类有助于学习
DQL 数据查询语言
DQL (data query language) query就是查询,类似question,query和JQery很像,也可以帮助记忆。 数据库语言中,查询是重点,很多优化算法和数据结构设计都是为了查询。
这里来做个实验:
我想查询大家的工资 需要拿到一个表 名字-工资的形式 该怎么办?
确定数据库(data1)
总表在哪(employees)
需要的栏目是什么(名字,工资)
这里就要用到select语句。
USE data1;
SELECT `first_name`, `last_name`, `salary`
FROM employees;
明显 SELECT的是“栏目” FROM的是表格名称。
对表结构还不理解,或者,没有data1库,可以看我的上一个教程:
数据库学习之MySQL (三)——简单操作数据库 小试牛刀
然后data1数据库:data1.sql 数据库文件 配合阮菜鸡的MySQL教程使用
Q1 为啥每个栏目名字都加` 符号呢?
A1 设想,有个栏目叫show 系统会怎么识别?
所以这个符号是为了将关键字转化为普通字符串 当然不加也可以。
Q2 下列代码你觉得好看吗:
USE data1;
SELECT `hiredate`,`first_name`,`last_name`,`salary`,`email`,`commission_pct`,`manager_id`,`department_id`
FROM employees;
还是这个:
USE data1;
SELECT
`hiredate`,
`first_name`,
`last_name`,
`salary`,
`email`,
`commission_pct`,
`manager_id`,
`department_id`
FROM
employees ;
A2 诀窍就是 在当前代码上 按下F12 系统自动为您排版
DDL 数据模式定义语言
数据库模式定义语言DDL(Data Definition Language) 是用于描述数据库中要存储的现实世界实体的语言。
说白了 用于创建数据库中的各种组成部分-----表、视图、索引、同义词、聚簇等,
比如下列:
CREATE TABLE `departments` (
`department_id` INT(4) NOT NULL AUTO_INCREMENT,
`department_name` VARCHAR(3) DEFAULT NULL,
`manager_id` INT(6) DEFAULT NULL,
`location_id` INT(4) DEFAULT NULL,
)
再看看实际表格:
还有 desc departments;
:
回忆上节内容:表的每一列就是栏位 也就是我们DDL语言中创建表格的时候 第一列的每一项
DML 数据操作语言
数据操作语言(data manipulatation language)
插入:INSERT
更新:UPDATE
删除:DELETE
就这三种
manipulatation ->manipulate 操作 人为操纵的含义 计算机知识中经常看到的
DCL 数据控制语言
数据控制语言(Data Control Language) 定义:
用来设置或者更改数据库用户或角色权限的语句,数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。
其实不管那么多,DCL大致包括以下:
命令 | 中文 | 说明 |
---|---|---|
GRANT | 授权 | 允许你把你自己拥有的那些权限授给其他的用户 |
ROLLBACK | 回滚 | 回滚命令使数据库状态回到上次最后提交的状态 类似干了坏事还能Ctrl-Z回去 |
COMMIT | 提交 | 类似github上的commit,在数据库的插入、删除和修改操作时,只有当事务(Transaction -> trans action) 在提交到数据库时才算完成。 |
事务 Transaction
那么事务是什么呢?定义上,是一个逻辑单位,所谓逻辑单位,我们所有的SQL语句都是逻辑,那么事务,就是包含了数据库 CRUD(增删查改) 操作,
另外,事务有意思的是,语句间都是荣辱与共,好像我们老师说的“我们都是一个集体 共同进退”,因此所有的语句必须完整的执行,要么全都执行成功,要么全都执行失败,而失败,就会**回滚(rollback)**到原来的数据状态.
事务的好处有什么:
保证数据的完整性,失败后可以恢复到原来状态
事务与事务之间互不干扰,这样数据会更加安全
什么情况下需添加事务呢?
crud过程中有两个及以上的数据库操作是需要添加
来源:CSDN
作者:阮菜鸡
链接:https://blog.csdn.net/weixin_43178828/article/details/104074494