MySQL知识点整理(持续更新)
SQL 语言的分类
DDL:数据库定义语言。是定义和管理 SQL 数据库中的所有对象的语言。包括:创建、修改、删除等。
举个例子:
create table:创建数据库表
alter table:更改数据库表
drop table:删除数据库表
DML:数据操纵语言,一般是对数据进行crud操作。
举个例子:
INSERT:添加数据到数据库中
UPDATE:修改数据库中的数据
DELETE:删除数据库中的数据
SELECT:选择(查询)数据
DCL:数据库控制语言,一般是对数据库的权限进行操作。
举个例子:
GRANT:授予访问权限
REVOKE:撤销访问权限
COMMIT:提交事务处理
ROLLBACK:事务处理回退
char、varchar的区别是什么?
- varchar 是变长,而char的长度是固定的。如果要存储M个字符,char(M)实际存储了M个。char(10)代表只能存储10个字符,如果需要写入了3个字符,实际上也存了10个,后面的7个字符用空格填充。varchar(M)存的小于M个字符。varchar会多用一个字节来存储长度信息。
- char和varchar存储的范围不同。
- char的速度更快,varchar更省空间。
truncate和delete的区别是什么?
delete命令从一个表中删除某一行,或多行。truncate命令永久地从表中删除每一行。
什么是触发器,MySQL 中都有哪些触发器?
触发器是指一段代码,当触发某个事件时,自动执行这些代码。在MySQL中有六种触发器。
- Before Insert
- After Insert
- Before Update
- After Update
- Before Delete
- After Delete
Float和Double的区别是什么?
Float类型数据可以存储至多8位十进制数,并在内存中占4字节。
Double类型数据可以存储至多18位十进制数,并在内存中占8字节。
如何在MySQL中获取当前日期?
select current_date();
如何查询第n高的工资?
select distinct(salary) from employee order by salary desc limit n-1,1
那天我还是偷偷的去见了你,回来后,果不其然的若有所失