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軟件