1、查看MySQL版本
- Linux下可以直接使用命令
[root@master ~]#mysql -V
或者
[root@master ~]#yum list | grep mysql - 在MySQL客户端可以输入
mysql> status; - 在linux中进入客户端时也会出现MySQL的版本
[root@master ~]#mysql -uroot -pxxxxxx
2、MySQL中数据导入与导出
导入(经分割后文件中的列要与表中定义一致):
load data local infile '/root/学生信息.csv' into table student fields TERMINATED BY ',' LINES TERMINATED BY '\r\n' ignore 1 lines;
导出:
select num,name from namenum2 into outfile '/root/numname.csv' fields terminated by ',' lines terminated by '/n';
导出数据时,可能出现以下问题:
ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
出现上述错误的原因是导出数据的目录与MySQL默认的输出目录不一致,可采用如下命令查看MySQL的默认输出目录:
show variables like '%secure%';
解决上述问题有两种办法:
- 将数据导出的目录更改为MySQL默认的输出目录;
- 更改默认输出目录,例如:编辑/etc/my.cnf文件,在文件末尾添加如下语句可使得导出数据到任何目录都合法。
secure_file_priv="/"
以下内容参考:secure_file_priv参数的含义
secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
ure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
3、MySQL中的except替代方案
SQL server中的except可以实现两个表相减的功能,在MySQL中没有直接的语句实现该功能,但可使用替换语句实现。如下例所示:
-- 测试表,与测试数据
CREATE TABLE union_tab_1 (
id INT,
val VARCHAR(10)
);
CREATE TABLE union_tab_2 (
id INT,
val VARCHAR(10)
);
INSERT INTO union_tab_1 VALUES(1, 'A');
INSERT INTO union_tab_1 VALUES(2, 'B');
INSERT INTO union_tab_1 VALUES(3, 'C');
INSERT INTO union_tab_2 VALUES(1, 'A');
INSERT INTO union_tab_2 VALUES(1, 'A');
INSERT INTO union_tab_2 VALUES(2, 'B');
INSERT INTO union_tab_2 VALUES(4, 'D');
SQL Server可用以下语句实现union_tab_1-union_tab_2
SELECT * FROM union_tab_1
EXCEPT
SELECT * FROM union_tab_2;
id val
----------- ----------
3 C
在MySQL中则需要使用以下替换语句:
SELECT
DISTINCT union_tab_1.*
FROM
union_tab_1 LEFT JOIN union_tab_2
ON (union_tab_1.id = union_tab_2.id
AND union_tab_1.val = union_tab_2.val)
WHERE
union_tab_2.id IS NULL;
+------+------+
| id | val |
+------+------+
| 3 | C |
+------+------+
以上语句的功能是先将两表进行左连接,然后选择左连接后union_tab_2.id为空的项。
4、 MySQL的模糊查询
5、 MySQL中的表连接
6、 使用MySQL中的group by对表中元素进行分组
也可实现表中元素去重。
7、使用MySQL的视图
视图(View)是一种虚拟存在的表.当不太确定是否要将查询结果作为基础表使用时,可以创建视图。
详见MySQL——视图的创建和使用
这篇博客总结了MySQL的一些关键操作,包括查看MySQL版本,数据导入与导出(解决secure-file-priv问题),except替代方案,模糊查询,表连接,group by分组及视图的使用,是数据库管理者的实用指南。
386

被折叠的 条评论
为什么被折叠?



