MySQL——插入数据

1.语法

-- 基本语法

INSERT INTO table [(column,...)]
VALUES (value,...),(...),...;

-- Example

INSERT INTO books
VALUES(The Big Sleep,Raymond Chandler,1934);

-- 须按照CREATE TABLE时列的顺序

-- 对于有默认值的列,可忽略或使用DEFAULT或NULL或指出需要插入数据的列 

INSERT INTO books
VALUES(The Thirty-Nine Steps,John Bchan,DEFAULT);

INSERT INTO books
(author,title) 
VALUES(Evenlyn Waugh,Brideshead Revisited);

-- 多行插入

INSERT INTO books
(title,author,year)
VALUES(Visitation of Spirts,Randall Kenan,1989),
      (Heart of Darkness,Joseph Conrad,1902);

-- 明确插入

INSERT INTO birds_families
SET scientific_name = Rallidae,
oorder_id =113;

 

2. 插入其他表的数据

INSERT IGNORE INTO bird_families
(scientific_name,brief_description,cornell_bird_order)
SELECT bird_family,examples,bird_order
FROM cornell_birds_families_orders;

-- scientific_name 列设置了UNIQUE

/* IGNORE 为了多行插入产生了重复列名而出错,以免语句运行失败
IGNORE指示服务器忽略所有错误并插入正确的行 */

-- SHOW WARNINGS 展示错误的日志行

 

MySQL——插入数据

 

MySQL——插入数据

 

3.替换数据

-- 常用于当发生重复行时进行替换

REPLACE INTO bird_families
(scientific_name,drief_description,ordre_id)
VALUES(Viduidae,Indigobirds & Whydahs,128);

-- REPLACE 可用于替换含有重复键的整行数据或新增原表中所没有的数据
-- 若以上scientific_name不是UNIQUE或键,则不是替换而是新增

 

4. 数据插入的优先级

  在一台服务器上经常发生多人同时访问的情况,就有来自不同客户端的SQL语句输入。这时需要对语句进行优先级设置。

  4.1 调低INSERT的优先级

-- Way : LOW_PRIORITY

INSERT LOW_PRIORITY INTO bird_sightings
...

  4.2 提升INSERT的优先级

  INSERT语句默认优先于其他只读的SQL语句。

-- Way : HIGH_PRIORITY

INSERT HIGH_PRIORITY INTO bird_sightings
...

 

MySQL——插入数据

上一篇:mysql 备份恢复


下一篇:mysql 日期操作 增减天数、时间转换、时间戳(转换)