精华内容
下载资源
问答
  • DB2数据库建表及插数据

    千次阅读 2020-12-24 22:25:12
    DB2数据库建表及插数据一、建表CREATE TABLE DB2表名(T_ID bigint primary key not null,T_DECIMAL decimal(10,5),T_CHAR char(20),T_VARCHAR varchar(20),T_GRAPHIC graphic(20),T_VARGRAPHIC vargr...

    DB2数据库建表及插数据

    一、建表

    CREATE TABLE  DB2表名(

    T_ID             bigint  primary key not null,

    T_DECIMAL   decimal(10,5),

    T_CHAR        char(20),

    T_VARCHAR  varchar(20),

    T_GRAPHIC     graphic(20),

    T_VARGRAPHIC   vargraphic(20),

    T_DATE          date,

    T_TIMESTAMP    timestamp,

    T_TIME      time,

    T_DOUBLE  double,

    T_BLOB   blob(10485760),

    T_CLOB   clob(10485760)

    );

    二、插入数据

    --/

    CREATE PROCEDURE INSERT_DB2表名()

    BEGIN

    DECLARE MyCounter integer;

    SET MyCounter =1;

    WHILE MyCounter <=10 do

    INSERT INTO DB2表名 VALUES(

    MyCounter,MyCounter+0.99999,

    DIGITS(MyCounter),DIGITS(MyCounter),

    GRAPHIC(DIGITS(MyCounter)),VARGRAPHIC(DIGITS(MyCounter)),

    CHAR(current date + MyCounter days ),

    CHAR(current timestamp + MyCounter days),

    CHAR(current time + MyCounter seconds),

    123.456789,

    BLOB('您好啊!'),CLOB('岁月静好鹅鹅鹅')

    );

    SET MyCounter = MyCounter +1;

    END WHILE;

    COMMIT;

    END

    /

    CALL INSERT_DB2表名;

    DROP PROCEDURE  INSERT_DB2表名;

    三、字段类型

    字段类型 | 定义 | 唯一值 |  非唯一值

    ------整数------------------

    bigint | bigint |MyCounter| 111

    --------字符---------------------------

    char | char(20) |DIGITS(MyCounter) | 'nihao'

    varchar | varchar(20) |DIGITS(MyCounter)| 'zhongguo'

    graphic| graphic(20) |GRAPHIC(DIGITS(MyCounter))|graphic( 'nihao')

    vargraphic| vargraphic(20) |VARGRAPHIC(DIGITS(MyCounter)) |vargraphic( 'zhongguo')

    -------------------------------------------

    decimal  | decimal(10,5) |MyCounter+0.99999 | 12.99999

    ----------------------------------------------------

    double | double | - | 123.456789

    -------大字段类-------------------------------

    blob | blob(10485760) | - |BLOB('您好啊!')/BLOB('1626c6f6231626c6f6231231626c6f6231626c26c6')

    clob | clob(10485760)| - |CLOB('岁月静好鹅鹅鹅')/CLOB('16226c6f6231626c6f6231626c6f6231626c6f6626c6f6231626c6')

    ---------时间类-------------------

    date| date |CHAR(current date +MyCounter days)| '2018-01-08' /current date/sysdate

    timestamp | timestamp |CHAR(current timestamp +MyCounter days)| '2018-01-08 01:01:01'/'2018-01-08-01.01.01'/current timestamp/sysdate

    time | time |CHAR(current time +MyCounter seconds)| '05:06:08'/'05.06.08'/current time/sysdate

    注:MyCounter为自定义循环变量,以便重复插值;- 表示省略;/ 表示有多种可选值

    选一个举例说明:decimal  | decimal(10,5) |MyCounter+0.99999| 12.99999

    建表时decimal字段类型可定义为decimal(10,5); 如果该字段为主键,循环插数据时使用MyCounter+0.99999赋值;该字段不为主键,循环插数据时使用12.99999赋值。

    四、指定主键字段

    建表时指定主键字段的三种方法:

    第一种:

    CREATE TABLE  DB2表名(

    T_ID       bigint  primary keynot null,

    T_DATE    date);

    第二种:

    CREATE TABLE  DB2表名(

    T_ID         bigint not null,

    T_DATE    date,

    CONSTRAINT  PK_DB2表名  PRIMARY KEY (T_ID)

    );

    第三种:

    CREATE TABLE  DB2表名(

    T_ID       bigint  not null,

    T_DATE    date);

    ALTER TABLE DB2表名 ADD CONSTRAINT  PK_DB2表名  PRIMARY KEY (T_ID);

    ALTER TABLE DB2表名 activate not logged initially;

    注:PK_DB2表名为约束名

    创建联合主键时,在第2和第3种方法中的括号里直接加入需要增加的字段,用逗号隔开。

    如:

    CONSTRAINT  PK_DB2表名 PRIMARY KEY (T_ID,T_DATE)

    ALTER TABLE DB2表名 ADD CONSTRAINT PK_DB2表名  PRIMARY KEY (T_ID,T_DATE);

    五、其它

    db2,建表时,字段类型的值只能定义为not null,不能定义为null。字段类型的值未定义为not null,系统就会默认其为null。

    六、操作软件

    DbVisualizer

    展开全文
  • DB2建表语句

    千次阅读 2018-05-08 14:24:00
    DB2建表加注解的建表语句 CREATE  TABLE table_name  (  company CHARACTER(1) NOT NULL DEFAULT 'N',  online CHARACTER(1) NOT NULL DEFAULT 'N',  create_time TIMESTAMP DEFAULT CURRENT TIMES...

    DB2建表加注解的建表语句

    CREATE

        TABLE table_name

        (

          company CHARACTER(1) NOT NULL DEFAULT 'N',

          online CHARACTER(1) NOT NULL DEFAULT 'N',

          create_time TIMESTAMP DEFAULT CURRENT TIMESTAMP NOT NULL,

          PRIMARY KEY(company)

    );

    COMMENT ON TABLE table_name IS '某某表';

    COMMENT ON COLUMN table_name.company IS '分公司码';

    转载于:https://www.cnblogs.com/dauber/p/9008009.html

    展开全文
  • 在实际工作中,一张表,我们可能需要在...本篇文章,以Oracle数据库表为源表,通过PowerDesigner工具将其转化成Mysql数据库建表语句。 1、以 oracle_to_student(学生表)为例,Oracle数据库中建表语句如下所示。...

          在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表。表中每个字段的数据类型、中文注释、是否可为NULL 问题,非常影响我们建表的效率。本篇文章,以Oracle数据库表为源表,通过PowerDesigner工具将其转化成Mysql数据库建表语句。
     

    1、以 oracle_to_student(学生表)为例,Oracle数据库中建表语句如下所示。需要注意的是,若要相对完美的将Oracle数据库表转换成Mysql数据库表,需要严格按照以下Oracle数据库表结构方式,标点符号都不能多、不能少。

     

         1.1、表名、字段名,需要去除 ` 符号  ;

         1.2、若字段定义过程中缺少 'NOT NULL'、 'DEFAULT NULL', 请添加 ;

         1.3、若Oracle表中含主键,需要添加命令设置主键。
     

    -- 使用PowerDesigner将Oracle建表语句转换成Mysql建表语句。
    create table oracle_to_student
    (
      
      stu_id       NUMBER(16)      NOT NULL,
      stu_name     VARCHAR2(32)    NOT NULL,
      stu_tuition  NUMBER(9, 2)    NOT NULL,
      stu_address  VARCHAR2(500)   DEFAULT NULL,
      stu_age      NUMBER(3) 	   DEFAULT NULL,
      create_date  DATE 		   DEFAULT NULL
    )
    tablespace STT_TBS_DATA
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 1
        next 1
        minextents 1
        maxextents unlimited
      );
    
    comment on table oracle_to_student
      is '学生表';
    
    -- 新增语句
    alter table oracle_to_student add constraint pk_student001 primary key(stu_id);
      
    
    comment on column oracle_to_student.stu_id
      is '学生编码';
      
    comment on column oracle_to_student.stu_name
      is '学生姓名';
    
    comment on column oracle_to_student.stu_tuition
      is '学费';
      
    comment on column oracle_to_student.stu_address
      is '学生地址';
    
    comment on column oracle_to_student.stu_address
      is '学生年龄';  
      
    comment on column oracle_to_student.create_date
      is '创建时间';
    
    

     

    2、 打开 PowerDesigner 软件, 选择 文件 ---> 反向工程 ---> Database ,如下图1所示。

                                                                                      图1

     

    3、 之后,会弹出 New Physical Date Model 窗口。 在该窗口 "常规" 选项界面, 由于我们是将Oracle数据库中表转成Mysql数据库中表,所以 "DBMS" 行选择 "ORACLE Version 11g" 选项,如图2所示。

                                                                                      图2

     

    4、之后,会弹出 "Database Reverse Engineering Options" 窗口, 在该窗口点击 "Add Files (Ctrl + N)" 图标,选择Mysql数据库student表sql脚本,如图3、 图4所示。

                                                                                      图3

     

                                                                                      图4

     

    5、由步骤4操作后,PowerDesigner 软件界面如下图5所示。

                                                                                      图5

     

    6、在 PowerDesigner 软件上,选择 "数据库" ---> "Change Current DBMS..." 选项,如下图6所示。 

                                                                                      图6

     

    7、之后,会弹出 "Change DBMS" 窗口。 由于我们是将Oracle数据库表转化成Mysql数据库表,在这里 "New 数据库管" 一行选择 "MySQL 5.0" 。 "Current 数据库管" 一栏,会随着这一步操作完成后,自动更改成 "MySQL 5.0" ,如下图7、图8所示。

                                                                                      图7

     

                                                                                      图8

     

    8、使用快捷键: Ctrl + G,调用出 "Database Generation" 窗口,选择生成Mysql建表语句文件的路径,并对文件进行命名,如下图9所示。

                                                                                      图9

     

    9、之后,会弹出 "Generated Files" 窗口,由log日志、生成的sql脚本文件可知,程序运行成功。点击 "Generated Files" 窗口中的 "关闭(C)" 按钮后,会弹出 "结果列表" 窗口,该窗口无实际意义,直接关闭。 如下图10、图11所示。

                                                                                      图10

     

                                                                                      图11

     

    10、由Oracle建表语句中文字段含义可知,stu_id、stu_age 这2个字段为普通数字数据类型字段,stu_tuition 字段为金额数据类型字段,需保留2位小数。经过PowerDesigner软件生成后的Mysql建表语句,这3个字段的数据类型并非是我们需要的数据类型,因此需要更改。

     

            将  stu_id numeric(16, 0)  更改为 stu_id bigint(16) ;  将 stu_age numeric(3, 0) 更改为 stu_age int(3);  将 stu_tuition numeric(9, 2) 更改为 stu_tuition decimal(9, 2) 。 如下图12、 图13 所示。

                                                                                      图12

     

                                                                                      图13

     

    11、经过上述处理之后,SQL脚本即可放到Navicat软件中直接运行使用。 图14、图15是效果展示图。

    Oracle数据库表转成Mysql数据库表的SQL语句如下所示:

    /*==============================================================*/
    /* DBMS name:      MySQL 5.0                                    */
    /* Created on:     2020/3/12 9:34:59                            */
    /*==============================================================*/
    
    
    drop table if exists ORACLE_TO_STUDENT;
    
    /*==============================================================*/
    /* Table: ORACLE_TO_STUDENT                                     */
    /*==============================================================*/
    create table ORACLE_TO_STUDENT
    (
       STU_ID               bigint(16) not null comment '学生编码',
       STU_NAME             varchar(32) not null comment '学生姓名',
       STU_TUITION          decimal(9,2) not null comment '学费',
       STU_ADDRESS          varchar(500) default NULL comment '学生年龄',
       STU_AGE              int(3) default NULL,
       CREATE_DATE          datetime default NULL comment '创建时间',
       primary key (STU_ID)
    );
    
    alter table ORACLE_TO_STUDENT comment '学生表';
    
    

     

     

                                                                                      图14

     

                                                                                      图15

     

     

    参考文章:  PowerDesigner,如何将Mysql数据库建表语句转化成Oracle数据库建表语句。    

     

    姊妹篇文章: PowerDesigner,如何将Mysql数据库建表语句转化成Oracle数据库建表语句。     

     

     

    展开全文
  • DB2建表语句

    2021-05-18 05:41:12
    db2 => create table test (name char(8) not null primary key,depid smallint,pay bigint)DB20000I SQL 命令成功完成。db2 => create table test1 (name char(8) not null primary key,depid smallint ...

    db2 => create table test (name char(8) not null primary key,depid smallint,pay bigint)

    DB20000I SQL 命令成功完成。

    db2 => create table test1 (name char(8) not null primary key,depid smallint references department (depid),pay bigint)

    DB20000I SQL 命令成功完成。

    db2 => update department set depmanager='abc' where depid=5

    db2 => alter table test alter pay set not null

    DB20000I SQL 命令成功完成。

    db2 => alter table pay add foreign key (depid) references department (depid)

    db2 => reorg table pay

    db2 => alter table pay alter pay drop not null

    db2 => insert into pay (name,depid) select name,depid from phone

    基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

    hive查看建表语句

    查看hive建表语句:show create table tablename; 查看hive表结构:describe  tablename; 简写:desc tablename;

    批量导出hive表的建表语句

    转的这里的 首先先导出所有的table表 hive -e "use xxxdb;show tables;" > tables.txt 然后再使用hive内置语法导出hive表 ...

    根据javabean转换为mysql建表语句与mapper内容

    展开全文
  • DB2数据库建表报错

    2021-01-17 08:23:59
    一、建表、表加主键、加索引报错1、Error Code: -542, SQL State: 42831涉及的字段必须加上 not null。2、Error Code: -574, SQL State: 42894默认值或者数据类型有问题,比如取系统时间默认用CURRENT DATE(与oracle...
  • 文章目录写这个Demo的出发点Demo中还存在的问题期望将来能实现的生成的建表语句源代码 写这个Demo的出发点 入职刚半年的菜鸟一枚,公司项目需支持Oracle、Mysql、DB2三个库,优先都在Oracle开发,然后sql补丁之类...
  • check the manual that corresponds to your MySQL se在使用xshell远程连接我的服务器时想创建一个数据库结果执行不对,sql语句如下mysql> create database 'wechatmall';结果出现mysql报错,这个提示很明显是.....
  • db2 创建数据库及表空间语句

    千次阅读 2020-06-13 17:34:42
    db2 创建数据库及表空间语句 1、首先在windows安装完DB2以后,打开DB2的命令行,然后依次执行下面代码.(下面有一句话脚本会提示你一个类似异常的信息,不予以理会,继续执行下面别的代码) db2 “CREATE DB TestDB ...
  • 这个项目是将特定结构的excel表结构数据转换成数据库建表语句 源码 /** * 输出sql * @param start 起始行 * @param end 结束行 * @param sheetAt sheet页 * @throws IOException * @throws ...
  • 最近需要把mysql数据库中的表迁移到DB2数据库,表内的数据用kettle可以实现迁移,但是建表语句却怎么也搞不好。 百度半天,发现并没有什么好的方法或工具能把mysql建表语句转成DB2。 Mysql建表语句想转成DB2,似乎...
  • idea导出db2建表语句问题 问题:(本次只是简单记录一下问题,防止以后再次遇到) 1、使用idea创建db2表索引是,不管下边这个Unique是否选择,等创建完成之后重新进来查看(或者用idea生成sql),都会显示为 勾选...
  • 用mysql querybrowser可以得到具体一张表的建表语句,但是表多了就得一张一张弄.很麻烦.如果想偷懒一点,就只能命令行用mysqldump这个工具了-:)运行一下musqldump,可以得到如下说明[root@S101 bin]#...
  • 由于公司数据库没有进行分库分表,导出上亿数据量时,内存溢出已经解决但是存在速度很慢的问题,在不允许动表情况下还未找到解决办法。 import java.io.BufferedReader; import java.io.BufferedWriter; import...
  • quartz建表语句

    2018-08-30 09:47:41
    quartz建表语句,包含各种数据库的,mysql,oracle,db2
  • MySQL和DB2建表SQL差异

    2017-11-27 13:44:00
    MySQL5和DB2 V9建表SQL差异 背景: MySQL5和DB2在创建表的时候有些差异,在实际工作中,我常常将一些DB2的表导入到MySQL5中,然后用SQLyog Enterprise Edition V5.25来开发数据库脚本,用PL/SQL Developer V...
  • DB2 导出数据库中的表结构和数据

    千次阅读 2018-02-01 19:09:57
    DB2导出数据库中的表结构和数据
  • 根据Excel生成建表语句sql 系统建设初期表结构总有设计不合理的地方,然后因为分模块,这个改一下那个改一下的,导致最近库里的表结构总是和表设计不统一,然后每次都需要检查再更新。就写了这么个工具,就只需要改...
  • DB2常用的几种建表方式

    千次阅读 2020-08-26 14:03:58
    --常规建表语句 CREATE TABLE DSV.TABLE_TEST --定义模式名&表名 ( DIANPU VARCHAR(10), XIAOSHOUE DECIMAL(31,4), RIQI DATE ) COMPRESS YES --压缩表空间 DISTRIBUTE BY HASH(DIANPU) IN DTA;--指定表空间...
  • DB2中为一个表添加索引怎么做?1、首先,进行打开pycharm的界面当中,进行选中database选项。2、进行选中了database的选项,进行选中上 表 的选项。3、然后进行对表右键的操作,弹出了下拉菜单选中为 new 的选项。4...
  • DB2创建表

    千次阅读 2017-09-14 14:51:34
    CREATE TABLE NETTOLL.ASTABLE ( AAS1ID SMALLINT NOT NULL, AS2ID SMALLINT NOT NULL, CONSTRAINT PK_ASTABLE PRIMARY KEY (AAS1ID) ) 我的笔记
  • 支持sqlserver与oracle自动生成sql创建表语句,一键自动生成,非常强大。
  • DB2-建表-插入无毫秒时间

    千次阅读 热门讨论 2016-09-26 14:42:05
     1)如何在DB2数据库建表,如何加唯一索引……  2)CURRENT TIMESTAMP,是SQL函数,直接写在SQL语句中,但它不仅包含年月日,时分秒,还有一个毫秒。  解决:  建表:  在DB2创建表。我用的可视...
  • DB2数据库学习篇之最全面的sql语法知识总结简介数据定义语法数据类型语法数据操作语法常用重要语法例子 简介 DB2是IBM公司开发的关系数据库管理系统,它有多种不同的版本,如:DB2工作组版(DB2Workgroup Edition)...
  • 准备一张维度表:dim_ddl_convert,建表语句如下: DROP TABLE IF EXISTS `dim_ddl_convert`; CREATE TABLE `dim_ddl_convert` ( `source` varchar(100) NOT NULL, `data_type1` varchar(100) NOT NULL, `target`...
  • Mybatis连接DB2数据库生成逆向工程。压缩包中包含mybatis逆向工程配置文件(含注释),及DB2数据库建表语句,保证可用。
  • DB建表语法

    2019-12-21 11:30:15
    db2创建表需要指定在建库时指定的表空间和索引表空间,如果没有指定,则会把表建在USERSPACE1默认的表空间中,这样会存在一个问题:一旦表空间不够,就会导致数据库内存溢出,无法执行增删改的操作。 -- db2创建表...
  • DB2数据库环境 32k分页表空间是建表,将有些数据库表建立在独立的表空间上面有助于提高数据库引擎的执行效率
  • 介绍获取 DB2 v8 数据库中所有存储过程创建语句的三种方法。ITPUB个人空间Q/E oi}.eD%zO如果 DB2 v8 的用户需要提取数据库所有存储过程的定义,即用 CREATE PROCEDURE 创建存储过程的语句,以便保留或在其它数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,562
精华内容 3,024
关键字:

db2数据库建表语句