本文共 2107 字,大约阅读时间需要 7 分钟。
在数据库操作中,数据的导入与导出是日常工作中常用的任务。以下是三种常用的导入与导出的方法:
工具如sqlyog、Navicat等提供了便捷的数据库导入和导出功能。操作步骤如下:
mysqldump是一种强大的工具,支持将数据库数据导出为SQL文件或文本文件。以下是导入与导出的具体步骤:
导出数据:
执行命令:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
注意:导出时无需登录服务端,但需提供数据库用户和密码。
导入数据:
在目标数据库中执行以下命令:
create database abc;use abc;set names utf8;source /home/abc/abc.sql;
或使用命令行:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
在某些情况下,可以通过直接运行SQL语句完成导入与导出:
导出数据:
执行TRUNCATE或DELETE命令清空目标表:
TRUNCATE table t_log;
或使用mysqldump工具。
导入数据:
使用COPY命令或类似命令将数据导入目标数据库。
定义:视图是一种虚拟表,从数据库中一个或多个表中导出,存储在数据库中的是视图的定义,而非实际数据。
作用:
以下是创建视图的示例:
create view v_stu as select * from t_student;
使用视图查询数据:
select * from v_stu;
注意:在创建视图时,不能出现重复列。
作用:通过提高查询速度,类似于图书目录,方便快速定位数据。
分类:
创建索引:
CREATE [UNIQUE|FULLTEXT] INDEX 索引名 ON 表名(字段名[(长度)][ASC|DESC]);
修改或删除索引:
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT] INDEX 索引名(字段名[(长度)][ASC|DESC]);DROP INDEX 索引名 ON 表名;
通过EXPLAIN
命令可以分析SQL语句的执行过程,优化查询性能。
以下是EXPLAIN
的示例:
explain select * from t_user u left join t_role r on u.roleid = r.roleid;
以下案例展示了索引在实际中的应用效果:
普通索引案例:
create index idx_moduleid on t_log(moduleid);
查询速度提升显著。
唯一索引案例:
create unique index idx_url on t_log(url);
确保URL唯一性。
主键索引案例:
主键索引查询速度最快,适合作为主键。
组合索引案例:
create index idx_userid_moduleid_url on t_log(userid,moduleid,url);
提高多字段查询效率。
以下是执行计划的实际案例:
explain select * from t_user u left join t_role r on u.roleid = r.roleid;
通过对比left join
和right join
的执行计划,可以验证索引的有效性。
LIKE
关键字结合以下是LIKE
关键字在索引中的应用:
无效索引:
explain select * from t_user where username like '%张';
有效索引:
explain select * from t_user where username like '张%';
注意:LIKE
关键字中的%在右边时才会使用索引。
以下是条件类型不一致的案例:
explain select * from t_user where username=1;
如果字段类型不匹配,索引不会被使用。
通过以上案例可以看出,合理设计索引可以显著提升查询性能。
转载地址:http://ooffk.baihongyu.com/