精华内容
下载资源
问答
  • 从数据库中导出数据

    2017-01-19 21:57:00
    从数据库中导出数据 一,进行数据库的配置  1,创建文件dbconfig.php.进行数据库连接的配置.    2,新建db.php.进行数据的连接和查询  ①引入配置文件    ②创建构造方法,用户进行数据库的连接  ...

     

    从数据库中导出数据

     

    一,进行数据库的配置

     

      1,创建文件dbconfig.php.进行数据库连接的配置.

      

     

       2,新建db.php.进行数据的连接和查询

        ① 引入配置文件

        

         ② 创建构造方法,用户进行数据库的连接    

       

        ③ 根据传入sql的语句创建查询方法.

        

        

        ④ 根据年级信息进行数据分类查询

     

     

    二,进行数据导出到Excel

      

      1,引入mysql数据操作类和PHPExcel类

       

     

      

        2,实例化引入的操作类和PHPExcel类

       

     

      

        3,进行内置表的创建

          ① 根据年级不同,创建不同的内置表

          

     

           获得内置表进行数据填充

          

     

          ③ 从数据库中根据班级不同获得不同数据

          

     

          ④ 利用foreach循环设置内置表数据

     

         ⑤ 创建写入文件对象,并进行文件保存操作

         

     

     

         

     源码部分:

     1 <?php 
     2 /*
     3 数据库配置
     4 */
     5 $phpexcel = array(
     6     'host'=>'localhost',
     7     'username'=>'root',
     8     'password'=>'',
     9     'database'=>'test',
    10     'charset'=>'utf8',
    11     );
    12  ?>
    dbconfig.php
     1 <?php 
     2 
     3 //引入配置文件
     4 require("./dbconfig.php");
     5 
     6 class db{
     7 
     8     public $conn = null;
     9 
    10     //构造方法
    11     public function __construct($config){
    12         //连接数据库
    13         $this->conn = @mysql_connect($config['host'],$config['username'],$config['password']) or die(mysql_error());
    14 
    15         //选择数据库
    16         mysql_select_db($config['database'],$this->conn) or die(mysql_error());
    17 
    18         //设定mysql编码
    19         mysql_query("set names ".$config['charset']) or die(mysql_error());
    20 
    21     }
    22 
    23     //根据传入的sql语句查询结果集
    24     public function getResult($sql){
    25         //进行sql语句查询
    26         $resource = mysql_query($sql,$this->conn) or die(mysql_error());
    27         //定义返回的结果集数组
    28         $res = array();
    29         //返回从结果集取得的行生成的关联数组
    30         while(($row = mysql_fetch_assoc($resource)) != false){
    31             //将数组赋值给$reset(array)
    32             $res[] = $row;
    33         }
    34         //将结果集数组
    35         return $res;
    36     }
    37 
    38     //根据年级进行数据查询
    39     public function getDataByGrade($grade){
    40         $sql = "select username,score,class from user where grade=".$grade." order by score desc";
    41         $result = self::getResult($sql);
    42         return $result;
    43     }
    44 
    45 }
    46 
    47 
    48 
    49 
    50  ?>
    db.php
     1 <?php 
     2 
     3 //引入PHPExcel文件
     4 require("./PHPExcel.php");
     5 //引入mysql数据库操作类
     6 require("./db.php");
     7 
     8 //实例化db操作类
     9 $db = new db($phpexcel);
    10 //实例化PHPExcel对象,相当于创建了一个新的excel
    11 $objExcel = new PHPExcel();
    12 
    13 //内置表的创建
    14 for($i = 1; $i <= 3; $i++){
    15     //当不是默认的内置表时,要进行创建
    16     if($i > 1){
    17         $objExcel->createSheet();
    18     }
    19     //设置当前sheet表
    20     $objExcel->setActiveSheetIndex($i-1);
    21     //获得当前sheet对象
    22     $objSheet = $objExcel->getActiveSheet();
    23     //设置当前sheet名称
    24     $objSheet->setTitle($i."年级");
    25     //根据年级获得每个学生的数据
    26     $data = $db->getDataByGrade($i);
    27     //设置首部信息
    28     $objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数")->setCellValue("C1","班级");
    29     //利用循环添加每个学生的数据
    30     $j = 2;
    31     foreach ($data as $key => $value) {
    32         $objSheet->setCellValue("A".$j,$value['username'])->setCellValue("B".$j,$value['score'])->setCellValue("C".$j,$value['class']."班");
    33         $j++;
    34     }
    35 
    36 }
    37     //创建写入对象
    38     $objWriter = PHPExcel_IOFactory::createWriter($objExcel,'Excel5');
    39     browser_export('Excel5','03.xls');
    40     //*********进行输出
    41     $objWriter->save("php://output");
    42     //保存文件
    43     // $objWriter->save("./export.xlsx");
    44 
    45 
    46     //输出到浏览器
    47     function browser_export($type,$filename){
    48         if($type == "Excel5"){
    49         //告诉游览器将要输出excel03文件
    50           header('Content-Type: applicationnd.ms-excel');
    51           }else{
    52               //告诉游览器将要输出excel07文件
    53               header('Content-Type: applicationnd.openxmlformats-officedocument.spreadsheetml.sheet');
    54           }
    55           //告诉游览器将要输出文件的名称
    56         header('Content-Disposition: attachment;filename="'.$filename.'"');
    57         //禁止缓存
    58         header('Cache-Control: max-age=0');
    59     }
    60 
    61 
    62 
    63  ?>
    export.php

     

     

     

        

     

    转载于:https://www.cnblogs.com/3-tu/p/6308883.html

    展开全文
  • java中把SQL数据库中的表导出到excel中.怎么实现前段时间正好做了入和导出的自己看吧/**导出数据为XLS格* @param fos* @param bo*/public void writeExcelBo(FileOutputStream fos, java.util.Vector ve){jxl.write....

    java中把SQL数据库中的表导出到excel中.怎么实现

    前段时间正好做了入和导出的自己看吧

    /**导出数据为XLS格

    * @param fos

    * @param bo

    */

    public void writeExcelBo(FileOutputStream fos, java.util.Vector ve)

    {

    jxl.write.WritableWorkbook wwb;

    try

    {

    wwb= Workbook.createWorkbook(fos);

    jxl.write.WritableSheet ws= wwb.createSheet("booksheet", 10);

    ws.addCell(new jxl.write.Label(0, 1, "书目ID"));

    ws.addCell(new jxl.write.Label(1, 1, "ISBN"));

    ws.addCell(new jxl.write.Label(2, 1, "定价"));

    ws.addCell(new jxl.write.Label(3, 1, "书"));

    ws.addCell(new jxl.write.Label(4, 1, "原书名"));

    ws.addCell(new jxl.write.Label(5, 1, "副题名"));

    ws.addCell(new jxl.write.Label(6, 1, "著者"));

    ws.addCell(new jxl.write.Label(7, 1, "译者"));

    ws.addCell(new jxl.write.Label(8, 1, "版次"));

    ws.addCell(new jxl.write.Label(9, 1, "出版地"));

    ws.addCell(new jxl.write.Label(10, 1, "出版社"));

    ws.addCell(new jxl.write.Label(11, 1, "出版日期"));

    ws.addCell(new jxl.write.Label(12, 1, "页数"));

    ws.addCell(new jxl.write.Label(13, 1, "书高"));

    ws.addCell(new jxl.write.Label(14, 1, "装帧"));

    ws.addCell(new jxl.write.Label(15, 1, "丛书名"));

    ws.addCell(new jxl.write.Label(16, 1, "一般性附注项"));

    ws.addCell(new jxl.write.Label(17, 1, "简介"));

    ws.addCell(new jxl.write.Label(18, 1, "主题词"));

    ws.addCell(new jxl.write.Label(19, 1, "中图法分类"));

    ws.addCell(new jxl.write.Label(20, 1, "更新日期"));

    ws.addCell(new jxl.write.Label(21, 1, "本数"));

    book=new Book[ve.size()];

    for (int i= 0; i < ve.size(); i )

    {

    book[i]= (Book)ve.get(i);

    ws.addCell(new jxl.write.Label(0, i 2, "" book[i].getBookId()));

    ws.addCell(new jxl.write.Label(1, i 2, book[i].getIsbn()));

    ws.addCell(new jxl.write.Label(2, i 2, "" book[i].getPrice()));

    ws.addCell(new jxl.write.Label(3, i 2, book[i].getBookTitle()));

    ws.addCell(new jxl.write.Label(4, i 2, book[i].getOldFilename()));

    ws.addCell(new jxl.write.Label(5, i 2, book[i].getSubTitle()));

    ws.addCell(new jxl.write.Label(6, i 2, book[i].getWriter()));

    ws.addCell(new jxl.write.Label(7, i 2, book[i].getTranscribe()));

    ws.addCell(new jxl.write.Label(8, i 2, "" book[i].getVersion()));

    ws.addCell(new jxl.write.Label(9, i 2, book[i].getPublishCity()));

    ws.addCell(new jxl.write.Label(10, i 2, book[i].getPublisher()));

    ws.addCell(new jxl.write.Label(11, i 2, book[i].getPublishDate().toString()));

    ws.addCell(new jxl.write.Label(12, i 2, "" book[i].getPage()));

    ws.addCell(new jxl.write.Label(13, i 2, "" book[i].getHight()));

    ws.addCell(new jxl.write.Label(14, i 2, book[i].getInstall()));

    ws.addCell(new jxl.write.Label(15, i 2, book[i].getSeries()));

    ws.addCell(new jxl.write.Label(16, i 2, book[i].getNotes()));

    ws.addCell(new jxl.write.Label(17, i 2, book[i].getPrecisnotes()));

    ws.addCell(new jxl.write.Label(18, i 2, book[i].getSubject()));

    ws.addCell(new jxl.write.Label(19, i 2, book[i].getCls().replaceAll("_", "")));

    ws.addCell(new jxl.write.Label(20, i 2, book[i].getUpdatedate().toString()));

    ws.addCell(new jxl.write.Label(21, i 2, "0"));

    }

    jxl.write.WritableFont wfc=

    new jxl.write.WritableFont(

    WritableFont.ARIAL,

    255,

    WritableFont.BOLD,

    false,

    UnderlineStyle.NO_UNDERLINE,

    jxl.format.Colour.BLACK);

    jxl.write.WritableCellFormat wcfFC= new jxl.write.WritableCellFormat(wfc);

    ws.addCell(new jxl.write.Label(0, 0, "为保证您提交定单的稳定和正确,导入定单时候请勿更改此表格式(请勿更改书目ID,订购本数自行添加!)"));

    wwb.write();

    //关闭Excel工作薄对象

    wwb.close();

    } catch (IOException e)

    {} catch (RowsExceededException e)

    {} catch (WriteException e)

    {}

    }

    //导入EXCEL

    if (f.getName().indexOf(".xls") > 0)

    {

    try

    {

    fis= new FileInputStream(f);

    BookBean bob= new BookBean();

    UserBean usb= new UserBean();

    jxl.Workbook rwb= Workbook.getWorkbook(fis);

    jxl.Sheet sh= rwb.getSheet(0);

    int rowCount= sh.getRows();

    SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");

    book= new Book[rowCount - 1];

    for (int i= 1; i < rowCount; i )

    {

    book[i - 1]= new Book();

    jxl.Cell[] ce= sh.getRow(i);

    book[i - 1].setIsbn(ce[0].getContents().toString());

    book[i - 1].setSeries(ce[1].getContents().toString());

    book[i - 1].setBookTitle(ce[2].getContents().toString());

    book[i - 1].setWriter(ce[3].getContents().toString());

    book[i - 1].setTranscribe(ce[4].getContents().toString());

    book[i - 1].setPublisher(ce[5].getContents().toString());

    book[i - 1].setPublishDate(sdf.parse(ce[6].getContents().toString(), new ParsePosition(0)));

    book[i-1].setVersion(Integer.parseInt(ce[7].getContents().toString()));

    book[i-1].setPage(Integer.parseInt(ce[8].getContents().toString()));

    book[i-1].setCls(ce[9].getContents().toString());

    book[i-1].setPrecisnotes(ce[10].getContents().toString());

    book[i-1].setInstall(ce[11].getContents().toString());

    book[i-1].setPrice(Float.parseFloat(ce[12].getContents().toString()));

    book[i-1].setUserid(usb.getUser().getUserid());

    getVector().addElement(book[i - 1]);

    }

    rwb.close();

    fis.close();

    } catch (FileNotFoundException e)

    {} catch (BiffException e)

    {} catch (IOException e)

    {} catch (NumberFormatException e)

    {

    ShowMessage("数据导入失败,请按照本软件要求的EXCEL格式导入定单");

    }

    }

    如何将sql 2005 表里数据导出到excel

    对于会写查询

    SQL语句

    的则是直查询语句查询出。如下图:

    接下来到桌面一个空的excel文件。

    接下来回到

    SQLServer

    查询界面。鼠标右键点击查询结果的左上角空白列,点击“连同标题一起复制”。则已复制好了数据。如下图:

    接下来打开之前建好的Excel文件把复制好的数据黏贴到excel即可。如下图:

    如何导出oracle数据库中某张表到excel

    如何导oracle数据库中某张表到excel

    无法直接到excel中,但是可以保存到csv,同样是excel的格式,方法如下:

    譬如要把文件生成在d盘下的test目录下:

    1,在d盘根目录下新建test目录 2,sqlplus以system用sysdba登录3,create or replace directory TMP as ’d:\test’;4,grant read on directory TMP to user; 5,alter system set utl_file_dir='d:\test' scope=spfile;

    然后建立存储过程,表是随便建了一个,最后的文件名按要求需要按照当前日期的前一天生成,所以后边文件名的地方write_file_name处就按照要求来了

    sql语句将数据库表中的数据导出到excel,怎么操作??

    首先要确定SQL语句的。以下是VB里的数据导出代码,已假设了一个adodc控件:

    Dim i, j As Integer

    Dim ex As Object

    Dim exwbook As Object

    Dim exsheet As Object

    Set ex = CreateObject("Excel.Application") '创建EXCEL对象

    Set exwbook = ex.Workbooks.Add '打开文件

    ex.Visible = True

    Set exsheet = exwbook.Worksheets("sheet1") '设定工作表

    With Adodc1.Recordset

    For j = 2 To .Fields.Count

    exsheet.Cells(1, 1) = "序号"

    exsheet.Cells(1, j) = .Fields(j - 1).Name

    Next

    .MoveFirst

    For i = 1 To .RecordCount

    For j = 2 To .Fields.Count

    exsheet.Cells(i 1, 1) = i

    exsheet.Cells(i 1, j) = .Fields(j - 1).Value

    Next

    .MoveNext

    Next i

    End With

    如何将数据库的表导出生成Excel

    方法一:对于会写SQL语句的则是直查询语询出结果。如下图:

    接下来到桌面新建空的excel文件。

    接下来回到SQLServer查询界面。鼠标右键点击查询结果的左上角空白列,点击“连同标题一起复制”。则已复制好了数据。如下图:

    接下来打开之前建好的Excel文件把复制好的数据黏贴到excel即可。如下图:

    方法二:对于不会写查询SQL语句的则使用数据库导出方法。

    选中要导出数据的数据库,点击右键会弹出一个右键菜单。点击“任务”再点击“导出数据(x)”。如下图:

    点击了“导出数据(x)”后会弹出一个界面,并填写好信息。如下图:

    点击下一步跳转到如下图1中的界面。在目标中选中excel类型,界面信息则发生改变,并选中导出的excel路径。如下图2。

    点击下一步跳转至如下界面,选中第一个选项。如下图:

    点击下一步,勾选要导出的表。如下图:

    点击下一步,跳转至如下界面:

    点击下一步:跳转到如下图1界面,选择下一步在点击完成,则会跳到如下图2界面。证明已经导出成功了。

    打开excel就可用看到导出的Excel了。如下图:

    展开全文
  • 我在jsp中进行了新增的操作,经理要我将新增的数据Oracle数据库中导出指定语句出来,这该怎么做
  • 此脚本将指定表的行导出到任何表结构的INSERT语句 . 所以,你只需要复制结果并在SSMS的sql文件运行它 -DECLARE@TableName SYSNAME, @ObjectID INT, @IsImportIdentity BIT = 1DECLARE [tables] CURSOR READ_ONLY...

    此脚本将指定表中的行导出到任何表结构的INSERT语句 . 所以,你只需要复制结果并在SSMS的sql文件中运行它 -

    DECLARE

    @TableName SYSNAME

    , @ObjectID INT

    , @IsImportIdentity BIT = 1

    DECLARE [tables] CURSOR READ_ONLY FAST_FORWARD LOCAL FOR

    SELECT

    '[' + s.name + '].[' + t.name + ']'

    , t.[object_id]

    FROM (

    SELECT DISTINCT

    t.[schema_id]

    , t.[object_id]

    , t.name

    FROM sys.objects t WITH (NOWAIT)

    JOIN sys.partitions p WITH (NOWAIT) ON p.[object_id] = t.[object_id]

    WHERE p.[rows] > 0

    AND t.[type] = 'U'

    ) t

    JOIN sys.schemas s WITH (NOWAIT) ON t.[schema_id] = s.[schema_id]

    WHERE t.name IN ('')

    OPEN [tables]

    FETCH NEXT FROM [tables] INTO

    @TableName

    , @ObjectID

    DECLARE

    @SQLInsert NVARCHAR(MAX)

    , @SQLColumns NVARCHAR(MAX)

    , @SQLTinyColumns NVARCHAR(MAX)

    WHILE @@FETCH_STATUS = 0 BEGIN

    SELECT

    @SQLInsert = ''

    , @SQLColumns = ''

    , @SQLTinyColumns = ''

    ;WITH cols AS

    (

    SELECT

    c.name

    , datetype = t.name

    , c.column_id

    FROM sys.columns c WITH (NOWAIT)

    JOIN sys.types t WITH (NOWAIT) ON c.system_type_id = t.system_type_id AND c.user_type_id = t.user_type_id

    WHERE c.[object_id] = @ObjectID

    AND (c.is_identity = 0 OR @IsImportIdentity = 1)

    AND c.is_computed = 0

    AND t.name NOT IN ('xml', 'geography', 'geometry', 'hierarchyid')

    )

    SELECT

    @SQLInsert = 'INSERT INTO ' + @TableName + ' (' + STUFF((

    SELECT ', [' + c.name + ']'

    FROM cols c

    ORDER BY c.column_id

    FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 2, '') + ')'

    , @SQLTinyColumns = STUFF((

    SELECT ', ' + c.name

    FROM cols c

    ORDER BY c.column_id

    FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 2, '')

    , @SQLColumns = STUFF((SELECT CHAR(13) +

    CASE

    WHEN c.datetype = 'uniqueidentifier'

    THEN ' + '', '' + ISNULL('''''''' + CAST([' + c.name + '] AS VARCHAR(MAX)) + '''''''', ''NULL'')'

    WHEN c.datetype IN ('nvarchar', 'varchar', 'nchar', 'char', 'varbinary', 'binary')

    THEN ' + '', '' + ISNULL('''''''' + CAST(REPLACE([' + c.name + '], '''''''', '''''''''''' ) AS NVARCHAR(MAX)) + '''''''', ''NULL'')'

    WHEN c.datetype = 'datetime'

    THEN ' + '', '' + ISNULL('''''''' + CONVERT(VARCHAR, [' + c.name + '], 120) + '''''''', ''NULL'')'

    ELSE

    ' + '', '' + ISNULL(CAST([' + c.name + '] AS NVARCHAR(MAX)), ''NULL'')'

    END

    FROM cols c

    ORDER BY c.column_id

    FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 10, 'CHAR(13) + '', ('' +')

    DECLARE @SQL NVARCHAR(MAX) = '

    SET NOCOUNT ON;

    DECLARE

    @SQL NVARCHAR(MAX) = ''''

    , @x INT = 1

    , @count INT = (SELECT COUNT(1) FROM ' + @TableName + ')

    IF EXISTS(

    SELECT 1

    FROM tempdb.dbo.sysobjects

    WHERE ID = OBJECT_ID(''tempdb..#import'')

    )

    DROP TABLE #import;

    SELECT ' + @SQLTinyColumns + ', ''RowNumber'' = ROW_NUMBER() OVER (ORDER BY ' + @SQLTinyColumns + ')

    INTO #import

    FROM ' + @TableName + '

    WHILE @x < @count BEGIN

    SELECT @SQL = ''VALUES '' + STUFF((

    SELECT ' + @SQLColumns + ' + '')''' + '

    FROM #import

    WHERE RowNumber BETWEEN @x AND @x + 9

    FOR XML PATH, TYPE, ROOT).value(''.'', ''NVARCHAR(MAX)''), 1, 2, CHAR(13) + '' '') + '';''

    PRINT(''' + @SQLInsert + ''')

    PRINT(@SQL)

    SELECT @x = @x + 10

    END'

    EXEC sys.sp_executesql @SQL

    FETCH NEXT FROM [tables] INTO

    @TableName

    , @ObjectID

    END

    CLOSE [tables]

    DEALLOCATE [tables]

    在输出中你得到这样的东西(AdventureWorks.Person.Address):

    INSERT INTO [Person].[Address] ([AddressID], [AddressLine1], [AddressLine2], [City], [StateProvinceID], [PostalCode], [rowguid], [ModifiedDate])

    VALUES

    (1, '1970 Napa Ct.', NULL, 'Bothell', 79, '98011', '9AADCB0D-36CF-483F-84D8-585C2D4EC6E9', '2002-01-04 00:00:00')

    , (2, '9833 Mt. Dias Blv.', NULL, 'Bothell', 79, '98011', '32A54B9E-E034-4BFB-B573-A71CDE60D8C0', '2003-01-01 00:00:00')

    , (3, '7484 Roundtree Drive', NULL, 'Bothell', 79, '98011', '4C506923-6D1B-452C-A07C-BAA6F5B142A4', '2007-04-08 00:00:00')

    , (4, '9539 Glenside Dr', NULL, 'Bothell', 79, '98011', 'E5946C78-4BCC-477F-9FA1-CC09DE16A880', '2003-03-07 00:00:00')

    , (5, '1226 Shoe St.', NULL, 'Bothell', 79, '98011', 'FBAFF937-4A97-4AF0-81FD-B849900E9BB0', '2003-01-20 00:00:00')

    , (6, '1399 Firestone Drive', NULL, 'Bothell', 79, '98011', 'FEBF8191-9804-44C8-877A-33FDE94F0075', '2003-03-17 00:00:00')

    , (7, '5672 Hale Dr.', NULL, 'Bothell', 79, '98011', '0175A174-6C34-4D41-B3C1-4419CD6A0446', '2004-01-12 00:00:00')

    , (8, '6387 Scenic Avenue', NULL, 'Bothell', 79, '98011', '3715E813-4DCA-49E0-8F1C-31857D21F269', '2003-01-18 00:00:00')

    , (9, '8713 Yosemite Ct.', NULL, 'Bothell', 79, '98011', '268AF621-76D7-4C78-9441-144FD139821A', '2006-07-01 00:00:00')

    , (10, '250 Race Court', NULL, 'Bothell', 79, '98011', '0B6B739D-8EB6-4378-8D55-FE196AF34C04', '2003-01-03 00:00:00');

    UPDATE:

    对于任何表结构,此脚本在输出窗口中将指定表中的行导出为CSV格式 .

    DECLARE

    @TableName SYSNAME

    , @ObjectID INT

    DECLARE [tables] CURSOR READ_ONLY FAST_FORWARD LOCAL FOR

    SELECT

    '[' + s.name + '].[' + t.name + ']'

    , t.[object_id]

    FROM (

    SELECT DISTINCT

    t.[schema_id]

    , t.[object_id]

    , t.name

    FROM sys.objects t WITH (NOWAIT)

    JOIN sys.partitions p WITH (NOWAIT) ON p.[object_id] = t.[object_id]

    WHERE p.[rows] > 0

    AND t.[type] = 'U'

    ) t

    JOIN sys.schemas s WITH (NOWAIT) ON t.[schema_id] = s.[schema_id]

    WHERE t.name IN ('')

    OPEN [tables]

    FETCH NEXT FROM [tables] INTO

    @TableName

    , @ObjectID

    DECLARE

    @SQLInsert NVARCHAR(MAX)

    , @SQLColumns NVARCHAR(MAX)

    , @SQLTinyColumns NVARCHAR(MAX)

    WHILE @@FETCH_STATUS = 0 BEGIN

    SELECT

    @SQLInsert = ''

    , @SQLColumns = ''

    , @SQLTinyColumns = ''

    ;WITH cols AS

    (

    SELECT

    c.name

    , datetype = t.name

    , c.column_id

    FROM sys.columns c WITH (NOWAIT)

    JOIN sys.types t WITH (NOWAIT) ON c.system_type_id = t.system_type_id AND c.user_type_id = t.user_type_id

    WHERE c.[object_id] = @ObjectID

    AND c.is_computed = 0

    AND t.name NOT IN ('xml', 'geography', 'geometry', 'hierarchyid')

    )

    SELECT

    @SQLTinyColumns = STUFF((

    SELECT ', [' + c.name + ']'

    FROM cols c

    ORDER BY c.column_id

    FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 2, '')

    , @SQLColumns = STUFF((SELECT CHAR(13) +

    CASE

    WHEN c.datetype = 'uniqueidentifier'

    THEN ' + '';'' + ISNULL('''' + CAST([' + c.name + '] AS VARCHAR(MAX)) + '''', ''NULL'')'

    WHEN c.datetype IN ('nvarchar', 'varchar', 'nchar', 'char', 'varbinary', 'binary')

    THEN ' + '';'' + ISNULL('''' + CAST(REPLACE([' + c.name + '], '''', '''''''') AS NVARCHAR(MAX)) + '''', ''NULL'')'

    WHEN c.datetype = 'datetime'

    THEN ' + '';'' + ISNULL('''' + CONVERT(VARCHAR, [' + c.name + '], 120) + '''', ''NULL'')'

    ELSE

    ' + '';'' + ISNULL(CAST([' + c.name + '] AS NVARCHAR(MAX)), ''NULL'')'

    END

    FROM cols c

    ORDER BY c.column_id

    FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 10, 'CHAR(13) + '''' +')

    DECLARE @SQL NVARCHAR(MAX) = '

    SET NOCOUNT ON;

    DECLARE

    @SQL NVARCHAR(MAX) = ''''

    , @x INT = 1

    , @count INT = (SELECT COUNT(1) FROM ' + @TableName + ')

    IF EXISTS(

    SELECT 1

    FROM tempdb.dbo.sysobjects

    WHERE ID = OBJECT_ID(''tempdb..#import'')

    )

    DROP TABLE #import;

    SELECT ' + @SQLTinyColumns + ', ''RowNumber'' = ROW_NUMBER() OVER (ORDER BY ' + @SQLTinyColumns + ')

    INTO #import

    FROM ' + @TableName + '

    WHILE @x < @count BEGIN

    SELECT @SQL = STUFF((

    SELECT ' + @SQLColumns + ' + ''''' + '

    FROM #import

    WHERE RowNumber BETWEEN @x AND @x + 9

    FOR XML PATH, TYPE, ROOT).value(''.'', ''NVARCHAR(MAX)''), 1, 1, '''')

    PRINT(@SQL)

    SELECT @x = @x + 10

    END'

    EXEC sys.sp_executesql @SQL

    FETCH NEXT FROM [tables] INTO

    @TableName

    , @ObjectID

    END

    CLOSE [tables]

    DEALLOCATE [tables]

    在输出中你得到这样的东西(AdventureWorks.Person.Person):

    1;EM;0;NULL;Ken;J;Sánchez;NULL;0;92C4279F-1207-48A3-8448-4636514EB7E2;2003-02-08 00:00:00

    2;EM;0;NULL;Terri;Lee;Duffy;NULL;1;D8763459-8AA8-47CC-AFF7-C9079AF79033;2002-02-24 00:00:00

    3;EM;0;NULL;Roberto;NULL;Tamburello;NULL;0;E1A2555E-0828-434B-A33B-6F38136A37DE;2001-12-05 00:00:00

    4;EM;0;NULL;Rob;NULL;Walters;NULL;0;F2D7CE06-38B3-4357-805B-F4B6B71C01FF;2001-12-29 00:00:00

    5;EM;0;Ms.;Gail;A;Erickson;NULL;0;F3A3F6B4-AE3B-430C-A754-9F2231BA6FEF;2002-01-30 00:00:00

    6;EM;0;Mr.;Jossef;H;Goldberg;NULL;0;0DEA28FD-EFFE-482A-AFD3-B7E8F199D56F;2002-02-17 00:00:00

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼... imp命令用于把本地的数据库dmp文件本地导入到远程的Oracle数据库中数据导出:通过输入 EXP 命令和用户名/口令,您可以 后接用户名/口令的命令:例程: EXP SC...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    来源一:比特网 来源二:东方锐智

    oracle 的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。数据导出:通过输入 EXP 命令和用户名/口令,您可以 后接用户名/口令的命令:例程: EXP SCOTT/TIGER  或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出” 按照不同参数。要指定参数,您可以使用关键字:  格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,…,valueN) 例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)  或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表 USERID 必须是命令行中的第一个参数。例子 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 代码如下 复制代码

    exp system/manager@TEST file=d:daochu.dmp full=y

    2 将数据库中system用户与sys用户的表导出 代码如下 复制代码

    exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)

    3 将数据库中的表table1 、table2导出 代码如下 复制代码

    exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)

    4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 代码如下 复制代码

    exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"

    上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩, 不过在上面命令后面 加上 compress=y 就可以了数据的导入例程: IMP SCOTT/TIGER  或者, 可以通过输入 IMP 命令和各种参数来控制“导入” 按照不同参数。要指定参数,您可以使用关键字:格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,…,vlaueN) 例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N 1 将D:daochu.dmp 中的数据导入 TEST数据库中。 代码如下 复制代码

    imp system/manager@TEST file=d:daochu.dmp

    上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

    在后面加上 ignore=y 就可以了。 2 将d:daochu.dmp中的表table1 导入 代码如下 复制代码

    imp system/manager@TEST file=d:daochu.dmp tables=(table1)

    展开全文
  • oracle 数据库导入导出语句

    千次阅读 2018-10-27 14:41:51
    imp命令用于把本地的数据库.dmp文件本地导入到远程的oracle数据库中  1 将数据库test完全导出.用户名system/manager导出到D:daochu.dmp 代码如下: exp system/manager@test file=d:daoch...
  • 由于需要mysql数据库中导出到excel表并发送邮件做的这个,其中参考了网上很多的例子因为之前是需要做的发送邮件,所以这次就直接合并在一起了。有些应该改的但是我复制过来也就没有去管了# -*- coding: utf-8 -*-...
  • 这是我做的一个将数据用excel导出代码,前半段代码可以忽略,是查询语句,最后一段才是导出excel。
  • 在 SYSCAT.ROUTINES 系统目录表,有一个名为 TEXT 的字段,其数据类型定义为 CLOB,长度为 2M(2097152 个字节),用于存放存储过程的创建语句。为得到全部存储过程的定义,可使用类似如下 SELECT 语句,并将定义...
  • 由于需要mysql数据库中导出到excel表并发送邮件做的这个,其中参考了网上很多的例子 因为之前是需要做的发送邮件,所以这次就直接合并在一起了。有些应该改的但是我复制过来也就没有去管了 # -*- coding: utf-...
  • Mysql导入字节 如果大于16,384 KiB,则界面就不能顺利导入。 用cmd方式则能更快的导入和将需要的数据导出。 将经常用的记录下来,以便查询使用,以后慢慢增加吧 导入: mysql -u root -ppassword --...
  • 1) DB2 的目录表 SYSCAT.ROUTINES 选取:在 SYSCAT.ROUTINES 系统目录表,有一个名为 TEXT 的字段,其数据类型定义为 CLOB,长度为 2M(2097152 个字节),用于存放存储过程的创建语句。为得到全部存储过程的...
  • 导出数据到excel文件: 执行查询语句,查询出要导出的数据,选中它们(右键select All全选中)--右键copy to excel 不过需要注意的是:如果数据量比较大,注意千万不要超出最大的允许行数限制,否则数据就不全了,...
  • 1) DB2 的目录表 SYSCAT.ROUTINES 选取:在 SYSCAT.ROUTINES 系统目录表,有一个名为 TEXT 的字段,其数据类型定义为 CLOB,长度为 2M(2097152 个字节),用于存放存储过程的创建语句。为得到全部存储过程的...
  • 导出数据到excel文件: 执行查询语句,查询出要导出的数据,选中它们(右键select All全选中)--右键copy to excel   不过需要注意的是:如果数据量比较大,注意千万不要超出最大的允许行数限制,否则数据就不全...
  • 1、在SQL数据库中直接Excel里面查询数据:select \* fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$)2、Excel文件中,导入数据到SQL数据库中,select\*into表from!...
  • 由于需要mysql数据库中导出到excel表并发送邮件做的这个,其中参考了网上很多的例子因为之前是需要做的发送邮件,所以这次就直接合并在一起了。有些应该改的但是我复制过来也就没有去管了# -*- coding: utf-8 -*-...
  • 有时在做程序时,测试时的数据,要拿像用户演示,数据库的附加是最直接的办法,但若SQL Server 2005转向2000导出麻烦,内容也多,生成SQL语句是最好的办法,也是在网上找的工具,mssql2导出非常方便,担心我以后...
  •  Sqoop export工具被用来将文件集合HDFS中导入到关系型数据库中。目标表必须事先已经在数据库中创建好。输入文件根据用户指定的分隔符被读取解析成记录集。Sqoop默认的是将这些操作转换成“INSERT模式”,向目标...
  • 熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,...
  • Windows server 序列号:JB88F-W T2Q3-DPXTT-Y8GHG-7YYQYoracle导入导出dmp数据库文件语句使用2010-12-15 14:05:36| 分类:数据库| 标签:|字号大中小订阅Oracle数据导入导出imp/exp就相当于oracle数据还原与备份...
  • 展开全部网上找到一些问题是关于如何MySQL中导出数据,以便用在本地或其它的数据库系62616964757a686964616fe4b893e5b19e31333361326235统之上;以及 将现有数据导入MySQL数据库中。数据导出数据导出主要有以下...
  • 笔者今日接到客户的一个新需求,需要每天定时Oracle数据库里导出指定的...2.由于需要导出的是Oracle数据库的数据,因此考虑采用Oracle的spool工具导出数据; 3.由于需要 上传文件到指定的FTP服务器目录,因此需要...
  • exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件本地导入到远处的数据库服务器。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。  执行环境:...
  • 2. 使用命令行BCP导入导出数据 很多大型的系统不仅仅提供了友好的图形用户接口,同时也提供了命令行方式对系统进行控制。在SQL Server除了可以使用SQL语句对数据进行操作外,还可以使用一个命令行工具BCP对数据...
  • 最近工作遇到一个需求,用户频繁要求后台批量导出大量数据。目前的导出方式是使用PL/SQL Developer工具连接Oracle数据库,编写SQL语句,使用PL/SQL Developer工具自带的导出Excel文件的功能进行导出。 编写SQL...
  • 部分数据需要sql server 2008 数据库中导出到excel中,Excel程序自带的外部数据连接功能,可以连接SQL服务器。当然还有其他的办法如: excel-vba 也可以实现,但是简单的就使用excel自带的Excel程序自带的外部...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,090
精华内容 436
关键字:

从数据库中导出数据语句