Mysql基础
来源:互联网 发布:软件学院毕业设计题目 编辑:程序博客网 时间:2024/06/07 21:52
Mysql教程 http://www.2cto.com/database/MySQL/
SQLServer http://www.2cto.com/database/mssql/
1.如何从日期时间值中获取年,月,日等部分日期或者时间值
首先日期在MySQL中是以字符串形式存储的,所以可以使用字符串函数来获得你所需要的部分。比如t的字段值”2016-03-18 10:47:00”,如果要取得年的值,需要使用LEFT(t,4),这个就表示从该字段值的最左端开始起,四个数字后截取,然后就可以得到年这个值,如果是月的话,使用MID(t,6,2),表示从第6个位置起,数两位截取,就得到03是月的值。
2.如何修改mysql默认的字符集
在mysql的安装目录中有个my.ini配置文件,用编辑器打开这个文件,然后修改default-character-set和character-set-server参数的值,修改完再重新启动mysql服务,这样默认的字符集就改变为你所修改后的字符集,可以使用 show variables like 'character_set_%'
命令来查看。
3.DISTINCT应用于所有的列,去除重复记录。
4.ORDER BY和LIMIT可以混合使用吗?
在使用ORDER BY子句时,应该保证其位于FROM子句后面;如果使用LIMIT,则必须位于ORDER BY的后面,如果顺序不正确,MYSQL会报错误
5.mysql存储过程和函数有什么区别?
在mysql中,存储过程和函数在本质上都是存储过程。函数只能用return语句返回单个值或者表对象;存储过程不允许执行return,但是可以通过out参数返回多个值。函数限制次数比较多,不能用临时表,只能用表变量,还有一些函数都不可用;存储过程的限制相对较少。函数可以嵌入在SQL语句中使用,可以在SELECT语句中作为查询语句的一部分调用;存储过程一般是作为一个独立的部分执行。
6.存储过程中的代码可以改变吗?
现在,mysql还没有提供对于已经存在的存储过程代码进行修改,如果需要修改存储过程,必须使用drop语句,删除存储过程,再重新编写存储过程。
7.存储过程可以调用其他的存储过程吗?
存储过程包含用户定义的SQL语句集合,可以使用CALL语句调用存储过程,当然在存储过程中也可以使用CALL语句调用其他的存储过程,但是不能使用DROP语句将其他的存储过程删除。
8.存储过程的参数不要与数据表中字段名相同。
9.存储过程的参数可以使用中文吗?
一般情况下,可能会出现存储过程中传入中文参数的情况,例如某个存储过程根据用户名字查找该用户的信息,传入的参数值可能是中文。这时就需要在定义存储过程的时候,在后面加上character set gbk,否则调用存储过程中的中文参数会出错。
10.使用触发器的时候必须注意,对于相同的表,相同的事件只能创建一个触发器。及时删除不再需要的触发器。
11.日志会影响mysql性能,又会占用大量磁盘空间,因此,如果不必要,应该尽可能少的打开日志,不同的使用环境可以考虑开启不同的日志,比如在开发环境中优化查询效率低的语句,可以开启慢查询日志;如果需要记录用户的查询操作,可以开启通用的查询日志,如果需要记录数据的更改可以开启二进制日志;错误日志是默认开启的。
12.二进制日志主要用来记录数据变更,如果需要记录数据库的变化,可以开启二进制日志。基于二进制日志的特性,不仅可以用来进行数据恢复,还可以用于数据的复制。在数据库定期备份的情况下,如果出现数据丢失,可以先用备份恢复大部分数据,然后使用二进制日志恢复最近备份后变更的数据。在双机热备情况下,可以使用mysql的二进制日志记录数据的变更,然后将变更部分复制到服务器上。
13.如何使用慢查询日志?
慢查询日志主要用来记录查询时间较长的日志。在开发环境中,可以开启慢查询日志来记录查询时间较长的查询语句,然后对这些语句进行优化,通过配置long_query_time的值,可以灵活的掌握不同程度的慢查询语句。
- MySQL基础
- MySQL基础
- MySql基础
- MySQL基础
- mysql基础
- MYSQL基础
- MySQL基础
- mysql基础
- mysql基础
- MySQL 基础
- mysql基础
- mysql基础
- mysql 基础
- MySQL基础
- MySql 基础
- mysql基础
- mysql基础
- mysql基础
- oracle EXP-00028: 无法打开用于写入的 expdate.dmp
- three.js实现一个网格
- Unreal输出Log的方法
- java的poi技术读取Excel[xls,xlsx]
- kettle 工具的使用
- Mysql基础
- mysql数据备份
- 前端调试
- SICP 1.20
- 通过递归判断一个整形数组是否按升序排列(java实现)
- OC和Swift混编的配置
- mysql版本区别
- OkHttp学习(2)-->>异步下载图片、文件(拦截器重写Response方法实现下载进度获取)
- maven学习笔记【三】私服Nexus使用