mysql常用命令,记录下来,留着备用
查看表索引
show index from tableName
1.Table
表的名称。
2.Non_unique
如果索引不能包括重复词,则为0。如果可以,则为1。
3.Key_name
索引的名称。
4.Seq_in_index
索引中的列序列号,从1开始。
5.Column_name
列名称。
6.Collation
列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
7.Cardinality
索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机会就越大。
8.Sub_part
如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
9.Packed
指示关键字如何被压缩。如果没有被压缩,则为NULL。
10.Null
如果列含有NULL,则含有YES。如果没有,则该列含有NO。
11.Index_type
用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
获取表结构
desc table;
show columns from table;
更改表名
rename table 原表名 to 新表名;
表中删除字段
alter table表名drop col_name[,col_name…………]
alter table pet drop weight;
表中增加字段
alter table MyClass add passtest int(4) default '0';-- 在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
改变列类型
alter table 表名modify col_name type
alter table pet modify weight samllint; --改变weight的类型:
登陆mysql
mysql -uroot -h127.0.0.1 -P33315 -p
u:用户名
h:服务器ip
P:mysql所在的端口
p:密码(直接输入p,enter后在输入密码)
授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
显示指定变量值
SHOW VARIABLES LIKE '%max_allowed_packet%';
查询sql执行频率
show [session|global] status
session:(默认)表示当前连接
global:表示数据库启动至今
eg.
show status;
show global status;
show status like 'Com_%';
show global status like 'Com_%';
备份
mysqldump -uroot -proot test -l -F '路径'
-l 独锁
-F即flush logs 重新生成新的日志文件。
恢复
mysql -uroot -proot test -v -f > sql
-v查看到人的 详细信息
-f是当中出现错误,可以skip
mysql现在已提供什么存储引擎
show engines;
某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎)
show create table 表名;
查看数据库运行的线程
如果您有root权限,您可以看到所有线程。否则,您只能看到登录的用户自己的线程,通常只会显示100条如果想看跟多的可以使用full修饰(show full processlist)
参数
param | value |
---|---|
id | ID标识,要kill一个语句的时候很有用 |
use | 当前连接用户 |
host | 显示这个连接从哪个ip的哪个端口上发出 |
db | 数据库名 |
command | 连接状态,一般是休眠(sleep),查询(query),连接(connect) |
time | 连接持续时间,单位是秒 |
state | 显示当前sql语句的状态 |
info | 显示这个sql语句 |
连接数设置
MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站,这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个。
1、进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
2、设置新的最大连接数为200:mysql> set GLOBAL max_connections=200