一、数据类型
1.整数数据类型: int(常用,4字节) smallint(2字节) tinyint(微小整数) bigint(8字节)
2.浮点数据类型: real float(常用) decimal(宽度,精度)
例:129.5(5,1)--值宽度为5,精度为1;宽度是值长度,包含小数点;精度是小数点后值的位数.
3.逻辑数据类型: bit (计算机默认"0"为false,"1"为true.)
4.字符数据类型:varchar(常用):8000字节,长度可变.
char:8000字节,长度固定不变,如输入之内容不足会用空格补齐.适用于像身份证、银行卡号这样固定长度的值使用.
text:无字节大小限制, 用于存储大量文本数据,但查询检索较慢. 适用于像写博客这样大量文字类型的数据使用.
nvarchar:4000字节.
nchar:4000字节.
5.日期和时间数据类型:
datetime(常用):最小值--1753 年1 月1 日零时;最大值--9999 年12 月31 日23 时59 分59 秒.
smalldatemall :最小值-- 1900 年1 月1 ;日最大值-- 2079 年6 月6 日.
PS:如输入超出范围值,将会弹出对话框显示"溢出……".
6.货币数据类型:money (特点:金融涉及到用万元、亿元做单位时,小数点后位数会比较长.)
7.二进制数据类型: (如需要对列表内容进行保密可选择二进制类型,例:银行卡密码.)
image(常用,为防止数据不兼容):可存储视频、声音及图片.
binary:储存范围较小.
8.文本和图形数据类型:text image
9.列属性:
Null:空值.
Not Null: 不能为空值.
PS:列属性常规中设置"允许Null值"为"否",即是设置列不能为空值.列数据类型为"int"前提下,在列属性中设置"标识范围"为"是",即设置列为自增长.
自增长列:按照输入值内容递增,但输入错误报错后会自动默认删除出错列,新建一列.如图:
1)当Firm列设置为不能为空值时
2)Firm列中为NULL值时系统则报错,提示不能提交12行中的信息.
3)将数据修改正确后自增长列则自动生成新一列,报错几次则跳几列,第11行后报错12次生成第23行.
二、约束.
目的:是保持数据库完整性、准确性的一种方法,定义了表列中的数据的限制条件,使数据表现的更准确更完整.
1. 主关键字约束 Primary Key Constraint --保证实体完整性
主键特点:
1)主键列内容不能重复--如重复两行内容均不可删除,因为计算机不知道要删除相同内容的哪一行(代码输入可删).
2)主键默认不可有空值
3)主键列默认自动排序
4)主键列是表中唯一能区分每一行数据的一列
5)一个表里只能有一个主键
6)主键可以由多列组成
2.外关键字约束 Foreign Key Constraint --保证引用完整性
主表与从表的关系:主表的主键约束从表的外键,主表作用是约束从表,从表则是被主表约束.
新建主表与从表关系图的方法:
1)右键点击数据库关系图,选择新建数据库关系图,添加表;右键点击从表,选择设计;右键点击外键列,选择关系;在表和列规范后点选"…";选择设置主键表名、主键、外键表名、外键,关系名根据需要填写;点击确定即可生成数据关系图.
→ → →
→ →
2)右键点击数据库关系图,选择新建数据库关系图,添加表;主表主键向外表外键拖拽即可出现上图第4、5个表格,设置,即可生成关系图.
3.惟一性约束 Unique Constraint
惟一键(候选键):虽不是主键但也同样不允许重复.
与主键的区别:
1)惟一键可以为空.
2)不会自动排序.
4.检查约束 CheckConstraint --判断填写值是否满足某个条件.
5.缺省约束 Default Constraint --如不填写值默认填写什么值.
三、语法
1.启动服务器: net start sqlserver
3.创建数据:
create database MyDB
on primary
(
Name=MyDB,
FileName="D:MyDB.MDF"
), --创建主数据文件叫MyDB,放在D盘中.
(
Name=MyDB1,
FileName="E:MyDB1.NDF"
), --创建次数据文件叫MyDB1,放在E盘中.
log on
(
Name="MyDB_Log",
FileName="E:MyDB.Log"
) --创建MyDB的日志文件,放在E盘中.
4.打开数据库
use MyDB
use master
5.修改数据
alter database MyDB --修改MyDB数据库
add file --添加file文件
(
Name="MyDB2", --创建次数据文件叫MyDB1.
)
6.删除数据库
drop database mydb
7.查看数据库的信息8.重命名数据库
sp_renamedb 'NewMyDB','MyDB'
9.创建表
create table Login
(
UserName varchar(20) primary key, --建主键.
Password varchar(20) not null, --不能为空值.
Name varchar(20) unique, --建惟一键.
Sex bit default 1, --建默认约束(缺省约束).
Birthday datetime check(birthday>'1900-1-1') --建检查约束.
)
10.修改表
alter table Login Add Money float --添加
alter table login drop column Money --删除
alter table Login alter column Money Real --修改
11.删除表
drop table Login