1.需求 create table ta(id int);create table tb(id int);insert into ta values(1);insert into ta values(2);insert into ta values(3);insert into tb values(1);insert into tb values(1); --假如tb表中记录可以重复select * from ta ;想知道ta的每条记录是否在tb表中存在.比如查询结果为:0为不存在.id
--查询nvarchar(max)的表和字段 select 'insert into #tempTabelInfo select '''+d.name+''', '''+a.name+''', max(len('+a.name+')) as '+d.name+'的'+a.name+' from '+d.name+' with(nolock) ' , d.name as tabelname,a.name,b.name FROM syscolumns a, systypes b,sysobject
SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空 a.colorder as 字段序号, a.name as 字段名, (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity'
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='subject' --表名 1.利用sysobjects系统表 在这个表中,在数据库中创建的每个对象(例如约束.默认值.日志.规则以及存储过程)都有对应一行,我们在该表中筛选出xtype等于U的所有记录,就为数据库中的表了. 示例语句如下: select * from sysobjects where xtype='U' 注意:在SQL SERVER2005中,出现了sys.ob
有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了: ERROR: syntax error at or near "limit" MySQL解决方法: 在MySQL中需要添加 `` create table `order` (id int, `limit` int); # 由于order和limit都是MySQL中的关键字,必须加上``才能使用 PostgreSQL解决方法: 在PostgreSQL中需要添加 "" creat
from master..sysdatabases where name='TestDB') print 'TestDB存在'else print 'TestDB不存在' --判断表[TestTb]是否存在if exists(select * from TestDB..syscolumns where id=object_id('TestDB.dbo.TestTb')) print '表TestTb存在'else print '表TestTb不存在' --判断[TestD
查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHEMA.TABLES查询表的所有字段名:SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )SELECT * FROM INFORMATION_SCHEMA.TABLESSELECT * FROM INFORMATION_SCHEMA.VIEWS
用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type24.创建数据库 CREATE DATABASE database-name 25.