关于查询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(不为空)
如果放弃太早,你永远都不知道自己会错过什么。