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
可以通过如下命令查看变量的值

image

#	因此,输出文件路径要改为如下
select * from table where id=1111 into outfile '/var/lib/mysql-files/output';	#	OK

查看字段的注释

show create table `table-name`

replace into语句的妙用

posted @ 2024-04-26 15:05  lifeAddicted  阅读(19)  评论(0)    收藏  举报