SYBASE數據庫建表及插數據

SYBASE數據庫建表及插數據

一、建表

 CREATE TABLE  SYBASE表名(

    T_ID             numeric(20) not null, 

    T_BIGINT      bigintnull,

    T_UNSIGNED_BIGINT  unsigned bigintnull,

    T_DECIMAL   decimal(10,5) null,

    T_MONEY    money null,

    T_SMALLMONEY smallmoney null,

    T_CHAR        char(20) null,

    T_UNICHAR  unichar(20)null,

    T_UNIVARCHAR  univarchar(20) null,

    T_SMALLDATETIME   smalldatetime null,

    T_TEXT    text null,

    T_UNITEXT  unitext null,

    T_IMAGE image null,

    T_BINARY binary(200) null,

    T_VARBINARY varbinary(200) null,

    T_BIT bit

);

ALTER TABLE SYBASE表名 ADD CONSTRAINT PK_SYBASE表名 primary key(T_ID);

二、插入數據

DECLARE @a int

DECLARE @b int 

SET @a = 0 while @a<1

BEGIN

WAITFOR DELAY '00:00:01'

SET @b=1 while @b<=100

BEGIN

INSERT INTO SYBASE表名 VALUES(@b+@a*100,

-1,333,123.45678,

¥123.89,¥45.67,

'zhongguo','zhengjiang','hangzhou',

getdate(),

'abcd中國浙江','大事發生大幅發發dfdf',

'image斷電斷電',

'0xabcd','0xfde',0)

set @b = @b+1

end

set @a = @a+1

end

三、字段類型

字段類型 | 定義 | 唯一值 |  非唯一值

------整數------------------

bigint | bigint |@b+@a*100| -111

unsigned bigint  |unsigned bigint@b+@a*100 | 111

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

char | char(20) | convert(char(20),@b+@a*100) | 'nihao'

varchar | varchar(20) |convert(varchar(20),@b+@a*100)| 'zhongguo'

unichar | unichar(20) | - | 'nihao'

univarchar | univarchar(20) | - | 'zhongguo' 

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

decimal  | decimal(10,5) | @b+@a*100  | 123.45678

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

bit | bit | - | 0 / 1

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

money | money | - | ¥123.34

smallmoney | smallmoney | - | ¥123.45

-------大字段類-------------------------------

binary | binary(200) | - | '0xabcd'

varbinary | varbinary(200) | - | '0xfde'

image | image| - | 'image斷電斷電'

text | text | - | 'abcd中國浙江'

unitext | unitext | - |'大事發生大幅發發dfdf'

---------時間類-------------------

date | date | dateadd(day,@b+@a*100,getdate()) | '2018/01/08' /getdate()/convert(char,getdate(),102)

datetime | datetime | dateadd(day,@b+@a*100,getdate()) '2018-01-08 01:01:01.500am'/ '2018/01/01 01:01:01.287am'/ getdate()

smalldatetime | smalldatetime | dateadd(day,@b+@a*100,getdate())'2018-01-08 01:01:01.500am'/ '2018/01/01 01:01:01.287am'/ getdate()

time | time | dateadd(minute,@b+@a*100,'2018/01/01 00:00:00') | '05:06:08'/getdate() /convert(char,getdate().108) 

注:@a、@b爲自定義循環變量,以便重複插值; - 表示省略; / 表示有多種可選值

選一個舉例說明:bigint | bigint | @b+@a*100| -111

建表時bigint字段類型可定義爲bigint; 如果該字段爲主鍵,循環插數據時使用@b+@a*100賦值;該字段不爲主鍵,循環插數據時使用-111賦值。

四、指定主鍵字段

建表時指定主鍵字段的三種方法:

第一種:

 CREATE TABLE  SYBASE表名(

     T_ID       bigint  primary key not null,

     T_DATE    date);

第二種:

 CREATE TABLE  SYBASE表名(

    T_ID         bigint not null, 

    T_DATE    date,

    CONSTRAINT  PK_SYBASE表名  PRIMARY KEY (T_ID)

);

第三種:

 CREATE TABLE  SYBASE表名(

    T_ID       bigint  not null,

    T_DATE    date);

ALTER TABLESYBASE表名 ADD CONSTRAINT  PK_SYBASE表名  PRIMARY KEY (T_ID);

ALTER TABLESYBASE表名 activate not logged initially;

注:PK_SYBASE表名爲約束名

      創建聯合主鍵時,在第2和第3種方法中的括號裏直接加入需要增加的字段,用逗號隔開。

如:

CONSTRAINT  PK_SYBASE表名 PRIMARY KEY (T_ID,T_DATE)

ALTER TABLE SYBASE表名 ADD CONSTRAINT PK_SYBASE表名  PRIMARY KEY (T_ID,T_DATE);

五、其它

bit字段類型不允許爲null

六、操作軟件

 Navicat Premium軟件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章