景安VPS之家 首页 Sybase数据库 查看内容

Sybase数据库常用sql语言有哪些?

2019-8-19 11:30| 发布者: admin| 查看: 10| 评论: 0

摘要: 不管是做网站还是做应用可能都需要一个数据库来支持,常见的数据库有Oracle、DB2、MS SQL Server、Informax、MySQL、ACCESS等等,不过今天小编给大家带来的是sybase数据库,下面为大家分享一些常用的sql语言: ...

不管是做网站还是做应用可能都需要一个数据库来支持,常见的数据库有OracleDB2MS SQL Server、Informax、MySQL、ACCESS等等,不过今天小编给大家带来的是sybase数据库,下面为大家分享一些常用的sql语言:

1,表备份:

--table_name1:需要备份的表; table_name2:备份后的表
SELECT * into table_name2 from table_name1 

 2,删除列:

ALTER TABLE table_name DELETE column_name;

 3,增加列:

ALTER TABLE table_name ADD (column_name DATA_TYPE [NOT] NULL);

4,修改列的空与非空:

ALTER TABLE table_name MODIFY column_name [NOT] NULL;

5,修改列名:

ALTER TABLE table_name RENAME old_column_name TO new_column_name;

6,快速建立临时表:

SELECT * INTO table_name_new FROM table_name_old;

7,修改表名:

ALTER TABLE old_table_name RENAME new_table_name

8,增加主键约束:

ALTER TABLE tb_name ADD CONSTRAINT pk_name PRIMARY KEY(col_name,..)

9,删除主键约束:

ALTER TABLE tb_name DROP CONSTRAINT pk_name;

10,建立自增长字段,与Oracle的SEQUENCE类似:

CREATE TABLE TMP_001 (RES_ID INTEGER IDENTITY NOT NULL);

11,添加表注释:

COMMENT ON TABLE table_name IS '....';

12,创建索引:

CREATE INDEX index_name ON table_name(column_name);

 13,查询表结构:

select * from systable a left join syscolumn b on a.table_id = b.table_id where UPPER(a.table_name)=UPPER('table_name')  order by column_name;

14,查看所有表

select name from sysobjects where type='U'

 15,创建表


#字段前面不允许有空格,不然列的名称前面会用空格
create table t_wlpc_shrjj(
id INTEGER IDENTITY NOT NULL,
rpname varchar(500) null,
rpdate varchar(50) null,
jjzt varchar(255) null,
fbsjj varchar(255) null,
etf varchar(255) null,
lof varchar(255) null,
fjlof varchar(255) null,
create_date Datetime null,
update_date Datetime null
)

16,删除表

if exists (select 1 from sysobjects
    where id = object_id('users') and type = 'U')
    drop table users

 17,查询指定数据库的表

select * from   sybaseiq195..T_x27_user;

 18、日期函数


--1,获取当前日期时间 getdate() 
select getdate() 

--2,取指定时间的某一部分 datepart(日期部分,日期)
--取时间的某一个部分 
select datepart(yy,getdate()) --year 
select datepart(mm,getdate()) --month 
select datepart(dd,getdate()) --day 
select datepart(hh,getdate()) --hour 
select datepart(mi,getdate()) --min 
select datepart(ss,getdate()) --sec 
--取星期几 
set datefirst 1  
select datepart(weekday,getdate()) --weekday 

--3,日期2-日期1,单位为日期部分指定 datediff(日期部分,日期1,日期2) 
SELECT datediff(yy,'2012/12/01',getdate()) 
SELECT datediff(mm,'2012/12/01',getdate()) 
SELECT datediff(dd,'2012/12/01',getdate()) 
SELECT datediff(hh,'2012/12/01',getdate()) 
SELECT datediff(mi,'2012/12/01',getdate()) 
SELECT datediff(ss,'2012/12/01',getdate()) 

--4,计算指定时间,再加上表达式指定的时间长度 dateadd(日期部分,数值,日期) 
SELECT dateadd(yy,1,getdate()) 
SELECT dateadd(mm,1,getdate()) 
SELECT dateadd(dd,1,getdate()) 
SELECT dateadd(hh,1,getdate()) 
SELECT dateadd(mi,1,getdate()) 
SELECT dateadd(ss,1,getdate()) 

--5,字符串时间 
select getdate() -- '2012/12/4 10:48:07.540' 
select convert(char,getdate(),101) -- '12/04/2012' 
select convert(char,getdate(),102) -- '2012.12.04' 
select convert(char,getdate(),103) -- '04/12/2012' 
select convert(char,getdate(),104) -- '04.12.2012' 
select convert(char,getdate(),105) -- '04-12-2012 
select convert(char,getdate(),106) -- '04 Dec 2012' 
select convert(char,getdate(),107) --'Dec 04, 2012' 
select convert(char,getdate(),108) --'11:16:06' 
select convert(char,getdate(),109) --'Dec  4 2012 10:50:28:146AM' 
select convert(char,getdate(),110) --'12-04-2012' 
select convert(char,getdate(),111) --'2012/12/04' 
select convert(char,getdate(),112) --'20121204' 

--6,以时间为维度的趋势查询 
--查询一个月内的每一天 
select convert(varchar(10), dateadd(dd, number + 1, convert(char(10), dateadd(mm, -1, getdate()), 111)), 111) dt from master .. spt_values where type = 'p'  and number < 31 
--查询一年内的每一月 
select convert(varchar(7),dateadd(mm,number + 1, convert(char(10), dateadd(yy, -1, getdate()), 111)), 111) dt from master .. spt_values where type = 'p'  and number < 12 

--7 空处理函数 
isnull(val1,val2)   val1为空,值为val2

 19,获取当前时间

select substr(convert(varchar,getdate(*),25),0,19)
-- 结果:

20,删除表数据


TRUNCATE TABLE:删除内容、释放空间但不删除定义。
DELETE TABLE:删除内容不删除定义,不释放空间。
DROP TABLE:删除内容和定义,释放空间。
区别:
truncate删除的更彻底,所有的日志记录都会没有,并且是一把全清,不会有where条件。
还有个比较大的区别就是truncate后自增长的ID列也会归零,以后插入记录ID从1开始。
但是delete后你再插入记录,ID会从上次最大的数字开始。
delete 可以配合where条件。



鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

现在注册,免费体验多款产品