一千行MySQL学习笔记(五)

/* 导入导出 */ -------------

select * into outfile 文件地址 [控制格式] from 表名;    -- 导出表数据
load data [local] infile 文件地址 [replace|ignore] into table 表名 [控制格式];    -- 导入数据
  生成的数据默认的分隔符是制表符   local未指定,则数据文件必须在服务器上
  replace 和 ignore 关键词控制对现有的唯一键记录的重复的处理
 
-- 控制格式
 
fields    控制字段格式 默认:fields terminated by '\t' enclosed by '' escaped by '\\'   terminated by 'string'  -- 终止   enclosed by 'char'      -- 包裹   escaped by 'char'      -- 转义   -- 示例:    SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'    LINES TERMINATED BY '\n'    FROM test_table;
lines    控制行格式   默认:lines terminated by '\n'   terminated by 'string'    -- 终止

/* insert */ --------------

select语句获得的数据可以用insert插入。  可以省略对列的指定,要求 values () 括号内,提供给了按照列顺序出现的所有字段的值。   或者使用set语法。    
  insert into tbl_name set field=value,...;  可以一次性使用多个值,采用(), (), ();的形式。  
  insert into tbl_name values (), (), ();  可以在列值指定时,使用表达式。  
  insert into tbl_name values (field_value, 10+10, now());
可以使用一个特殊值 default,表示该列使用默认值。  
  insert into tbl_name values (field_value, default);  可以通过一个查询的结果,作为需要插入的值。  
  insert into tbl_name select ...;  可以指定在插入的值出现主键(或唯一索引)冲突时,更新其他非主键列的信息。  
   insert into tbl_name values/set/select on duplicate key update 字段=值, …;

/* delete */ -------------

DELETE FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

按照条件删除  指定删除的最多记录数。Limit  可以通过排序条件删除。order by + limit  支持多表删除,使用类似连接语法。
 
delete from 需要删除数据多表1,表2 using 表连接操作 条件。

/* truncate */ -------------

TRUNCATE [TABLE] tbl_name 清空数据 删除重建表  区别:
 
1truncate 是删除表再创建,delete 是逐条删除
2truncate 重置auto_increment的值。而delete不会
3truncate 不知道删除了几条,而delete知道。
4,当被用于带分区的表时,truncate 会保留分区

(未完待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值