常用sql:
SHOW VARIABLES LIKE 'character%';查看字符集
SHOW VARIABLES LIKE 'collation_%';
show engines;查看引擎
show databases; 查看数据库
show tables;
desc table_name;
GRANT ALL PRIVILEGES ON *.* TO 'guming'@'localhost' IDENTIFIED BY 'guming' WITH GRANT OPTION;授权
show PRIVILEGES;查看权限
show grants for test@localhost;查看用户权限
select * from mysql.user where user='test';
函数
逻辑:case when,isnull,IFnull等
数学:mod,cell,floor,round(),trancate(),abs()
字符串函数:rtrim,ltrim,substring,locate(),INSTR(),length,left,right
REPEAT(str,count)
返回一个由重复的字符串str 组成的字符串,字符串str的数目等于count 。 若 count <= 0,则返回一个空字符串。若str 或 count 为 NULL,则返回 NULL 。
REPLACE(str,from_str,to_str)
返回字符串str 以及所有被字符串to_str替代的字符串from_str 。
REVERSE(str)
返回字符串 str ,顺序和字符顺序相反。
日期函数:current_date,datediff,adddate,date_add,dayofweek,dayofyear,dayofmonth,month,hour(),
str_to_date: SELECT STR_TO_DATE('20031031',GET_FORMAT(DATE,'ISO'));
select date_format(current_date(),'%Y-%m-%d %W');
select extract(YEAR_MONTH FROM current_date());
转换函数:
cast:可使用CAST()函数将某个值转为另外一种类型。CONVERT
convert_TZ:CONVERT_TZ() 将时间日期值dt 从from_tz 给出的时区转到to_tz给出的时区
concat:返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
全文检索
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database');
在默认状态下, 搜索的执行方式为不区分大小写方式。然而,你可以通过对编入索引的列使用二进制排序方式执行区分大小写的全文搜索。 例如,可以向一个使用latin1字符集的列给定latin1_bin 的排序方式,对于全文搜索区分大小写。
利用IN BOOLEAN MODE修改程序, MySQL 也可以执行布尔全文搜索:
mysql> SELECT * FROM articles WHERE MATCH (title,body)
-> AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
这个问询检索所有包含单词“MySQL”的行,但不检索包含单词“YourSQL”的行。
全文搜索支持查询扩展功能 (特别是其多变的“盲查询扩展功能” )。若搜索短语的长度过短, 那么用户则需要依靠全文搜索引擎通常缺乏的内隐知识进行查询。这时,查询扩展功能通常很有用。例如, 某位搜索 “database” 一词的用户,
可能认为“MySQL”、“Oracle”、“DB2” and “RDBMS”均为符合 “databases”的项,因此都应被返回。这既为内隐知识。
mysql> SELECT * FROM articles
-> WHERE MATCH (title,body)
-> AGAINST ('database' WITH QUERY EXPANSION);
加密函数:
ENCRYPT()
md5()
password()
字符集操作
SELECT CHARSET(CONVERT('abc' USING utf8));SELECT CHARSET(USER());
查询缓存设置:
服务器启动时要禁用查询缓存,设置query_cache_size系统变量为0,query_cache_type=on
SET GLOBAL query_cache_size = 40000;
SHOW VARIABLES LIKE 'query_cache_size';
SHOW VARIABLES LIKE 'query_cache%';
开启缓存后:
select * from ad_position where id=201;
SHOW STATUS LIKE 'Qcache_hits'; 查询命中次数
SET SESSION query_cache_type = ON;(ON:1,OFF:0,2:DEMAND)
on 启用缓存,SELECT SQL_NO_CACHE除外
off 不用缓存,
DEMAND 仅对以SELECT SQL_CACHE开始的那些查询语句启用缓存。
清除缓存:
可以使用FLUSH QUERY CACHE语句来清理查询缓存碎片以提高内存使用性能。该语句不从缓存中移出任何查询。
RESET QUERY CACHE语句从查询缓存中移出所有查询。FLUSH TABLES语句也执行同样的工作。
什么类型的数据缓存?
查询结果集缓存,对于动态的结果集是不缓存的。必须是一样的sql,并且结果集无变化。
表更新后,对应表的缓存失效,此时同一sql有很能结果集不同了。
注释:查询缓存不返回旧的数据。当表更改后,查询缓存值的相关条目被清空。
注释:如果你有许多mysqld服务器更新相同的MyISAM表,在这种情况下查询缓存不起作用。
注释:查询缓存不适用于服务器方编写的语句。如果正在使用服务器方编写的语句,要考虑到这些语句将不会应用查询缓存
调整缓存:
· query_cache_min_res_unit默认值是4KB。这应该适合大部分情况。
· 如果你有大量返回小结果数据的查询,默认数据块大小可能会导致内存碎片,显示为大量空闲内存块。由于缺少内存,内存碎片会强制查询缓存从缓存内存中修整(删除)查询。这时,你应该减少query_cache_min_res_unit变量的值。
空闲块和由于修整而移出的查询的数量通过Qcache_free_blocks和Qcache_lowmem_prunes变量的值给出。
· 如果大量查询返回大结果(检查 Qcache_total_blocks和Qcache_queries_in_cache状态变量),你可以通过增加 query_cache_min_res_unit变量的值来提高性能。但是,注意不要使它变得太大(参见前面的条目)。
更改存储引擎
ALTER TABLE engineTest ENGINE = ARCHIVE;
字符集设置:
在ini文件中加入下面配置:
default-character-set = utf8
character_set_server = utf8
导入数据库备份时遇到的问题,空间不够
修改ini文件中的配置:max_allowed_packet = 16M
参考文档:http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/
分享到:
相关推荐
这是本人学习MySQL时学习笔记,里面包含了常用的命令。
MySql学习笔记(Mysql经典常用命令) Mysql经典常用命令. 一、连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码
MySQL学习笔记,包括MySQL的常用知识及常用命令
{13.5.1}MySQL}{198}{subsection.13.5.1} {13.6}连接池}{199}{section.13.6} {13.6.1}Wrapper}{199}{subsection.13.6.1} {13.7}DAO}{199}{section.13.7} {13.8}java.util.Date与java.sql.Date比较}{200}{...
模块1:连接客户端,这个一般是指mysql基于mysql通讯协议的驱动程序。比如mysql的Java的JDBC驱动程序——mysql-connector-java-5.1.26-bin.jar。再比如.net平台的操作数据库的规范ADO。 模块2:连接池,Mysql自身有...
自己学习MYSQL时的笔记,希望能有点用!
mysql入门学习笔记,优化。包括数据库概述,开发,查询,常用命令。
mysql数据库的常用命令操作 启动、关闭数据库 从命令行查询数据库 数据库和表的基本操作 权限管理 用户管理
常用JVM命令验证 AOP实用技巧;某些打日志等 m3u解析器 知识汇总:::: 其他 GIT地址 UI资源 , 限流算法参考 安卓 基于改造升级打怪 iosched 格子 模块说明 按照创建顺序(不是按照显示顺序)说明如下 项目...
linux学习笔记,教你怎么安装jdk,mysql,Tomcat,以及linux常用命令
1.7 关于 mysql 管理员设置..................................................................................................22资源由 www.eimhe.com 美河学习在线收集分享 1.7.1 为管理员 root 用户设置密码...
docker学习笔记,内含html版与markdown版,两个版本类型的...内容主要包括docker常用命令的使用方法,容器数据卷技术做持久化,dockerfile编写,docker网络,dockercompose编排。以及mysql8、nginx、tomcat的实战应用
mysql 常用的命令,供初学者学习使用,希望对你们有所帮助
linux运维,常用命令,常用见项目dokcer,nginx,mysql等等
JavaEE基础知识学习-----Mysql学习总结 2018年07月06日学习记录 JavaEE日常工作经验总结系列(一)-----Java8优雅去重 JavaEE日常工作经验总结系列(二)-----代码规范 CentOS7的安装 CentOS7常用命令 CentOS
韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...
本文件为CSDN社区所有Mysql常用命令整合笔记,适用人群:SQL小白、数据分析师、数据库管理人员。 文件为HTML格式,方便大家查询使用,不必讲究软件要求,只要有个浏览器就行,本着学习免费,社区资源共享理念,本...
”在SQL环境下执行Unix命令。 SQL语句是由简单的英语单词构成;这些英语单词称为关键字/保留字,不做它用。SQL由多个关键字构成。 SQL语句由子句构成,有些子句是必须的,有些是可选的。 在处理SQL语句时,其中...
DDL(Data Definition Language):数据库定义语句; DML(Data Manipulation Language):用于增删改查数据库中数据; DCL(Data Control ... 注意:执行win命令,后不需要加“;”,但执行mysql语句则需要加“;”