SQL INSERT INTO 插入/replace into,alter 增/改
-
普通插入
INSERT INTO tab_name (col_name) VALUES (要插入的数据,这里是第一行数据), (要插入的数据,这里是第二行数据)...(要插入的数据,第n行数据);
当表头里有自增主键时
方法一: 可以指定插入的列名
INSERT INTO exam_record (uid, exam_id, start_time, submit_time, score) VALUES (1001, 9001, '2021-09-01 22:11:12', '2021-09-01 23:01:12', 90), (1002, 9002, '2021-09-04 07:01:02', NULL, NULL);
方法二:把id的值设置为NULL或0,这样MySQL会自己处理这个自增的id列
INSERT INTO exam_record VALUES (NULL, 1001, 9001, '2021-09-01 22:11:12', '2021-09-01 23:01:12', 90), (NULL, 1002, 9002, '2021-09-04 07:01:02', NULL, NULL);
方法三:直接填入id值
INSERT INTO exam_record VALUES (1, 1001, 9001, '2021-09-01 22:11:12', '2021-09-01 23:01:12', 90), (2, 1002, 9002, '2021-09-04 07:01:02', NULL, NULL);
-
从另一个表导入
INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]
-
带更新的插入:
REPLACE INTO table_name VALUES (value1, value2, ...) (注意这种原理是检测到主键或唯一性索引键重复就删除原记录后重新插入)
-
增/改
增加列
alter table...add字段名
改列名
alter table.. modify字段名
alter table... change old字段 new字段
改表名
rename 表名