zoukankan      html  css  js  c++  java
  • MySQL导入csv文件内容到Table及数据库的自增主键设置

     写在前面

    目的是测试将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;
  • 相关阅读:
    省选模拟64
    省选模拟63
    杂题
    省选模拟62
    省选模拟61
    省选模拟60
    省选模拟58
    IntelliJ IDEA配置tomcat【全程详解】
    java之 Timer 类的简单使用案例
    Intellij IDEA导入Github中的MAVEN多模块项目【保持项目样式】
  • 原文地址:https://www.cnblogs.com/yadongliang/p/11305502.html
Copyright © 2011-2022 走看看