mysql数据库基本操作

修改表结构(同Oracle)

  • 重命名:
  1. ALTER TABLE test RENAME TO table_1
  • 添加字段:
  1. ALTER TABLE table_1 ADD id int(3);
  2. ALTER TABLE table_1 ADD info varchar(30);
  • 修改字段名称:
  1. ALTER TABLE table_2 change info info2 varchar(30);
  • 修改字段类型:
  1. ALTER TABLE table_1 modify info varchar(200);
  • 删除字段:
  1. ALTER TABLE table_1 DROP id;
  • 添加约束:
  1. ALTER TABLE table_1 ADD CONSTRAINT

索引

  • 创建索引:
  1. ALTER TABLE 表名字 ADD INDEX 索引名 (列名);
  2. CREATE INDEX 索引名 ON 表名字 (列名);

** 注意:在mysql中外键会自动创建索引 **

  • 查看表的索引
  1. SHOW INDEX FROM table_name;
    *

视图

  • 创建视图
  1. CREATE OR REPLACE VIEW vw_test[(col1,col2,...)] AS SELECT * FROM table_1;

导入数据

  1. LOAD DATA INFILE '/tmp/SQL6/in.txt' INTO TABLE employee;

导出数据

  1. SELECT * INTO OUTFILE '/tmp/out.txt' FROM employee

注意:此时的数据(字段)之间的分隔符是空格或水平制表符,如果导入的数据中字段之间的分割符号是逗号,则要在导入的时候特别指出,其格式如下所示

  1. LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
  2. INTO TABLE tbl_name
  3. [FIELDS
  4. [TERMINATED BY '\t']
  5. [OPTIONALLY] ENCLOSED BY '']
  6. [ESCAPED BY '\\']]
  7. [LINES TERMINATED BY '\n']
  8. [IGNORE number LINES]
  9. [(col_name,...)]
  10. LOAD DATA INFILE 语句从一个文本文件中以很高的速度读入一个表中。如果指定 LOCAL 关键词,从客户主机读文件。如果 LOCAL 没指定,文件必须位于服务器上。(LOCAL MySQL3.22.6 或以后版本中可用。)

数据库备份

(处理表中的数据之外还有表结构信息,此为数据库备份与导出的不同点之所在)

  • 备份整个数据库(此时在Linux终端中,不在mysql中,但是mysql服务器必须是开启状态)
  1. mysqldump -u root 数据库名>备份文件名;
  • 备份整个表
  1. mysqldump -u root 数据库名 表名称>备份文件名;
  • 代码实例
  1. mysqldump -u root mysql_shiyan > db_bak.sql

数据库恢复(此时位于mysql中)

  • 方法一
  1. source /tmp/db_bak.sql;(此时位于mysql中)
  • 方法二
    进入mysql中:
  1. mysql -u root
  2. create database test;
  3. exit

此时位于终端:

  1. mysql -u root test < db_bak.sql

即可将db_bak.sql中的数据恢复到新建的空数据库test中





posted @ 2017-03-15 17:49  岳麓丹枫  阅读(170)  评论(0编辑  收藏  举报