MySQL导入csv文件内容到Table及数据库的自增主键设置

时间:2024-03-07 10:14:19

 写在前面

目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置.

测试采用MySQL8.0.

新建表customer_info如下, 未设置主键.

修改上表, 添加主键id, 并设置为自增.

ALTER TABLE customer_info ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY;

导入步骤

1.为了模拟数据, 直接把这三条记录导出到csv文件中.

 

2.将该文件导入到表customer_info中.

 

 

 

 

csv文件中没有表头, 第一行就是数据, 所以改为1;

字段名行: 1这个没改, 点下一步如下:

 

 

3.验证导入结果

刷新表, 查看导入结果, 确实是从文件中的第一条数据张三开始导入的.文件内容已完全导入到表中.

小结

MySQL新增自增主键

ALTER TABLE customer_info ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY;

MySQL修改字段为自增主键

ALTER TABLE customer_info CHANGE COLUMN id id INT AUTO_INCREMENT PRIMARY KEY;

如果id本身就是主键, 仅仅是想设置为自增上面sql就不需要加PRIMARY KEY了.

SQLServer新增自增主键

ALTER TABLE sms_rec ADD id INT IDENTITY (1, 1) PRIMARY KEY;

修改字段为自增主键就不表演了..因为我是先把id那列干掉然后执行的上面一行...low了点, 能用...

 Oracle新增自增主键(参考https://www.cnblogs.com/karrya/p/10888358.html

Oracle通过设置序列和触发器实现主键自增

1)建表

/*第一步:创建表格*/
create table t_user(
       id int primary key,     --主键,自增长
       username varchar(20),
       password varchar(20),
       type varchar(20)
);

2)创建自增序列

/*第二步:建立自定义的sequence*/
CREATE SEQUENCE user_sequence
increment by 1                  -- 每次加几个
start with 1                    -- 从1开始计数
nomaxvalue                      -- 不设置最大值
nocycle                         -- 一直累加,不循环
nocache                         -- 不建缓冲区

3)创建触发器

/*第三步:建立触发器*/
create trigger mem_trig before
insert on t_user for each row when (new.id is null)
begin
 
 select user_sequence.nextval into:new.id from dual;
 
 end;