首页 > 代码库 > 数据导入导出

数据导入导出

1、 复制表命令格式

Create table  表名

复制表时,原表key字段的属性不会被复制给新表。

复制学生信息表stuinfo  复制叫stuinfo_1402

Create table stuinfo_1402 select * from stuinfo;  //把stuinfo中的内容全部复制

Create table stuinfo_1402 select name,age,sex from stuinfo where sex=man;    //把性别是man的name,age,sex复制到stu info _1402

2、 复制表结构

Create  table 新表名  select * from 表名 where 不成立的条件;

3、 修改表名

Alter table  原表名  rename 新表名;

4、 Mysql数据导入导出

数据导入(把系统文件里的数据存放到数据库服务器的表里)

格式:load data infile "绝对路径文件" into table fields  terminated by "分隔符" lines terminated by "\n";

把/etc/passwd文件的内容把存到数据库服务器userdb库的usertab表里

mysql> create database userdb;        //创建库

Query OK, 1 row affected (0.00 sec)

mysql> use userdb;                   //切换

Database changed

mysql> select database();             //查看当前所在库

+------------+

| database() |

+------------+

| userdb     |

+------------+

mysql> create table usertab;

   -> username varchar(20) not null,

   -> psw varchar(10) not null,

   -> uid int(20),

   -> gid int(20),

   -> qm varchar(30),

   -> ml varchar(50),

   -> shell varchar(50),

   -> index(username),

   -> unique(uid)

-> );

mysql> load data infile "/etc/passwd" into table usertab fields  terminated by ":" lines terminated by "\n";

添加序列号(自增)

(如果表中有该字段,则只能设置主键,不能自增)

mysql> alter table 表名 add id int(3) auto_increment primary key;

数据导出(把表里的记录存放到系统文件里)

格式:select查询语句  into  outfile  “文件名(绝对路径)”

Fields  terminated  by “分隔符” lines  terminated by“\n”

文件存放在当前的数据库目录下

把usertab的所有记录保存到自己创建的mysqlbak目录下的user1.txt文件里

当指定导出数据存储位置时,要让mysql用户对目标存储目录有写权限。

导出的内容由SQL查询语句决定

若不指定路径,默认会放在执行导出命令所在库对应的数据库目录下

应确保mysql用户对目标目录有写权限