Mysql 记录复制导入和导出

Mysql 记录复制导入和导出

复制记录

lower 不区分大小写函数

password 加密函数

创建表employee

> create table employee (id int,name char(10),agi int,sex enum('M','F'),department char(10));

> insert into employee values (23,'john',27,'M','Engi'),(31,'Sue',31,'F','Fiance'),(113,'David',26,'M','Admin');

> select * from employee;

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

id | name | agi | sex | department |

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

23 | john | 27 | M | Engi |

31 | Sue | 31 | F | Fiance |

113 | David | 26 | M | Admin |

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

创建表user

> create table user (uid int primary key auto_increment,uname char(10),upass char(10));

复制记录

> insert into user (uname,upass) select lower(name),password(lower(name)) from employee;

> select * from user;

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

uid | uname | upass |

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

1 | john | *DACDE7F57 |

2 | sue | *934B89788 |

3 | david | *8201E0C1B |

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

复制记录时,可以添加where条件

> insert into user (uname,upass) select (name),password(name) from employee where department='Fiance';

> select * from user;

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

uid | uname | upass |

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

1 | john | *DACDE7F57 |

2 | sue | *934B89788 |

3 | david | *8201E0C1B |

4 | Sue | *287E48EAA |

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

--------------------------------------------------------------------------------------------------------------------------------------------------------

导入数据

load data infile...

语法:

load data infile '文件绝对路径' into table 表名 fields terminated by '字段分割符' lines terminated by '记录分割符';

样例:

> load data infile '/tmp/a.txt' into table t20 fields terminated by ':' lines terminated by 'n';

导出数据

select...into outfile...

语法:

select 字段 from 表名 into outfile '文件绝对路径' fields terminated by '字段分割服' lines terminated by '记录分割符';

样例:

> select * from t20 into outfile '/tmp/b.txt' fields terminated by ':' lines terminated by 'n';