SQL Server中的增删查改

  • 作者:村长
  • 发布时间:2020-04-18 19:00
  • 分类:SQL Server
  • 标签: SQL,server,增删查改
-- 第一步:先选择数据库
use MySchool

-- 第二步:先看下数据
select * from Score;

-- 先来看主键约束
/*
	唯一的值,并且不能重复,也不能为空
	快速定位
*/
-- 我想取第4条数据,没有主键的时候 怎么取

-- 成绩是可以重复的
insert Score
	-- 这些值 来自前端 (后端要接受,并且拼接成下面的sql放值,让数据库执行)
	values(2,'003',3,89,'2020-4-12');
-- 我们想取第四条,但是呢每一列的值都是可能重复的(查的时候就会出现多条)

-- 如果用学号做主键(主键值是不能重复,不能为空), 
-- 一个学生可以有多门成绩(学号又是固定,学号是可以重复的)

-- 最好办法 就是给scoreID加主键约束(通过唯一值快速取到这条数据)

-- 给scoreID 加主键
/*
	alter table 表名
		add constraint 约束名(固定格式) 约束类型 约束说明
*/
	-- 有个固定格式 Primary Key ==> PK_加的列名 primary key 不能省略
	alter table score
		add constraint PK_scoreID primary key(scoreID)

select * from Score;
-- 如果要解决增加主键约束 ,先删除重复的值?
-- 删除数据
delete from Score;

-- 加入数据
insert Score
	values('','001',1,88,'2020-4-20')
-- 再插入一条看看

-- 假设我要取第三条 -- 就不会重复了
-- 如果不知道这个ID值,你会取出重复值的
select * from Score

-- 标识可以是主键号 或者是这条数据的某个唯一值(没办法快速定位)

-- 以后你们工作了可以观察:每张表都有一个主键号的

-- 游戏ID 其实也是一个主键(唯一值 ==》 快速定位这个账号(封掉 删除))

-- 表已经有了,怎么加列?
/*
	alter table 表名
		add 列名 数据类型
*/
-- 给表加一个列:
	alter table score
		add studentName nvarchar(32)

-- 名字必须唯一
	alter table score
		-- unique ==> UQ 唯一约束
		add constraint UQ_studentName unique(studentName)

-- 我只想删除2 3 怎么办?
delete from Score where scoreID=3;

insert score 
	values('001',2,3……)
	
/*
	今天的内容主要有:
	1、插入数据 ※
	insert [into] 表名 [(列名)] values(对应的数据)
	
	2、增加约束(主键(PK)、唯一(UQ))(表有了的时候用它)
	alter table 表名
		add constraint 约束名(PK_studentNo) 约束类型(primary key(studentID))
	
	3、在表中新增一个字段
		alter table 表名
			add 新的列名 数据类型
			
	4、查询和删除不是这节课的重点(只是因为演示用到)
*/


  • php程序员面试笔试宝典
琉忆编程库

手册下载

    暂无手册

编程资料

    暂无资料
TOP
加载中...