学生信息管理系统之数据库话语解析
学生信息管理系统之数据库语句解析
OBJECTPROPERTY:返回当前数据库中对象的有关信息。

前半部份:指UNICOADE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则
学生信息管理系统的数据库创建的语句基本只有三种: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
[User_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL ,
)on [PRIMARY]
Go
问题1:
collate是什么意思?
collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。
语法为:
collate_name是应用于表达式列定义或数据库定义的排序规则的名称,collation_name 可以只是指定的 Windows_collation_name 或SQL_collation_name,前者是Windows 排序规则的排序规则名称参见 Windows 排序规则
名称,而SQL_collation_name是SQL 排序规则的排序规则名称参见 SQL 排序规则名称
问题2:
Chinese_PRC_CS_AI_WS又是什么呢?前半部份:指UNICOADE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则
排序规则的后半部份即后缀含义:
_BIN 二进制排序
_CI(CS) 是否区分大小写,CI不区分,CS区分
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项
_AI(AS) 是否区分重音,AI不区分,AS区分
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项如果选择该选项,比较还 将重音不同的字母视为不等
_KI(KS) 是否区分假名类型,KI不区分,KS区分
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项
_WI(WS) 是否区分宽度 WI不区分,WS
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项
- 9楼leimengyuanlian1小时前
- 厉害,学习了
- 8楼linlin802306191小时前
- 发现问题,解决问题[e04]
- 7楼liutengteng130昨天 19:35
- 学习了,加油。
- 6楼hejingyuan6昨天 13:20
- 学习了
- Re: dandanzmc昨天 14:33
- 回复hejingyuan6嗯
- 5楼lfmilaoshi昨天 11:36
- 继续就好。。。点点滴滴的积累带来巨大的变化。。米老师
- Re: dandanzmc昨天 11:45
- 回复lfmilaoshi嗯,米老师,什么时候回来啊?
- 4楼wangyongxia921昨天 11:27
- 强悍!
- Re: dandanzmc昨天 11:30
- 回复wangyongxia921你才是
- 3楼lidaasky昨天 11:00
- 补充了很多知识漏洞,学习了
- Re: dandanzmc昨天 11:00
- 回复lidaasky呵呵,谢谢师哥
- 2楼jiuqiyuliang昨天 10:28
- 代码写在文章的内置代码里
- Re: dandanzmc昨天 10:48
- 回复jiuqiyuliang[/reply当时我觉得那样不好看,所以才~~~~~~~
- 1楼song_mou_xia昨天 10:18
- 学习了。。。加油!!
- Re: dandanzmc昨天 10:21
- 回复song_mou_xia嗯