插入表记录
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] 数据表名 | [(字段名,...)] VALUES ({值 | DEFAULT},...),(...),... [ON DUPLICATE UPDATE 字段名=表达式,...]
参数 说明 LOW_PRIORITY 时INSERT UPDATE DELETE语句都支持的一种可选修饰符,降低MySQL执行这些语句的优先级 DELAYED 时INSERT 的一种可选修饰符,表示等到待插入的数据表空闲的时候在执行插入操作 HIGH_PRIORITY 用于修饰INSERT 和SELECT ,指定操作的优先级 IGNORE 可选,表示执行INSERT语句的时候,所有的错误都将作为警告处理 字段名,… 可选,表示向指定列或者所有列插入数据 VALUES ({值 | DEFAULT} 必选,表示要插入的值 ON DUPLICATE UPDATE 字段名=表达式,… 可选,用于在插入新行时,如果导致UNIQUE KEY或 PRIMARY KEY 出现重复的时候,系统会根据UPDATE 后的语句修改表中的原有行数据 example
INSERT INTO student [col_1,col_2,...] VALUES(col_1,col_2,...); ```col_1,col_2,... **如果要插入多条记录** ```sql INSERT INTO student [col_1,col_2,...] VALUES(col_1,col_2,...) ,(col_1,col_2,...) ,(col_1,col_2,...) ...;
example从student1中的id和name字段插入到student2中的id和name字段
INSERT INTO student2 (id,name) SELECT id,name FROM student1;
- 语法一
REPLACE INTO 数据表名 (字段列表) VALUES (值列表);
- 语法二
REPLACE INTO 目标数据表名(字段列表) SELECT 字段列表2 FROM 原表 [WHERE 条件表达式];
- 语法三
REPLACE INTO 数据表名(字段列表) SET 字段1 = 值1,字段2 = 值2,...;
修改表记录
UPDATE
语法如下:
UPDATE 数据表名 SET column_name=new_valuel,column_name2=new_valuel2,... WHERE 条件表达式
删除表记录
DELETE FROM 数据表名 WHERE condition;
TRUNCATE [TABLE] 数据表名
参考书籍: MySQL数据库管理与开发(慕课版)