mysql 常用命令


登录:

直接点击 Mysql Command Line Client 启动Mysql 运行窗口默认的是root登录账号,只需直接输入密码,如下图 ↓↓↓

此时假如我们想用其他账号是不行的;但一定有其它方法呀!我们可以去mysql安装目录的bin文件夹下 “shift+右键” 启动命令窗口控制台(推荐)或启动cmd命令窗口控制台后进入mysql安装目录的bin文件夹,然后执行  mysql -u 你的用户名 -p 你的数据库注意:此处数据库后面不能带分号;) 回车进入。假如你忘记了自己的数据库名怎么写咋办?经实验登录时不带数据库名也是OK哒~~,登录成功后就可以show databases 查看账号名下的可用数据库啦~~

查看账号数据库:show databases;

查看当前数据库所有表:show tables;
查看当前数据库所有存储过程:show procedure status;
              select `name` from MySQL.proc where db = 'db2017_hrportal' and `type` = 'PROCEDURE';
查看当前数据库所有函数:show function status; 
查看存储过程或函数的创建代码
 show create procedure proc_name;
 show create function func_name;

查看视图
 select * from information_schema.views //视图
 select * from information_schema.tables   //表

查看触发器
 show triggers [from db_name] [like expr]
 select * from triggers T where trigger_name=”mytrigger” \G
远程连接:

1、显示密码(某些特殊字符可能不被允许,如括号等): mysql -h IP地址 -P 3306 -u root -p123456

2、隐藏密码(即先不输入密码,提示后再输入): mysql -h IP地址 -P 3306 -u root -p
查看某账号信息:select * from mysql.user where user='用户名' \G (重要:\G用来按key:value显示结果,更加直观,不需要加分号;)
复制某表(结构和数据)方法一: create table 新表名 select * from 旧表名; -- 此方式不会复制主键类型和自增方式。
方法二:create table 新表名 like 旧表名; insert into 新表名 select * from 旧表名; 
拼接多行为一列:select group_concat(列名1,[列名2],[列名3] separator '\',\'') as aaa from 表名 ;
需注意group_concat 默认有长度限制 1024,可通过修改扩大长度限制:https://blog.csdn.net/qq_25178661/article/details/86541749
截取字符串:
substr(字段,起始位置从1开始); substring_index(字段,查找的字符,起始位置从1开始);
select substring_index(substr(deptlongname,4),'_',1) centerName from users group by centerName; 如deptlongname字段值为 公司_中心_部门_分组,则查询结果为“中心”。
从json数组读出某个参数值,结果还是数组:https://blog.csdn.net/u013329580/article/details/77096630

select 
JSON_EXTRACT(test_file,'$[*].url') 文件路径,
from file_info_collection;
删除数据库:drop database tablename;
MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 
解决方法:最后一句就行:flush hosts;
备份mysql数据库,但是为啥是sql语句模式啊,大数据情况下肯定不可以吧?
https://blog.51cto.com/13641879/2146914

 根据子节点查找所有父节点:

select @_id, (select @_id := parent_dept_code from dept where dept_code = @_id) as _pid
from (select @_id := '要查询的节点id') vars , dept
where @_id != '顶级父节点id'

 

相关