我用的是 MSSQL 2005 请问下 用SQL语句 数据库查询某个表是不是存在不存在则创建这个表,该怎么写。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用的是 MSSQL 2005 请问下 用SQL语句 数据库查询某个表是不是存在不存在则创建这个表,该怎么写。相关的知识,希望对你有一定的参考价值。

参考技术A use databasename
go
if exists(select name from sysobjects where name='tablename')
create table word_table(创建的表的所有属性)
go
--databasename就是你的数据库的名称
--tablename就是你的数据库下面的表的名称
参考技术B IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[a1]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[a1](
[a] [int] NOT NULL,
[b] [nchar](10) NULL,
[c] [int] NULL,
CONSTRAINT [PK_a1] PRIMARY KEY CLUSTERED
(
[a] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END本回答被提问者采纳

java用prepareStatement模糊查询问题,用的是sql server,我晕了

我用的是sql server 2005(记得),我看过网上介绍的这种方法,都是不行的,大哥们,有其他方法吗?急啊,用prepareStatement模糊查询这么难吗,我要是sql server 的方法
public List queryByLike(String cond) throws Exception
List all = new ArrayList() ;
String sql = "SELECT * FROM note WHERE title LIKE ? or AUTHOR LIKE ? or CONTENT LIKE ?" ;
PreparedStatement pstmt = null ;
DataBaseConnection dbc = null ;
dbc = new DataBaseConnection() ;
try

pstmt = dbc.getConnection().prepareStatement(sql) ;
pstmt.setString(1,"%"+cond+"%") ;//这里已经按照网上大部分去做的,我晕了
pstmt.setString(2,"%"+cond+"%") ;
pstmt.setString(3,"%"+cond+"%") ;

编码方面我已经检查了很多遍,没有问题的。
pstmt.setString(1,"'%"+cond+"%'") ;
pstmt.setString(2,"'%"+cond+"%'") ;
pstmt.setString(3,"'%"+cond+"%'") ;

这个不行噢,搜索还是空白的。

String sql = "SELECT * FROM note WHERE title LIKE ? or AUTHOR LIKE ? or CONTENT

pstmt.setString(1,"%"+cond+"%") ;//这里设置的表的字段 及那个(问号)
或者表里没又那些数据
参考技术A pstmt.setString(1,"'%"+cond+"%'") ;
pstmt.setString(2,"'%"+cond+"%'") ;
pstmt.setString(3,"'%"+cond+"%'") ;
================补充
如果你换成了我上面的代码,而且你确定数据库里有你这样查询的记录,你这样查询还是查询不到,那就可能是乱码
参考技术B 提示什么错误?

另外我觉得cond应该是包含三个值吧。因为where 有三个条件
要么需要传三个参数,要么需要将cond拆分成三个值,比如类似:
"1^2^3^"这样的值,那么就把1、2、3分别传给where 的三个条件

那就是你的参数传错了,你把三个参数都传成了cond值,
肯定差不出任何结果
你上面定义的 List all = new ArrayList() ;
很有可能就是用来拆分cond用的。
参考技术C 简单,

以上是关于我用的是 MSSQL 2005 请问下 用SQL语句 数据库查询某个表是不是存在不存在则创建这个表,该怎么写。的主要内容,如果未能解决你的问题,请参考以下文章

请问怎样设置SQL Server 2000,使其能支持远程连接?

VS2008远程连接MSSQL2005问题

java用prepareStatement模糊查询问题,用的是sql server,我晕了

安装VS2005总是提示没有管理权限,但我用的是管理账户

我用sql server 2008 management studio 连接 sql server 2005, 提示4064错误,请问如何解决?

请问一个MSSQl数据库,如何按id批量删除记录?