mysql数据库表的操作(表记录/表结构的导出与导入)

数据库: ov
数据库类型:mysql
表: openvpn

(1) : 通过sql查询语句对表的导出导入操作

1. 导出openvpn表
在数据库ov运行SQL查询
mysql>select * from openvpn into outfile 'openvpn.txt';

2. 表的导入
2.1 导入前的Drop table openvpn;操作
在数据库ov运行SQL查询
导入: mysql>load data infile 'openvpn.txt' into table openvpn;    // 查询错误,导入失败,返回错误提示"#1146 - Table 'ov.openvpn' doesn't exist " 说明了into outfile导出的openvpn.txt 不具备完整的表结构,只有表的记录。 Drop操作使得表整体被删掉。

2.2 导入前的Truncate table openvpn;操作
在数据库ov运行SQL查询
导入:mysql>load data infile 'openvpn.txt' into table openvpn character set utf8;     //导入成功 Truncate操作保留表的结构,load data into操作只对表的记录进行操作是基于表的结构完善情形下的。

 

(2) : 通过数据库命令对表的导出导入操作

1. 导出整个数据库 包括数据库中所有表的结构和记录
# mysqldump -u root -p ov > ov.sql
导入 # mysql -u root -p ov < ov.sql

2. 只导出数据库结构 # mysqldump -d -u root -p ov > ovjiegou.sql
导入 # mysql -u root -p ov < ovjiegou.sql

3. 导出一个完整的数据表 包括表结构和表记录 # mysqldump -u root -p ov openvpn > openvpn.sql
清空表记录,导入 # mysql -u root -p ov < openvpn.sql    //正常
表不存在时,导入 # mysql -u root -p ov < openvpn.sql    //正常

4. 导出一个数据表的结构 只有表结构 # mysqldump -d -u root -p ov openvpn > openvpn_jiegou.sql
或 # mysqldump -d -u root -p -B ov --table openvpn >openvpn_jiegou.sql    //导出特定表的结构
导入# mysql -u root -p ov < openvpn_jiegou.sql    //会使得表openvpn的记录丢失

5. 导出一个表的记录 只导出记录 # mysqldump -t -u root -p ov openvpn >openvpn_jilu.sql
清空表记录(Truncate table openvpn)情形下, 执行导入:# mysql -u root -p ov < openvpn_jilu.sql     //被清空的表记录恢复
删除表(Drop table openvpn;)情形下,执行导入:# mysql -u root -p ov < openvpn_jilu.sql   // 提示错误" Table 'ov.openvpn' doesn't exist"
注意: ovXXX.sql脚本对整个ov数据库起作用,对所有表有影响,若ovxx.sql是一个数据库结构,导入脚本后,数据库中所有表的记录将丢失; openvpnXXX.sql脚本只是一个表的脚本,只对这个表有影响,不会影响到其他表。

6. 表创建原理
若数据库ov 中不存在表openvpn ,我们可以通过下面的2步来恢复openvpn表
第一步:# mysql -u root -p ov < openvpn_jiegou.sql   //创建空表openvpn ,创建表openvpn的结构
第二步:# mysql -u root -p ov < openvpn_jilu.sql   //填充表记录,填充表数据

7. mysql表的常见操作 mysql> desc openvpn;  //查看表结构
mysql>show create table openvpn;   //显示详细的表结构创建SQL语句
mysql>select * from openvpn;    //显示openvpn表中所有记录
mysql> show variables like "%character_set_%";   //查看数据库的字符集
mysql> set names gbk;     // 设置字符集为gbk , 字符集character_set_client 、character_set_connection、character_set_results 3项发生改变。退出mysql> ,再去查看数据库字符集,编码没有发生改变。
插入一条表记录:INSERT INTO `openvpn` VALUES (字段A, '字段B', 字段C, '字段D', 字段E, NULL, 0);
删除一条表记录:DELETE FROM `openvpn` WHERE `id` =29 LIMIT 1 ;
删除多条表记录:DELETE FROM `openvpn` WHERE `id` =29 LIMIT 1 ; DELETE FROM `openvpn` WHERE `id` =6 LIMIT 1 ; DELETE FROM `openvpn` WHERE `id` =20 LIMIT 1 ;
更新一条表记录:UPDATE `openvpn` SET `pass` = 'achangaa' where id='1';

ps :
若openvpn表已经有了A记录数据, 要新增B记录数据, 为了不覆盖原来的A记录数据, 需要对记录的ID进行整体考虑(id具有唯一性不冲突,记录不重复)。
mysqldump导出的sql脚本 可以通过mysql/source命令导入脚本;
phpmyadmin导出的sql脚本 可以通过mysql/source命令导入脚本 ,也可以用phpmyadmin导入 ;
mysqldump导出的sql脚本 phpmyadmin导入不成功。

 

 

相关新闻

联系我们

全国服务热线

400-033-9553

电子邮件:admin@example.com
工作时间:09:00-17:00 周一至周五

在线客服
关注微信
关注微信
分享本页
返回顶部