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用户对目标目录有写权限
数据导入导出