学生信息管理系统之数据库语句解析
学生信息管理系统的数据库创建的语句基本只有三种:select选择语句、create创建语句、drop删除语句。
下面这些是对学生信息管理系统的数据库中的一些语句的理解:
分析语句一:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user_info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
问题1:
object_id函数如何理解?N是什么意思?
OBJECT_ID:返回数据库对象标识号。
N:是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(user_info)。
问题2:
OBJECTPROPERTY(id, N'IsUserTable') = 1中的OBJECTPROPERTY函数是什么意思?=1又是什么意思?
OBJECTPROPERTY:返回当前数据库中对象的有关信息。
1:表“真”。同样可以写成OBJECTPROPERTY(id, isUserTable) = 1。 整条语句的意思是判断数据库里有没 有存在user_info这样一张表。
问题3:
dbo.sysobjects是什么?
dbo.sysobjects:网上一般说是一张系统表,其实,这是一张视图。每个数据库都会有这么一张视图,我们可以方便的从这里面找出该数据库的相关信息。同样dbo.sysdatabases在系统视图中也能找到。
分析语句二:
create table [dbo].[User_Info](
[User_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL ,
)on [PRIMARY]
Go
问题1: