目录
一、准备工作
二、通过图形化界面创建表及约束
2.1.新建数据库及删除数据库
2.2.往表内插入数据
2.3.设置主键约束
2.4.设置主外键约束
2.5.设置标识列
2.6.设置唯一约束
2.7.设置默认值约束
2.8.设置检查约束
2.9.设置约束不能保存的问题
三、用sql语句创建表及约束
四、常用的数据类型
五、数据库的基本语法
5.1.数据库
5.2.表
5.3.往表内插入数据
1.找到 SQL Server 配置管理器;
2.点开第二个,查看 TCP/IP 是否已启用;
3.点开第三个,查看 TCP/IP 是否已启用;
4.然后点开第一个,查看 SQL Server(MSSQLSERVER) 是否是启动状态,如果没有启动就重新恢复为启动模式;
5.最后就可以进入 SQL Server 输入 登录名 和 密码 进行连接了。
1.1.新建数据库:数据库 右键 -> 新建数据库
填写 数据库名称(M):
1.2.删除数据库:
选中你想要插入数据的表,右键 编辑前 200 行(E)
单词:primary key
1. 表 -> 设计(G)
2.在你想要设置主键的位置 右键 -> 设置主键(Y)
同理,取消主键也是以 右键 进行操作。
单词:foreign key
例:我有一个A表(学生表),为了方便演示就没有按照规范命名了;
一个B表(学生成绩表);
它们的ID都设置为了主键。
图解:
设置主外键需要注意的点:
1. A 表的外键通常指向 B 表的主键;
2. A 表中外键列的值只能是 B 表中主键的值,数据要一样。(确保了数据的完整性)
1. 表 -> 设计(G)
2.在A表(学生表)的 AchievementID 上面 -> 右键 关系(H)...
3.选择 添加(A) -> 表和列规范
4.第一个:主键表(P): B 表(学生成绩表)
字段: B 表的 主键ID
第二个:外键表(默认不用选): A 表(学生表)
字段: A 表的 外键AchievementID
(综合上面所讲,A表的外键通常指向B表的主键)
全部完成之后 -> 确定
5.按下 Ctrl + S 保存 -> 是(Y)
6.然后展开A表(学生表)的键,就可以看到外键约束已经添加成功了
补充:通过sql语句创建主外键约束
alter table A
add constraint FK_A_AchievementID_B_ID
foreign key (AchievementID) references B (ID);
单词:idenetity
1. 表 -> 设计(G)
2.点击你想要设置标识列的字段,打开 标识规范,选择 (是标识) ,双击,变成 是
单词:unique
1. 表 -> 设计(G)
2.在你想要设立唯一约束的字段上 右键 -> 索引/键(I)...
3.选择 添加(A)
4.选择 列
5.点击右边的三个小点点
6.选择要设置唯一的字段 -> 确定
7.点击 是唯一的 ,下拉框把 否 改成 是 -> 关闭
单词:default
1. 表 -> 设计(G)
2.选中你想要设置默认值的字段,在 默认值或绑定 这里填写你要设置的默认值
单词:check
1. 表 -> 设计(G)
2. 右键 -> CHECK 约束(O)...
3.点击 添加(A)
4.在表达式这里写约束条件 -> 关闭
当你设置了约束之后却不能保存的时候,有可能是系统自动勾选了阻止保存要求重新创建表的更改 ,你可以:
1. 工具 -> 选项(O)...
2.找到 Designers -> 把 阻止保存要求重新创建表的更改(S) 的勾选取消 -> 确定
sqlserver的七大约束:
1.primary key 主键约束;
2.foreign key 外键约束;
3.not null 非空约束;
4.default(默认值) 默认值约束;
5.unique 唯一约束;
6.check( 约束条件) 检查约束;
7.identity 自增约束;
例:identity(1,1)前面表示从1开始,后面表示每次增长1。
创建表
create table b(
1.主键约束:primary key
2.自增约束(标识列):identity(1,1)
默认(1,1),也可以不写,可以直接 identity
例:id int primary key identity(1,1),
3.唯一约束:unique
例:name varchar(20) unique,
4.检查约束:check(约束条件)
5.非空约束:not null
例:sex varchar(4) check(sex = '男' or sex = '女') not null,
6.检查约束:check(约束条件)
例:age int check(age >= 18 and age <= 60),
7.默认值约束:defaule '默认值'
例:likes varchar(50) default '没有'
)
默认值约束的不同写法:
1.加 ()
default('您还没有填写任何简介哦~')
default(18)
2.不加 ()
default '您还没有填写任何简介哦~'
default 18
字符串:1.char(固定长度)
2.varchar(可变长度)
释义: 1.例:char(10),固定长度就是10,存储4个字符也会占用10个字节的空间,后面会补空格。
2.例:varchar(10),存储4个字符只会占4个字节的空间,存储的字符是多少长度实际长度就是多少。(在数据存储中英文字母和数字占一个字节,汉字占两个字节)
3.text:存储长文本信息
整数:1.int
小数:1.float
2.decimal(数字1,数字2)
例如: decimal(10,2),表示存储最大总长度10位,保留2位小数位。
1.新建数据库:
create database db_test(数据库名);
2.删除数据库
drop database db_test(数据库名);
3.指定使用的数据库
use db_test(数据库名);
1.查询表
select * from b(表名);
2.删除表
drop table b(表名);
3.清空表里面的数据
truncate table b(表名);
delete from b(表名);
注意:上面两种语法意思一样,都是对表里面的数据进行清除。
但是,第一个是清除之后标识列的数字会重头开始;
第二个清除之后标识列的数字不会重头开始,会接你清除后的数字开始。
方式一
insert into b(字段名称1,字段名称2,字段名称3) values('值1','值2',值3);
例:
insert into b(name,sex,age) values('王小Q','女',50);
insert into b(name,sex,age) values('周大傻','男',50);
...
方式二
insert into b(字段名称1,字段名称2,字段名称3)
select '值1','值2',值3 union all
select '值1','值2',值3 union all
select '值1','值2',值3例:
insert into b(name,sex,age)
select '哈哈','男',30 union all
select '呵呵','女',50 union all
select '雷雷','男',18
注意:最末尾不用加 union all
补充:如果你的表已经建好了,不想要删表重建的话,也可以在表创建好的情况下添加约束。
标识列:
alter table <表名> add <标识字段> int identity(1,1)
主键约束:
alter table <表名> add constraint pk_<字段名> primary key (<字段名>)
唯一约束:
alter table <表名> add constraint uq_<字段名> unique (<字段名>)
检查约束:
alter table <表名> add constraint ck_<字段名> check(<约束内容>)
默认值约束:
alter table <表名> add constraint df_<字段名> default <默认值内容> for <字段名>
完。