精华内容
下载资源
问答
  • 做开发的同仁对于数据库中插入数据可谓是太普通不过了,也没什么说的,一般都是采用常用的INSERT INTO [(字段列表)] VALUES(字段值列表),这样的方式进行操作。今天,我要给大家介绍的是其他一些非常规的方式,...

    做开发的同仁对于向数据库中插入数据可谓是太普通不过了,也没什么说的,一般都是采用常用的INSERT INTO [(字段列表)] VALUES(字段值列表),这样的方式进行操作。今天,我要给大家介绍的是其他一些非常规的方式,一定会让你耳目一新,眼前一亮。

    进入今天的主题,以了便于操作,我们首先建立一个实例数据表:

    USE tempdb ;

    GO

    CREATE TABLE Fruit

    (

    Id INT NOT NULL ,

    Name VARCHAR(100) NOT NULL ,

    Color VARCHAR(100) NULL ,

    Quantity INT DEFAULT 1

    ) ;

    方式一:传统方式

    语法:INSERT(column_list) VALUES(value_list);

    我们插入一条数据到数据表中。

    INSERT  INTO Fruit

    ( Id, Name, Color, Quantity )

    VALUES( 1, 'Banana', 'Yellow', 1 ) ;

    这种方式是我们常用的一种插入数据的方式,给出所有的列名集合与值集合。

    方式二:省略列集合

    INSERT  INTO Fruit

    VALUES( 2, 'Grapes', 'Red', 15 ) ;

    这种方式我们省略了列名集合,这种方式值集合必须与数据表定义时列的顺序相一至,必须赋的值不能省略。

    方式三:插入部分字段

    INSERT  INTO Fruit

    ( Id, Name )

    VALUES( 3, 'Apples') ;

    这种方式,我们不必给出所有字段列表,只插入我们需要的字段即可。

    以上三种方式是我们在实际使用中最为常见的插入数据的方式,下面给出的也许会让你眼前一亮。

    方式四:一条插入语句插入多条数据

    INSERT  INTO Fruit

    ( Id, Name, Color, Quantity )

    VALUES( 4, 'Apples', 'Red', 10 ),

    ( 5, 'Peaches', 'Green', 7 ),

    ( 6, 'Pineapples', 'Yellow', 5 ) ;

    在这儿,我用一条插入语句同时插入了三条不同的数据到Fruit数据表中。

    方式五:使用SELECT语句同时插入多条数据。

    INSERT  INTO Fruit

    ( Id ,

    Name ,

    Color,

    Quantity

    )

    SELECT  7 +( 6 - Id ) ,

    Name,

    'White',

    Quantity

    FROM    Fruit

    WHERE   Id > 3

    ORDER BY Id DESC ;

    在方式五中,我通过选择Fruit表中 Id 大于 3 记录插入到Fruit表中。这是从水果表中现有的值派生出来的。

    方式六:使用存储过程插入数据。

    首先、我们建立一个存储过程如下:

    CREATE PROC HybridFruit

    AS

    SELECT  b.Id + 9 ,

    a.Name + b.name

    FROM    Fruit a

    INNERJOIN Fruit b ON a.Id = 9 - b.Id ;

    GO

    现在我们使用上面建立的存储过程进行数据的插入,方法如下:

    INSERT  INTO Fruit

    ( Id, Name )

    EXECUTE HybridFruit;

    方式七:使用OUTPUT子句输出插入的数据以供外部使用。

    INSERT  INTO Fruit

    ( Id, Name )

    OUTPUT  INSERTED.*

    VALUES( 18, 'PieCherries' ) ;

    在这儿,我们通过使用OUTPU子句输出了同步插入的数据。

    方式八:通过OUTPUT子句把结果返回给客户端。

    为了方便演示,我先把Fruit表的Id列设为自动增长列。

    ALTER TABLE Fruit

    DROP COLUMN Id ;

    ALTER TABLE Fruit

    ADD Id INTIDENTITY ;

    现在我们来通过OUTPUT子句插入值并把结果返回给客户端。

    DECLARE @INSERTED AS TABLE( Id INT, Name VARCHAR(100) ) ;

    --使用OUTPUT插入

    INSERT  INTO Fruit

    ( Name,Color )

    OUTPUT  INSERTED.Id, INSERTED.Name

    INTO @INSERTED

    VALUES( 'Bing Cherries', 'Purple' ),

    ( 'Oranges', 'Orange' ) ;

    --显示插入的值

    SELECT  *

    FROM    @INSERTED ;

    posted on 2012-09-18 15:09 kxbin 阅读(15880) 评论(0)  编辑  收藏 所属分类: MYSQL 、MSSQL 、转发

    展开全文
  • 今天学习Mysql,做实验时想一个标准插入1000行数据,在oracle类似于这样beginfor i in 1..1000 loopinsert ..end loop;end;/但是Mysql不支持匿名块百度了一下,方法如下:首先设置delimiterdelimiter的作用:...

    今天学习Mysql,做实验时想向一个标准插入1000行数据,在oracle中类似于这样

    begin

    for i in 1..1000 loop

    insert ..

    end loop;

    end;

    /

    但是Mysql中不支持匿名块

    百度了一下,方法如下:

    首先设置delimiter

    delimiter的作用:告诉解释器,这段命令是否已经结束了,mysql是否可以执行了

    默认情况下,delimiter是‘;’但是当我们编写procedure时,如果是默认设置,那么一遇到‘;’,mysql就要执行,这是我们不希望看到的

    所以我们手动设置delimiter为//

    delimiter //

    create procedure per2()

    begin

    declare num int;

    set num=1;

    while num < 1000 do

    insert into per2(name) values(concat("fan", num));

    set num=num+1;

    end while;

    end

    //

    其中concat(“fan”, num),相当于oracle中fan||i的拼接效果,但是mysql不支持这样拼接

    之后我们要调用这个procedure,才会插入数据

    ([email protected]) [fandb]> call per2();

    -> //Query OK, 1 row affected (0.39 sec)

    由于我没有将delimiter’改回来,所以输入‘;’后并没有执行,还需要//

    查看库中的procedure

    ([email protected]) [fandb]> select name from mysql.proc where db=‘fandb‘ and type=‘procedure‘;

    +------+

    | name |

    +------+

    | per2 |

    +------+

    1 row in set (0.00 sec)

    查看创建代码

    ([email protected]) [fandb]> show create procedure per2\G

    *************************** 1. row ***************************

    Procedure: per2

    sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

    Create Procedure: CREATE DEFINER=`mysql`@`localhost` PROCEDURE `per2`()

    begin

    declare num int;

    set num=1;

    while num < 1000 do

    insert into per2(name) values(concat("fan", num));

    set num=num+1;

    end while;

    end

    character_set_client: utf8

    collation_connection: utf8_general_ci

    Database Collation: utf8_general_ci

    1 row in set (0.00 sec)

    其他使用方法

    while ·· end while:

    mysql > DELIMITER //

    mysql > CREATE PROCEDURE proc4()

    -> begin

    -> declare var int;

    -> set var=0;

    -> while var<6 do

    -> insert into t values(var);

    -> set var=var+1;

    -> end while;

    -> end;

    -> //

    ? while 条件 do–循环体 endwhile

    ?repeat ·· end repeat:

    它在执行操作后检查结果,而 while 则是执行前迚行检查。

    mysql > DELIMITER //

    mysql > CREATE PROCEDURE proc5 ()

    -> begin-> declare v int;-> set v=0;-> repeat-> insert into t values(v);-> set v=v+1;-> until v>=5-> end repeat;-> end;-> //

    ? repeat–循环体 until 循环条件 endrepeat;

    loop ·· endloop:

    loop 循环丌需要初始条件,这点和 while 循环相似,同时和 repeat 循环一样丌需要结束条

    件, leave 诧句的意义是离开循环。

    mysql > DELIMITER //

    mysql > CREATE PROCEDURE proc6 ()

    -> begin-> declare v int;-> set v=0;-> LOOP_LABLE:loop-> insert into t values(v);-> set v=v+1;-> if v >=5 then-> leave LOOP_LABLE;-> end if;-> end loop;-> end;-> //

    LABLES 标号:

    标号可以用在 begin repeat while 戒者 loop 诧句前,诧句标号叧能在合法的诧句前面使用。

    可以跳出循环,使运行指令达到复合诧句的最后一步。

    展开全文
  • 实现MySQL数据库下的某个表中插入大量数据: 使用的方法: DELIMITER $$USE `macross_wudi`$$DROP PROCEDURE IF EXISTS `test`实现MySQL数据库下的某个表中插入大量数据:使用的方法:DELIMITER $$USE `macross_...

    实现向MySQL数据库下的某个表中插入大量数据: 使用的方法: DELIMITER $$USE `macross_wudi`$$DROP PROCEDURE IF EXISTS `test`

    实现向MySQL数据库下的某个表中插入大量数据:

    使用的方法:

    DELIMITER $$

    USE `macross_wudi`$$

    DROP PROCEDURE IF EXISTS `test`$$

    CREATE PROCEDURE `test`()

    BEGIN

    DECLARE i INT DEFAULT 333;

    DECLARE j INT DEFAULT 333;

    WHILE (i <= 800000) DO

    REPLACE INTO fs_mobile_ms_dat VALUES(i,669,j,'guest','running','2012-10-10 16:06','2012-10-11 16:06','0','0');

    SET i = i + 1;

    SET j = j + 1;

    END WHILE;

    END$$

    DELIMITER ;

    CALL test();

    借鉴的方法:

    DROP PROCEDURE test;

    DELIMITER;

    CREATE PROCEDURE test()

    BEGIN

    DECLARE i INT DEFAULT 1;

    DECLARE j INT DEFAULT 1;

    DECLARE k INT DEFAULT 1;

    DECLARE s INT DEFAULT 1;

    WHILE i<=500000

    DO

    WHILE j<=50

    DO

    insert into fs_ms_task values(k,i,j,'guest','running','2012-08-24 16:06','2012-08-24 16:06','0','0');

    SET j = j+1;

    SET k = k+1;

    END WHILE;

    SET i=i+1;

    SET j = 1;

    END WHILE;

    END;

    CALL test();

    logo.gif

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • ORACLE向表中添加数据

    2021-06-25 14:29:47
    ORACLE向表中添加数据 1.直接插入数据 insert into table_name values(‘col_text’,‘col_text1’); 顺序一致,给表的所有列添加一条数据时:(col_name…)可省略,如: insert into [table_name] values(‘col_...

    ORACLE向表中添加数据
    1.直接插入数据
    insert into table_name
    values(‘col_text’,‘col_text1’);
    顺序一致,给表中的所有列添加一条数据时:(col_name…)可省略,如:
    insert into [table_name] values(‘col_text’,‘col_text1’);

    2.添加其他表中的数据
    insert into table_name
    select [col_namea],[col_nameb] from [tbl_name1];
    select查询子句后的列名个数和类型要与列出的列名保持一致

    3.创建表时添加
    create table [table_name] as
    select [col_name],[col_name1]… from [source_table]

    展开全文
  • 一个数据表中插入一条记录: return stu;}public void addNewStudent2(Student stu){String sql = "INSERT INTO examstudent VALUES(?, ?, ?, ?, ?, ?, ?)";JDBCTools.Update(sql, stu.getFlowid(),stu.getType(),...
  • 本代码演示:在mysql的存储过程中向表添加数据方法。代码:DELIMITER $$CREATE TABLE FIBON(NUMBER1 INTEGER NOT NULL PRIMARY KEY,NUMBER2 INTEGER NOT NULL);CREATE PROCEDURE FIBONNACI_START() //创建存储...
  • 【单选题】MySQL 语言,创建的命令是( )。【单选题】SQL 语言,条件为“年龄 BETWEEN 15 AND 35”表示年龄在15~35岁,且( )。 SQL 语言,条件为“年龄 BETWEEN 15 AND 35 ”表示年龄在 15~35 岁,且( )。【简答题...
  • MySQL向表中插入数据 向数据表插入单条数据 语法格式: INSERT INTO 表名(字段名1,字段名2,字段名3,...) values(值1,值2,值3,...); 要求:字段的数量和值的数量相同,并且数据类型也要对应相同 例:向往第...
  • 最近在学习使用Hive(版本0.13.1)...本文旨在列举我发现的3个通过查询语句向表中插入数据过程的问题,希望大家注意。为了验证接下来出现的问题,需要先准备两张表employees和staged_employees,并准备好测试数据。...
  • 当我们建好数据库及后,首先想到的就是数据库的表中输入数据.下面我们就来探讨一下如何数据库增加数据:1.常用的方法是insert语句以下为引用的内容:insert into tablename values(value1,value2,...)insert ...
  • 您可能感兴趣的文章:对比Oracle临时和SQL Server临时的不同点 MySQL临时的基本创建与使用教程 SQL Server 变量和临时的区别(详细补充篇) sql server判断或临时是否存在的方法 sql server 创建...
  • 利用VBA一个已有的数据表中添加数据记录的方法大家好,今日我们继续讲解VBA数据库解决方案的第23讲:利用VBA如何一个已有的数据表中添加记录。在上一讲我们讲了如何把工作数据保存到新建的数据表中方案,这...
  • 如下图所示,有三个,分别是即Student、Course和SC: Student学生: Course课程: ...下面则是创建并插入数据,完成这三个: -对于Student学生 以“李勇”为例: set Student:95001:Sname 李勇 set St
  • 经常使用Excel2007的朋友,应该知道数据...excel插入数据透视方法:打开Excel表格单击“插入”→“数据透视”。接着单击“数据透视”。接着单击“数据透视”。此时弹出一个“创建数据透视”选择要创建...
  • 原标题:Java如何实现向DBC方式向表中添加数据Java如何实现向DBC方式向表中添加数据Java程序JDBC方式向数据库的表添加记录的步骤:1、新建工程: Java Project2、工程导入jar包(.jar文件):让当前工程可以使用...
  • 展开全部Java程序数据库中插入数据,代码如下://首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);//然后再32313133353236313431303231363533e59b9ee7ad...
  • mysql 从一个表中数据插入另一个实现方法不管是在网站开发还是在应用程序开发,我们经常会碰到需要将MySQL或MS SQLServer某个数据批量导入到另一个的情况,甚至有时还需要指定导入字段。本文就将以...
  • 如何使用shellmysql数据库表中插入大量测试数据。用shell脚本通过while循环批量生成mysql测试数据方法,根据自己的结构来生成sql语句即可。代码:复制代码 代码示例:#!/bin/bash## www.jquerycn.cni=1;MAX_...
  • 在hive中建分桶: create table emp_buck( id int, name string ,age int) clustered by(id) sorted by (age desc) into 3 buckets --分三桶 row format delimited fields terminated by ','; --以,作为分割符 ...
  • 测试页面分页时,数据量不够,奈何SQL没学好,不会写存储过程批量插入数据易前辈请教了一下,他用的是excel表格转成insert语句,再插入,似乎用了转换工具,查了一下,按照网上的方法填入excel公式,结果还是没...
  • MySQL数据库的表中录入数据方法

    千次阅读 2021-01-28 02:37:45
    MySQL数据库应用范围相对来说还是比较广泛的,MySQL数据库操作涉及到的知识还是很多的,其中,当你建好了数据库及时,你首先想到的就是数据库的表中输入数据.这就牵涉到如何数据库增加数据.下面我们就来探讨...
  • 1.在Oracle可以用下面两种:01:create table newtable as select * from oldtable;//用于复制前未创建新...//已经创建了新newtable 的情况注意:第一种方式只是复制了结构,但是主键什么的并没有复制进去,所...
  • MySQL—表中添加数据

    2021-10-17 20:42:55
    数据表中插入数据 insert into 表名 value(数据1,数据2,数据3,…) 2、int 宽度是显示宽度,如果超过,可以自动增大宽度 int底层都是4个字节 insert into t_student values (10010010,'张三','男',
  • 前言:最近遇到一个 查询A表数据插入到B表中sql的问 所以就发文章记录下,希望能帮助到家开发环境win10专业版本(其他操作系统具体安装mysql请百度 )准备工作:安装MySQL1 mysql 下载地址:https://www.mysql.com/2...
  • 如果用户需要在数据透视表中自定义计算公式以计算数据,可以通过添加计算字段来实现,下面介绍Excel表格数据透视表中添加计算字段的具体操作方法。1、启动Excel 2013并打开工作,在工作表中添加数据透视。在...
  • ASP.NET网页动态添加.更新或删除数据行 看过此篇http://www.cnblogs.com/insus/p/3247935.html的网友,也许明白Insus.NET是...在演示,只是实现添加,没有实现更新数据,删除数据等功能. 再加上有网友看到后,在评论...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,231,851
精华内容 1,692,740
关键字:

向表中添加数据的方式