SQL的基本操作Word文件下载.docx
- 文档编号:22234590
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:19
- 大小:26.26KB
SQL的基本操作Word文件下载.docx
《SQL的基本操作Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQL的基本操作Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
Binary数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)]是n位固定的二进制数据。
其中,n的取值范围是从1到8000。
其存储窨的大小是n+4个字节。
Varbinary[(n)]是n位变长度的二进制数据。
其存储窨的大小是n+4个字节,不是n个字节。
在Image数据类型中存储的数据是以位字符串存储的,不是由SQLServer解释的,必须由应用程序来解释。
例如,应用程序可以使用BMP、TIEF、GIF和JPEG格式把数据存储在Image数据类型中。
(2)字符数据类型
字符数据的类型包括Char,Varchar和Text。
字符数据是由任何字母、符号和数字任意组合而成的数据。
Varchar是变长字符数据,其长度不超过8KB。
Char是定长字符数据,其长度最多为8KB。
超过8KB的ASCII数据可以使用Text数据类型存储。
例如,因为Html文档全部都是ASCII字符,并且在一般情况下长度超过8KB,所以这些文档可以Text数据类型存储在SQLServer中。
(3)Unicode数据类型
Unicode数据类型包括Nchar,Nvarchar和Ntext。
在MicrosoftSQLServer中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。
在SQLServer安装过程中,允许选择一种字符集。
使用Unicode数据类型,列中可以存储任何由Unicode标准定义的字符。
在Unicode标准中,包括了以各种字符集定义的全部字符。
使用Unicode数据类型,所战胜的窨是使用非Unicode数据类型所占用的窨大小的两倍。
在SQLServer中,Unicode数据以Nchar、Nvarchar和Ntext数据类型存储。
使用这种字符类型存储的列可以存储多个字符集中的字符。
当列的长度变化时,应该使用Nvarchar字符类型,这时最多可以存储4000个字符。
当列的长度固定不变时,应该使用Nchar字符类型,同样,这时最多可以存储4000个字符。
当使用Ntext数据类型时,该列可以存储多于4000个字符。
(4)日期和时间数据类型
日期和时间数据类型包括Datetime和Smalldatetime两种类型。
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括“4/01/9812:
15:
00:
00PM”和“1:
28:
29:
01AM8/17/98”。
前一个数据类型是日期在前,时间在后一个数据类型是霎时间在前,日期在后。
在MicrosoftSQLServer中,日期和时间数据类型包括Datetime和Smalldatetime两种类型时,所存储的日期范围是从1753年1月1日开始,到9999年12月31日结束(每一个值要求8个存储字节)。
使用Smalldatetime数据类型时,所存储的日期范围是1900年1月1日开始,到2079年12月31日结束(每一个值要求4个存储字节)。
日期的格式可以设定。
设置日期格式的命令如下:
SetDateFormat{format|@format_var|
其中,format|@format_var是日期的顺序。
有效的参数包括MDY、DMY、YMD、YDM、MYD和DYM。
在默认情况下,日期格式为MDY。
例如,当执行SetDateFormatYMD之后,日期的格式为年月日形式;
当执行SetDateFormatDMY之后,日期的格式为日月有年形式
(5)数字数据类型
数字数据只包含数字。
数字数据类型包括正数和负数、小数(浮点数)和整数。
整数由正整数和负整数组成,例如39、25、0-2和33967。
在MicrsoftSQLServer中,整数存储的数据类型是Int,Smallint和Tinyint。
Int数据类型存储数据的范围大于Smallint数据类型存储数据的范围,而Smallint据类型存储数据的范围大于Tinyint数据类型存储数据的范围。
使用Int数据狗昔存储数据的范围是从-2147483648到2147483647(每一个值要求4个字节存储空间)。
使用Smallint数据类型时,存储数据的范围从-32768到32767(每一个值要求2个字节存储空间)。
使用Tinyint数据类型时,存储数据的范围是从0到255(每一个值要求1个字节存储空间)。
精确小娄数据在SQLServer中的数据类型是Decimal和Numeric。
这种数据所占的存储空间根据该数据的位数后的位数来确定。
在SQLServer中,近似小数数据的数据类型是Float和Real。
例如,三分之一这个分数记作。
3333333,当使用近似数据类型时能准确表示。
因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。
(6)货币数据表示正的或者负的货币数量。
在MicrosoftSQLServer中,货币数据的数据类型是Money和Smallmoney。
Money数据类型要求8个存储字节,Smallmoney数据类型要求4个存储字节。
(7)特殊数据类型
特殊数据类型包括前面没有提过的数据类型。
特殊的数据类型有3种,即Timestamp、Bit和Uniqueidentifier。
Timestamp用于表示SQLServer活动的先后顺序,以二进投影的格式表示。
Timestamp数据与插入数据或者日期和时间没有关系。
Bit由1或者0组成。
当表示真或者假、ON或者OFF时,使用Bit数据类型。
例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。
Uniqueidentifier由16字节的十六进制数字组成,表示一个全局唯一的。
当表的记录行要求唯一时,GUID是非常有用。
例如,在客户标识号列使用这种数据类型可以区别不同的客户。
2.用户定义的数据类型
用户定义的数据类型基于在MicrosoftSQLServer中提供的数据类型。
当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。
例如,可定义一种称为postal_code的数据类型,它基于Char数据类型。
当创建用户定义的数据类型时,必须提供三个数:
数据类型的名称、所基于的系统数据类型和数据类型的可空性。
(1)创建用户定义的数据类型
创建用户定义的数据类型可以使用Transact-SQL语句。
系统存储过程sp_addtype可以来创建用户定义的数据类型。
其语法形式如下:
sp_addtype{type},[,system_data_bype][,'
null_type'
]
其中,type是用户定义的数据类型的名称。
system_data_type是系统提供的数据类型,例如Decimal、Int、Char等等。
null_type表示该数据类型是如何处理空值的,必须使用单引号引起来,例如'
NULL'
、'
NOTNULL'
或者'
NONULL'
。
例子:
Usecust
Execsp_addtypessn,'
Varchar(11)'
"
NotNull'
创建一个用户定义的数据类型ssn,其基于的系统数据类型是变长为11的字符,不允许空。
Execsp_addtypebirthday,datetime,'
Null'
创建一个用户定义的数据类型birthday,其基于的系统数据类型是DateTime,允许空。
Usemaster
Execsp_addtypetelephone,'
varchar(24),'
Eexcsp_addtypefax,'
varchar(24)'
'
创建两个数据类型,即telephone和fax
(2)删除用户定义的数据类型
当用户定义的数据类型不需要时,可删除。
删除用户定义的数据类型的命令是sp_droptype{'
type'
}。
Execsp_droptype'
ssn'
注意:
当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。
2.数据库的相关操作
1.如何创建数据库
(1).使用CreateDatabase创建数据库
CreateDatabase语名的语法形式如下:
CreateDatabasedatabase_name
[On
{[Primary](Name=logical_file_name,
Filename='
os_file_name'
[,Size=size]
[,Maxsize=max_size]
}[,...n]
]
[LogOn
}(Name=Logical_name,
[,Size=size])
[ForRestore]
注释:
Primary:
该选项是一个关键字,用来指定主文件组中的文件。
主文件组不公包含了数据库系统表中的全部内容,而且还包含了没有在用户文件组中包含的全部对象。
一个数据库只能有一个主文件。
在默认情况下,即在没有指定Primary关键字时,列在语句中的第一个文件就是主文件。
Name:
该选项指定数据库的逻辑名字,这是在SQLServer系统中使用的名称,是数据库在SQLServer中标识符。
Filename:
该选项用来指定数据库所在文件的操作系统文件名称和路径。
在os_file_name中的路径必须是SQLServer所在服务器上的一个文件夹。
该操作系统文件名称与Name的逻辑名称是一一对应的。
Size:
该选项用来指定数据库操作系统文件的大小。
在指定文件大小的时候,既可以使用MB单位,也可以使用KB单位。
如果没有指定单位,那么系统默认的单位是MB。
文件最小是1MB,也就是说,数据库所在的文件不能小于1MB。
在默认情况下,数据库数据文件的大小是3MB,数据库日志文件的大小是1MB。
Maxsize:
该选项用来指定操作系统文件可以增长的最大尺寸。
在指定文件增长尺寸的时候,既可以使用MB单位,也可以使用KB单位。
如果没有指定单位,那么系统的默认单位是MB。
如果没有指定文件可以增长的最大尺寸,那么系统的增长是没有限制的,可以占满整个磁盘空间。
FielGrowth:
该选取项用来指定文件的增量,当然该选项不能与Maxsize选项有冲突。
该选项指定的数据值为零时,表示文件不能增长。
该选项可以用MB、KB和百分比指定。
创建一个cust数据库,该数据库的主数据文件的逻辑名称是cust_data,操作系统文件是cust.mdf,大小是15MB,最大是30MB,以20%的速度增加;
该数据库的日志文件的逻辑名称是cust_log,操作系统是cust.ldf,大小是3MB,最大是10MB,以1MB的速度增加。
CreateDatabasecust
On
Primary(Name=cust_data,
d:
\cust.mdf'
Size=15MB,
Maxsize=30MB,
Filegrowth=20%)
LogOn
(Name=cust_log,
\cust.ldf'
Size=3MB,
Maxsize=10MB,
FileGrowth=1MB)
2.如何增加数据库的大小
(1).使用AlterDatabase命令来增加数据库文件的大小
如果在创建数据库文件时没有配置文件的大小自动增长,那么可以使用AlterDatabase命令来增加文件的大小。
将数据库cust的数据文件cust_data的大小调整为50MB。
AlterDatabasecust
ModifyFile(Name='
cust_data'
Size=50)
(2).使用AddFile增加一个次要文件
通过为数据库增加次要的数据文件和日志文件来增加数据库的大小。
AddFile
(Name=cust_data2,Filename='
\cust2.mdf'
Size=5MB,
Filegrowth=10%)
3.压缩数据库和数据文件
(1)使用DbccShrinkdatabase命令压缩整个数据库
将cust数据库的大小压缩到10%
DbccShrinkdatabase(cust,10)
(2)使用DbccShrinkFile命令压缩数据库中的某一个数据文件
将cust数据文件的大小压缩到5MB
DbccShrinkFile(cust,5)
4.删除数据库
(1)使用Drop命令删除数据库
将删除cust数据库
DropDatabasecust
3.表的相关操作
1.创建表
(1)用CreateTable命令创建表
语法:
CreateTabletabl_name
({
}column_nameAscomputed_column_expression
}
)
[On{fiegroup|Default}]
[Textimage_On{fiegroup|Default}]
打开cust数据库,创建一个表,该表包含了学生的有关信息,即有学号、姓名、性别、出生日期、籍贯、联系电话、住址和备注信息。
CreateTablestudents
(
numberintnotnull,
namevarchar(10)notnull,
sexchar
(2)null,
birthdaydatetimenull,
hometownvarchar(30)null,
telphone_novarchar(12)null,
addressvarchar(30)null,
othersvarchar(50)null
在这个表中number表示学生代号,数据类型为int,不允许为空;
name表示学生姓名,数据类型为varchar,长度为10,不允许为空;
sex表示学生的性别,数据类型为char,长度为2,允许为空;
birthday表示学生的出生日期,数据类型为datetime,允许为空;
hometown表示学生的籍贯,数据类型为varchar,长度为30,允许为空;
telephone_no表示学生的联系电脑,数据类型为varchar,长度为12,允许为空;
address表示学生的住址,数据类型为varchar,长度为30,允许为空;
others表示学生的备注信息,长度为50,允许为空。
2.修改表的结构
(1)使用T-SQL语句增加和删除一个新列
AlterTabletable
{
ADO
{[]
|colun_nameAscomputed_column_expression
|[]
|Drop
{Columncolumn
打开cust数据库,修改其中的表students的结构,增加一个新字段,字段名为ying,数据类型是varchar,长度是10,没有默认值,充许为空。
AlterTablestudentsAddyingvarchar(10)null
打开cust数据库,修改其中的表students的结构,删除一个字段,字段名为ying。
AlterTablestudentsDropColumnying
3.向表中插入数据
(1)用Insert语句
语法如下:
Insert[Into]
{table_name|view_name}[(column_list)]
{Values|values_list|select_statement}
在插入数据时,字符数据和日期数据要使用引号引起来。
InsertIntostudents
Values(11,"
影子"
男"
1999-12-12"
湖北"
83779805"
武汉市桥口区"
VB爱好者"
)
打开cust数据库,向students表中插入数据
(2)用Default选项
在插入数据时,可以使用Default选项。
Default选项有两种形式,一种形式是DefaultValues,另一种是Default。
DefaultValues形式为表中的某一行的所有列插入默认值。
使用这种形式的前提条件是表中的所有列必须是这四种类型之一:
Identity属性,Timestamp数据类型,允许为Null,或者有一个指定的默认值。
否则,会错误信息。
InsertIntostudentsDefaultValues
这个例子会出现错误,因为students表的number字段是设置为不允许为空的。
Default形式是为表中的某一列插入默认值。
要插入的该列必须具备一定的条件,即该列要么是Timestamp数据类型,要么是允许为Null,要么是有一个指定的默认值,否则,会出现错误信息。
InsertIntostudentsValues(11,"
Default,Default,Default,Default,Default,Default)
由天前2个字段不能为空,所以要赋值,否则会出现错误,而后面的6个字段允许为空,因此可以调用Default默认。
(3)插入部分数据
在使用Insert语句插入数据是,还可以插入部分数据,也就是可以为每一行的指定的部分列插入数据。
在插入部分数据时,应该注意以下三个问题:
☆在Insert子句中,指定要插入数据的列名。
☆在Values子句中,列出与列名对应的数据。
列名的顺序和数据的顺序应该完全对应。
☆在Insert子句中,没有列出的列应该至少具有这四种类型之一:
Identtty属性,Timestamp数据类型,允许为Null,或者有一个指定的默认值。
否则,会出现错误信息。
InsertIntostudents(number,name)
Values(110,"
打开cust数据库,向students表中插入一行数据
如用下例语句将发生错误,因为name字段是不允许为空的(在创建数据库时设定的)
InsertIntostudents(number)
Values(110)
(4)用Select语句插入多条数据
Insert语句插入数据的特点是每一次只能插入一行数据。
相反,Select也可以用在Insert语句中,并且可以一次插入多条数据。
使用Select语句插入数据的语法形式如下:
Inserttable_name
Selectcolumn_list
Fromtable_list
Wheresearch_conditions
在使用Select语句插入数据时,应该注意下面几点:
☆在Insert语句中使用Select时,他们参考的表既可以是相同的,也可以是不同的。
☆要插入数据的表必须已经存在。
☆要插入数据的表必须和Select的结果集兼容。
兼容的含义是列的数量和顺序必须相同,列的数据类型或者相同,或者SQLServer可以自动转换。
Insertstudents
Selectnumber,name,sex,birthday,home
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 基本 操作