mysql学习笔记-常用命令

  常用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

常用命令常用sql:SHOWVARIABLESLIKE'character%'的更多相关文章

  1. 常用命令和sql

    常用命令: mvn idea:idea //生成.ipr项目文件 mvn clean install -Dmaven.test.skip=true mvn install:install-file - ...

  2. git常用命令常用场景

    在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库: ...

  3. 附1 consul常用命令+常用选项

    之后每用到一个command或options,都会记录在这里. 常用命令command: agent 作用:运行一个consul agent join 作用:将agent加入到consul clust ...

  4. cmd常用命令 和 sql server相关基础

    在Java开发中 ms sql server 接触算是比较少的,本文记录一些ms sql server的基础知识. 1. 为表字段增加索引:create index user_openid on us ...

  5. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...

  6. MySql 基础知识-常用命令及sql语句

    一.常用mysql命令行命令 1,启动mysql服务 net start mysql.      停止mysql服务 net stop mysql 2,netstart -na|findstr 330 ...

  7. Mysql常用命令大全 sql

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  8. mysql 常用命令 常用SQL语句

    维护命令 数据库 ##创建数据库 mysql> create database test; Query OK, 1 row affected ##删除数据库 mysql> drop dat ...

  9. 网络方面的常用命令 & 常用端口介绍

    在网络方面我们常常会用到如下命令: (1)ping命令:我们常常用来判断2台或2台以上的机器间是否网络连通. ping 192.168.1.88 -t 如果想看任何命令的参数是什么意思,我们只需要:命 ...

随机推荐

  1. JQuery整体大纲

    今天公司放假,闲的无聊,就总结了一套JQuery的笔记,我感觉更像是大纲,在这里跟大家分享一下,这是我的成果: 这个就是我的劳动成果了,说实话真是不容易,为了做这个东西,翻阅了很多以前做过的笔记,发现 ...

  2. 信号量 sem_t 进程同步

    sem_t分为有名和无名.有名的sem_t通过sem_open来创建, 而无名的sem_t通过sem_init的初始化. 用有名的sem_t来进程间同步是件很容易的事情,百度上一搜很多想相关的例子. ...

  3. Fetcher类的工作流程

    Fetcher类工作流程: FileInputFormat.addInputPath(job, new Path(segment, CrawlDatum.GENERATE_DIR_NAME)); jo ...

  4. poj 3114 Countries in War

    http://poj.org/problem?id=3114 #include <cstdio> #include <cstring> #include <queue&g ...

  5. onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击 onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击

    已经知道了.复写getView()的时候,在内部Viewholder.length.setOnClickListener(匿名内部类)   然后新建一个接口方进去 ,然后外面的listView设置&l ...

  6. POJ 1511 SPFA+邻接表 Invitation Cards

    题目大意: 计算从 1 点 到 其他所有点的 往返距离之和, 因为是 有向图, 所以我们需要将图反存 一次, 然后求两次单源最短路, 结果就出来了. #include <iostream> ...

  7. HDOJ 2131 Probability

    Problem Description Mickey is interested in probability recently. One day , he played a game which i ...

  8. python:redis简单操作

    一,安装redis-py pip install redis easy_install redis 二,简单用法 import redis # 连接redis服务器 def conn_redis(): ...

  9. 针对苹果最新审核要求:应用兼容IPv6

    在WWDC2015上苹果宣布iOS9将支持纯IPv6的网络服务.2016年初开始所有提交到App Store的应用必须支持IPv6.为确保现有的应用是兼容的,我们需要注意下面几点. 不建议使用底层的网 ...

  10. javascript 属性的特性

    /* 属性的特性: 可以通过调用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符, 从函数名字就可以看出, Object.getOwnProper ...