设为首页 收藏本站
查看: 660|回复: 0

[经验分享] sql server学习笔记一

[复制链接]

尚未签到

发表于 2016-10-30 10:04:33 | 显示全部楼层 |阅读模式
  创建数据库
CREATE DATABASE [EBuy] ON PRIMARY
(
NAME = N'dbname',
FILENAME = N'C:\database\dbname.mdf' ,
SIZE = 3072KB ,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB
)LOG ON
(
NAME = N'dbname_log',
FILENAME = N'C:\database\dbname_log.ldf' ,
SIZE = 1024KB ,
MAXSIZE = 2048GB ,
FILEGROWTH = 10%)


没有指定主文件和日志文件,默认情况下,命名主文件为dbname.mdf,日志文件为dbname.ldf。而主文件和日志文件的大小Model数据库的主文件和日志文件的大小相同,由于没有指定主文件和日志文件的最大长度,所以主文件和日志文件都可以自由增长知道充满整个磁盘空间。




修改数据库
ALTER DATABASE EBuy ADD FILE
(
NAME = columnName,
FILENAME = ‘E:\database\dbname_add.ldf’,
SIZE = 10MB,
MAXSIZE = 100MB,
FILEGROWTH =5MB
)




删除数据库
DROP DATABASE EBuy


SQL Server 2000中的每个数据库由多个操作系统文件组成,数据库中所有的数据、对象和数据库操作日志均存储在这些操作系统文件中。它们分别为:
主数据库文件(Primary Database File)
数据库文件是存放数据库数据和数据库对象的文件,一个数据库可以由一个或多个数据库文件,一个数据库文件只能属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(主文件),其扩展名为mdf。
主数据库文件的功能:用于存储数据库的启动信息以及部分或全部数据,同时包含了指向其他数据库的指针。是所有数据库文件的起点。一个数据库只能有一个主数据库文件。
辅助数据库文件(Secondary Database File)
用于存储数据库文件中未存储的剩余的数据和数据库对象,一个数据库可以没有辅助数据库文件,但可以同时拥有多个辅助数据库文件。
辅助数据库的存在原因:可以在不同的物理磁盘上创建辅助数据库文件并将数据库存储在文件中,这样可以提高数据处理的效率。其次当数据庞大时,如果主数据库文件的大小超过操作系统对单一文件大小的限制,则此时便需要使用辅助数据库文件来存储数据。
辅助数据库文件的扩展名: ndf。
事务日志文件
功能:存储数据库的更新情况等事务日志信息。
工作范围:当进行对数据库内容有影响的操作时,操作都会存储在事务日志文件中。
作用:当数据库损坏时,管理员使用事务日志恢复数据库。
每个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名未ldf,日志文件的大小至少是512KB。




数据类型
类型 说明
bit 整型,其值只能是0、1或空值。
int 整型,占4个字节
smallint 整型,占2个字节
tinyint 整型,占1个字节
decimal 精确数值型,使用时必须指定范围和精度,例:decimal(7,2)
numeric 精确数值型,与decimal 型相同
money 货币型,用来表示钱和货币值。能存储从-9220亿到9220 亿之间的数据
smallmoney 货币型,能存储从-214748.3648 到214748.3647 之间的数据
float 近似数值型,供浮点数使用
real 近似数值型
datetime 日期时间型,取值:1753-1-1~9999-12-31
smalldatetime 日期时间型,取值:1900-1-1~2079-6-6
timestamp 特殊数据型,用来创建一个数据库范围内的唯一数码。
char 字符型,用来存储定长的非统一编码型的字符数据。列宽最大为8000 个字符
varchar 字符型,用来存储变长的非统一编码型的字符数据。列宽最大为8000 个字符
text 字符型,用来存储大量非统一编码型字符数据。最多可以有近20亿个字符
nchar 定长统一编码字符型(统一编码是用双字节结构来存储每个字符),能存储4000个字符
nvarchar 变长统一编码字符型,能存储4000个字符
ntext 变长统一编码字符型,能存储近10亿个字符
binary 二进制数据类型,存储可达8000 字节长的定长的二进制数据
varbinary 二进制数据类型,存储可达8000 字节长的变长的二进制数据
image 二进制数据类型,存储变长的二进制数据,最大可达近20亿个字节






创建数据库表
CREATE TABLE [数据库名称.][表的属主.]自定义表名
(
自定义列名1 列类型及大小 列的约束,
.
.
自定义列名n 列类型及大小 列的约束,
)


添加新列
ALTER TABLE  [数据库名称.][表的属主.]表名
ADD 新加的列名 列类型 列约束


修改列属性
ALTER TABLE  [数据库名称.][表的属主.]表名
ALTER COLUMN 原列名 新列类型 新列约束


删除列
ALTER TABLE  [数据库名称.][表的属主.]表名
DROP COLUMN 原列名


删除表
DROP TABLE 表名




数据库的完整性约束


数据完整性包括:
1 实体完整性
UNIQUE 约束
PRIMARY KEY 约束
IDENTITY 属性
2 域完整性
限制类型(通过数据类型)
可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义)
3 参照完整性
FOREIGN KEY 约束
CHECK 约束 4 用户自定义完整性


约束:
主键约束(PRIMARY KEY)
语法格式:[CONSTRAINT <: 约束名>] PRIMARY KEY [(列名表)]
自动增长
IDENTITY [ ( seed , increment ) ]
参数说明:
seed—表的第一行所使用的值
increment—增量值


外键约束(FOREIGN KEY)
[CONSTRAINT<: 约束>] FOREIGN KEY (<列表名1>)REFERENCES
<引用表名>[(列名表2)] [ON DELETE<RESTRICT|CASCADE|SET NULL>]


唯一约束(UNIQUE)
[CONSTRAINT <: 约束名>] UNIQUE [(列名表)] 检查约束(CHECK)


缺省约束(DEFAULT)
[CONSTRAINT <: 约束名>] DEFAULT <默认值> FOR [(<列名>)]


check约束
[CONSTRAINT<:约束名>] CHECK(<条件>)


非空约束
[CONSTRAINT <: 约束名>] NOT NULL






示例代码如下:


CREATE TABLE dbo.orders(
OrdID int NOT NULL,
CusID varchar (20) NOT NULL,
ComID int NOT NULL,
Amount int NOT NULL,
PayAmount decimal (10, 2) NOT NULL,
PayWay varchar (50) NOT NULL,
DTime datetime NOT NULL,
IsAfirm varchar (1) NULL,
IsSendGoods varchar (1) NULL,
FOREIGN KEY (CusID) REFERENCE customer(CusID)
)




修改数据库表语法规则如下:
ALTER TABLE 表名
[ADD 子句]
[ALTER COLUMN 子句]
[DROP 子句]
[ADD CONSTRAINT 子句]
[DROP CONSTRAINT 子句]

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-293267-1-1.html 上篇帖子: SQL Server 之 游标 下篇帖子: Sql Server字符串函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表