1.MySQL
函数
round
【round(avg(COL_1), NUM)】:计算col_1的平均值并保留num有效数字
四舍五入
1 | SELECT ROUND(AVG(SCORE), 1) AS `AVEAGE SCORE` |
length
length(‘char’)
- 中文算三个长度
- alpha和number算一个长度
快捷指令
常用快捷键:
1、执行整篇sql脚本
【Ctrl】+【Shift】+【Enter】
2、执行当前行:
【Ctrl】+【Enter】
3、注释/取消注释:
【Ctrl】+【/】
4、格式化sql语句(美化sql语句):
【Ctrl】+【B】
5、(貌似和输入法有冲突)自动补全:【Ctrl】+【Space】 ,还可以使用edit->Auto-complete手动展示补全。如果有冲突可以去下面的文件找到Auto complete进行修改。Modifier的意思就是Ctrl键。
修改快捷键:
在安装根目录查到\data\main_menu.xml这个文件(Ubuntu放在/usr/share/mysql-workbench)。
6.MySQL Clint清屏
system cls
Error
Error Code: 1054. Unknown column ‘%%’ in ‘where clause’
出现类似的语法错误时,首先考虑是 ‘ 还是 ` 出错了
一个是syntax error 一个是通配符使用
1 | SELECT COL_NAME |
`DataBase/Table`` ‘wildcard’
问题
Schema和DataBase是否等同?
schema是数据库的组织和结构,是数据库对象的集合,集合包括表,视图,储存过程,索引等。
(1)MySQL的文档中指出,在物理上,模式与数据库是同义的,所以,模式和数据库是一回事。
(2)但是,Oracle的文档却指出,某些对象可以存储在数据库中,但不能存储在schema中。 因此,模式和数据库不是一回事。
(3)而根据这篇SQL Server技术文章SQLServer technical article,schema是数据库SQL Server内部的一个独立的实体。 所以,他们也不是一回事。
因此,取决于您使用的RDBMS,模式和数据库可能不一样。
引擎
【InnoDB】事务性数据库
【事务】
子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
1 | 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。 |
具有提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制同时支持外键
【MyISAM】
数据表主要用来插入和查询记录MyISAM引擎能提供较高的处理效率
【Memory】
如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
【Archive】仓库型数据库
如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive