精华内容
下载资源
问答
  • MySQL插入数据

    万次阅读 2017-11-02 15:51:00
    MySQL插入数据

      MySQL通过INSERT来插入行到数据库表中,通常有以下几种情况:
      1.插入完整的行;
      2.插入行的一部分;
      3.插入多行;
      4.插入某些查询的数据。

    一、插入完整的行

      下面为插入一行数据到表customers中的例子:

    USE crashcourse;
    INSERT INTO customers (
        cust_name,
        cust_address,
        cust_city,
        cust_state,
        cust_zip,
        cust_country,
        cust_contact,
        cust_email
    )
    VALUES (
        'Pep E. LaPew',
        '100 Main Street',
        'Los Angeles',
        'CA',
        '90046',
        'USA',
        'NULL',
        'NULL'
    );

    执行结果:
    这里写图片描述
    提示插入成功,再查看该表:
    这里写图片描述

    发现最后一行为刚才插入的数据。刚才给出的例子是在表名后的括号中明确给出了列名,在插入时MySQL将用VALUES列表中的相应值填入列表中的对应项。即VALUES中的第一个值对应于第一个指定的列名,第二个值对应第二个列名,以此类推。因为提供了列名,VALUES必须以其指定的次序匹配指定的列名,不一定按各个列出现的实际表中的次序。这种方法的优点是即使表的结构改变,此INSERT语句任然可以正常工作。而且可以省略允许省略的列。下面为不指定列名插入数据的例子,必须按表中的实际顺序插入,且不能省略任何列:

    INSERT INTO customers 
    VALUES (
        NULL,
        'Pep E. LaPew',
        '100 Main Street',
        'Los Angeles',
        'CA',
        '90046',
        'USA',
        'NULL',
        'NULL'
    );

    省略列: 如果在表的定义允许,则可以在INSERT操作中省略某些列。省略的列必须满足一下某个条件:
      1.该列定义为允许NULL值(无值或空值);
      2.在表中定义了给出默认值。这表示如果不给出值,将使用默认值。

      如果表中不允许NULL值,且没有默认值的列不给出值,则MySQL将产生一条错误消息,并且相应的行插入不成功。

    二、插入多行

      插入多行和插入单行类似,只是在VALUES中用逗号把每一组值分隔开来即可,下面为例子:

    INSERT INTO customers (
        cust_name,
        cust_address,
        cust_city,
        cust_state,
        cust_zip,
        cust_country
    )
    VALUES (
        'Pep E. LaPew',
        '100 Main Street',
        'Los Angeles',
        'CA',
        '90046',
        'USA'
    ),
    (
        'M. Martian',
        '42 Galaxy Way',
        'New York',
        'NY',
        '11213',
        'USA'   
    );

    三、插入检索出的数据

      INSERT可以将一条SELECT语句的结果插入表中,这就是所谓的INSERT SELECT。如果想要把两张表合并为一张表,不需要每次读取一行,然后将它用INSERT插入,可以如下操作:

    INSERT INTO customers (
        cust_id,
        cust_contact,
        cust_email,
        cust_name,
        cust_address,
        cust_city,
        cust_state,
        cust_zip,
        cust_country
    )
    SELECT  cust_id,
        cust_contact,
        cust_email,
        cust_name,
        cust_address,
        cust_city,
        cust_state,
        cust_zip,
        cust_country
    FROM custnew;

      在这个例子中INSERT和SELECT语句使用了相同的列名。但是不一定要求列名匹配,事实上,MySQL甚至不关心SELECT返回的列名。它使用的是列的位置,因此SELECT中的第一列将用来填充表列中指定的第一个列,第二列将用来填充表列中的第二列,如此等等。这对于从使用不同列名的表中导入数据是非常有用的。

      INSERT SELECT中SELECT语句可以包含WHERE语句以过滤插入的数据。

    展开全文
  • MySQL 插入数据

    万次阅读 2014-07-28 22:28:20
    插入数据使用 INSERT 插入完整的行插入行的一部分插入多行插入某些查询的结果 插入完整的行 先看一下原有的customer列表: 插入一行: INSERT INTO customers VALUES(NULL,  'Pep E. LaPew', '100 Main ...

    插入数据使用 INSERT

    • 插入完整的行
    • 插入行的一部分
    • 插入多行
    • 插入某些查询的结果

    插入完整的行

    先看一下原有的customer列表:


    插入一行:
    INSERT INTO customers
    VALUES(NULL, 
    'Pep E. LaPew',
    '100 Main Street',
    'Los Angeles',
    'CA',
    '90046',
    'USA',
    NULL,
    NULL);



    还有一种方式,需要指定列名,这种方法,在表的结构发生变化时,其SQL语句仍然可以使用,而且这种赋值不需要与表的原有结构相同。


    插入多行

    插入多行可以将多个INSERT语句并列起来:

    INSERT .....
    VALUES(,,,,);

    INSERT .....
    VALUES(,,,,);
    这样就可以插入两条记录了,另外如果要插入的列名相同,则可以如下合并插入语句:

    INSERT INTO NAME(,,,,,,,)  //后续插入的多条记录用到相同的列名
    VALUES(,,,,,,,,,) , (.........), (.........); //这样就插入了三条记录了。

    插入检索出的数据

    其实就是使用SELECT语句检索出数据,作为VALUES的值来插入到表中,很好理解,下面的SQL语句就是将custnew表合并到customer表中:

    INSERT INTO customers(cust_id,
    cust_contact,
    cust_email,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country)
    SELECT cust_id,
    cust_contact,
    cust_email,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country
    FROM custnew;






    展开全文
  • Mysql 插入数据的几种方式

    千次阅读 2019-11-01 09:14:47
    Mysql 插入数据

    Mysql 插入数据的三种方式

    #插入数据
    insert into 表名 values()
    #主键重复时忽略
    insert  ignore into  表名 values()
    #主键或unique索引重复时替换
    replace into 表名 values()
    
    

    【注】
    ①replace执行结果影响行数是被删除和新添加的行数之和,即:如果有1行重复,影响行数为2;插入一行没有重复的,影响行数为1;
    ②replace插入部分字段不成功

    select结果插入到表

    insert into 表名1 (select * from 表名2)
    
    展开全文
  • MySQL插入数据异常

    千次阅读 2014-04-14 22:50:22
    MySQL插入数据异常 1、错误如下:  com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Duplicate entry '99064' for key 1 2、错误原因  由于插入数据时,插入主键相同的...

    MySQL插入数据异常


    1、错误如下:

         com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Duplicate entry '99064' for key 1


    2、错误原因

        由于插入数据时,插入主键相同的两个记录,导致出错

    展开全文
  • mysql插入数据的时候丢失数据

    千次阅读 2019-09-08 10:36:42
    mysql插入数据的时候丢失数据 直接po截图和代码 什么时候会丢失数据? character_set_connection和服务器的字符集比character_set_client小时 如下 什么时候才不会丢失数据? 如下才不会丢失数据 要...
  • mySQL插入数据自动生成时间 使用navcat for mysql工具创建数据库时,如果需要设置一个时间字段,并且在插入数据时让这个时间是自动生成。可以参考下面方法: 1、使用Navcat新建表,如job表。在job表中createtime字段...
  • mysql(一) Mysql插入数据返回主键

    千次阅读 2018-09-06 19:46:11
    Mysql插入数据返回主键 ### mysql插入一条记录往往要获得这条记录的主键ID,用mybatis是可以实现的,直接用原生Myql也是可以。 SELECT LAST_INSERT_ID(); 插入后运行上面的语句就可以啦...
  • centos 7mysql 插入数据

    千次阅读 2018-04-22 00:50:05
    centos 7mysql 插入数据 这个日志比较杂 不过解决了很多问题,比如mysql不能输入中文 create database数据库名; 这样就创建了一个自己明明的数据库 使用 show databases;可以查看所有的数据库 二、删除数据库 ...
  • mysql插入数据后返回自增ID

    千次阅读 2019-08-01 16:38:03
    mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 方法一:是使用...
  • MySQL插入数据出错及解决方案

    千次阅读 2019-03-23 23:14:22
    项目中对MySQL插入数据的时候,出现错误信息,查阅网上相关文章后解决,记录之,下次供参考。
  • 如何提高mysql插入数据的速度

    千次阅读 2019-07-04 13:12:53
    提高mysql插入数据的速度 在myisam engine下: 尽量使用insert into table_name values (…), (…),(…)这样的形式插入数据,避免使用inset into table_name values (); inset into table_name values (); inset ...
  • MySQL插入数据与系统时间相差12小时

    千次阅读 2019-12-23 13:29:58
    MySQL插入数据与系统时间相差12小时 serverTimezone改成Asia/Shanghai和GMT%2B8都不行 怎么解决!!
  • mysql插入数据,sql语句中时间正确,插入数据库过程中,偶尔会保存的时间和SQL的时间相差8小时。
  • mysql插入数据后返回自增ID的方法

    千次阅读 2018-06-21 17:06:41
    mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 方法一:是使用...
  • mysql插入数据后返回自增ID的方法 mysql在插入一条数据后,如何能获得到这个自增id的值呢?即怎么获取设置为自增主键的id(AUTO_INCREMENT)?? 方法一:是使用last_insert_id mysql> SELECT LAST_INSERT_ID();...
  • nodejs之MySQL插入数据

    千次阅读 2019-09-06 12:59:30
    const mysql=require(‘mysql’); //创建链接池 var pool=mysql.createPool({ host:‘127.0.0.1’, port:3306, user:‘root’, password:‘123456’, database:‘course’, //使用的数据库 ...//插入数据 pool...
  • C# 代码向MySQL 插入数据乱码问题

    千次阅读 2016-08-01 23:16:40
    C# 代码向MySQL 插入数据乱码问题 最简单的解决方案就是,修改连接串。加入指定字符集。如下:  private static string _mysqlStr = "Server=12.112.123.17; Database = test ;Uid= root; Pwd = 1234567; Port = ...
  • 优化MySQL插入数据

    千次阅读 2007-08-20 20:19:00
    优化MySQL插入数据表结构:6个字段,2个数值型,4个字符串型,字符型字段长度3~20个字符数据量:1000条MySQL版本:4.1测试程序与MySQL服务器在同一台机器,单线程插入处理。 优化方法1:修改表的类型 MySQL数据库...
  • mysql插入数据,获取最新插入的ID(自增列)的思路和python获取MySQL自增ID代码三种实现 mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? (1)方法一 是使用last_...
  • java jdbc 链接mysql插入数据中文显示乱码,自己在解决过程中的解决方案,以及自己遇到的一些问题,之前一直记再云笔记上,和大家分享出来。
  • 配置mysql exports.mysql = {  enable: true,  package: 'egg-mysql' };   'use strict'; module.exports = appInfo => { const config = exports = {}; // use for cookie sign k...
  • mysql插入数据量达到六千万的时候 数据库提示了the table is full问题 内存表的大小超过了规定的范围 mysql出现"the table is full"的问题,一般有两个原因: 一、需要扩展数据表大小 vi /etc/my....
  • MYSQL插入数据,字段只显示年月日,不显示时分秒问题。 首先断点调试发现后台转换没有错误,数据库插入语句也没问题。但是设计表时字段选错了,应该是datetime类型,选成了date类型。设计表改完之后重新插入数据发现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,966
精华内容 16,786
关键字:

mysql插入数据

mysql 订阅