sql server 数据库表、库查询操作

关于查询SQL Server数据库表信息的操作如下:

1、根据表名查询表里面的所有字段:

select name from syscolumns where id=object_id('表名');

2、根据1中的sql可扩展以下语句:

select count(name) from syscolumns where id= object_id('表名');

3、根据数据库的名称查询该数据库中所有表名

select name from  syscolumns where xtype='数据库名称';

4、将数据表中的列字段值数据中的小写字母修改成大写

update  tableNmae set columnsNam=upper(columnsNam);

5、编写存储过程的时,需要添加的参数是个字符串需要转义时的写法

CREATE PROCEDURE dbo.ProTest
@str NVARCHAR(200)--字段信息、程序所选的表头信息
AS
BEGIN
DECLARE @sqlStr NVARCHAR(200)='SELECT LEN('''+@str+''')';
EXEC(@sqlStr);
END

GO

EXEC dbo.ProTest '哈哈哈哈哈'

当然,sqlsqerver串中使用两个单引号转义成一个单引号的。

6、SqlServer跨服务器操作执行:

第一步:连接登录服务器

exec sp_addlinkedserver   'myserver', ' ', 'SQLOLEDB ', '数据库服务器ip地址' 
exec sp_addlinkedsrvlogin  'myserver ', 'false ',null, '用户名', '密码'

第二步,测试查询语句:

select * from [myserver].数据库名.dbo.表名

7、SqlServer数据库表字段添加索引,sql语句,如下:
  聚簇索引:

create clustered index index_name on table_name (cloumn_name);

  非聚簇索引:

create nonclustered index index_name on table_name (cloumn_name);

  唯一索引:

create unique index index_name on table_name(cloumn_name);

7.1、删除索引的方法,如下:
(可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。其中,前两条语句是等价的,删除掉table_name中的索引index_name。)

DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY

第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

8、sql语句判断数字、字母、字母,使用ASCII(field)去判断字段中值的ASCII码的值。如下:
8.1、数字ASCII码值范围:48-57

SELECT name FROM SYS.COLUMNS WHERE OBJECT_ID=OBJECT_ID('TableName') AND (ASCII(name) BETWEEN 48 AND 57) ORDER BY name ASC

8.2、字母ASCII码值范围:65-123

SELECT name FROM SYS.COLUMNS WHERE OBJECT_ID=OBJECT_ID('TableName') AND (ASCII(name) BETWEEN 65 AND 123) ORDER BY name ASC

8.3、汉字ASCII码值范围:123+

SELECT name FROM SYS.COLUMNS WHERE OBJECT_ID=OBJECT_ID('TableName') AND ASCII(name)>123 ORDER BY name ASC

9、sql中IF判断所用的或与非,如下:

或:or
与:and
非:<>(不等于)、is not null(不为空)

如果放弃太早,你永远都不知道自己会错过什么。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值