MySQL命令行客户端
mysql是MySQL的命令行工具,命令语法如下
mysql [options] [db_name]
# db_name 指定连接的数据库(可选)
Ctrl L # 清屏
命令行选项
-h
--host= # 连接的主机
-u
--username= # 指定连接的用户
-p
--password= # 使用密码登录
--quick
-q # 快速模式;每次返回一条查询结果,而不是整个结果集
--database=
-D # 指定连接的数据库
# 例
mysql -u root -p # 使用root并使用密码登录
mysql -u root -p demo # 使用root登录,并连接到demo数据库
mysql>语法
sql_statment; # ;结束标记
Ctrl C # 打断当前命令执行
# 或结束本次sql输入
status # 查看当前连接的状态
exit # 断开连接(退出mysql)
表的模糊查找
show tables like 'Regex' # regex正则表达式
注意,mysql中的
%语义与BRE中的*相同
# 例
show tables like 'clan%' # 匹配以cla开头的所有表
查询结果输出到文件
在shell命令中输出
在shell中,直接向mysql命令传入SQL语句的方法更为简便
- 使用
-e参数可以直接传入sql语句 - 或者使用输入重定向,将SQL脚本传入mysql命令
mysql -u root --password=xxxxxx --database=xxx -e "sql-statement"
mysql -u root --password=xxxxxx --database=xxx < sql-scripts
若要保存结果,只需将命令的输出重定向的文件即可
在mysql-cmd中输出
在查询命令后加上into outfile 'file-path'
select * from table where id=1111 into outfile 'output';
可能出现报错
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
secure_file_priv是mysql对IO的管理,是一个只读变量,只能在该目录下操作文件IO
可以通过如下命令查看变量的值

# 因此,输出文件路径要改为如下
select * from table where id=1111 into outfile '/var/lib/mysql-files/output'; # OK
查看字段的注释
show create table `table-name`
replace into语句的妙用

浙公网安备 33010602011771号