前言
学习PHP就不得不提MySQL,虽然有phpMyadmin这样的工具可以图形化操作数据库,但我还是想借学习PHP的机会使用下命令行方式操作数据库。以下就是我的学习小结,包括命令行连接数据库,查看当前用户,查看当前使用的存储引擎,查看MySQL版本等基本命令。
连接数据库
命令格式:mysql -h hostname -u username -p
-h指定要连接的MySQL数据库所在的主机,如果是本机,可以省略。
-u指定登录的用户名,如果不指定,默认是操作系统的登录用户名。
-p指定密码。可以在-p之后直接输入密码,但是这种方式密码将显示出来。好的方式是先不输入密码,回车之后系统会提示输入密码,此时再输入密码将使用*显示。这样相对安全一些。正确连接后将出现欢迎界面。如下图所示:
退出数据库使用quit命令即可。
当一个应用连接数据库时,建议不要使用root管理员用户连接。好的方法是为应用创建一个或几个特定权限的普通用户来操作数据库。对于普通用户遵循最小权限原则,这样能最大程度的提高数据库的安全性。
各种数据库信息查看命令
- 查看数据库的版本 select version();
- 查看数据库支持的存储引擎及当前的默认存储引擎 show engines;
如下图所示,显示MySQL数据库的所有存储引擎,default为当前默认的存储引擎,还有是否支持事务等信息: - 查看当前登录数据库的用户名 select user();
- 查看当前登录数据库用户的权限 show grants for sally; –sally为用户名
- 查看当前用户能看到的所有数据库 show databases;
- 转到指定的数据库 use books; – books为数据库名
- 查看当前数据库中所有的表 show tables;
- 查看某个表的结构信息 describe customers; –customers为表名
上述命令运行情况如下图所示:
load命令从文本文件获取数据插入到表中
命令:
load data local infile ‘filepath’ into table tableName (确定文件)
fields terminated by ‘,’ (定义字段分隔符)
lines terminated by ‘\r\n’; (定义行分隔符,windows环境换行符)
图例:
txt文本数据:(注意:在windows环境下, 在文本数据中使用\N来表示MYSQL中的null,一定是大写的\N)
官方文档