操作MSSQL数据表

表是数据库的主要对象,也是数据库其他对象的基础。表分为永久性表和临时性表。通过SQL语句可实现创建、修改和删除表,以及查询表的数据。我的理解:列对应表的结构,行对应表的数据。

1 修改表

1.1 修改和删除表的结构

//创建表需要使用CREATE关键字
CREATE  TABLE student(UID VARCHAR(20) NOT NULL,
Name VARCHAR(20) NOT NULL,
Sex VARCHAR(20) NOT NULL)//创建名为student的数据表,varchar表示可变长度的char,NOT NULL表示数据不能为空
//在创建之后修改表的结构需要使用ALTER TABLE table_name 寻找表
//添加列需要使用ADD关键字,删除列需要使用DROP关键字
ALTER TABLE student ADD Age INT NOT NULL
ALTER TABLE student DROP Age
//删除表需要使用DROP关键字
DROP student

1.2 插入、修改、删除和检索数据

//插入使用INSERT INTO table_name(item,item,....,) VALUES(value,value)
//item与value一一对应即可 
INSERT INTO student(UID,Name,Sex,Age) VALUES(1,1,'male',18)
//修改使用UPDATE关键字,可对特定的一行或多行进行修改
UPDATE student 
SET Sex='male',Age=Age+1 //为修改的内容
WHERE UID>7//指定修改的行
//删除使用DELETE 关键字,可删除特定的一行或多行
DELETE FROM table_name
WHERE search_condition
//检索使用SELECT关键字,可检索特定的一行或多行的特定的列
SELECT Sex,UID FROM student WHERE Age>19//Age>19的行Sex,UID列的数据
SELECT*FROM student WHERE Age>19//Age>19的行所有列的数据

对于匹配查询,LIKE关键字的具有4种匹配符,可组合使用

匹配符含义
%任意字符
_任意单字符
[][]里的任意字符
[^]不含[]里的任意字符
SELECT*FROM student WHERE Sex LIKE'%ale'

2 设置表的约束

限制表中行或列的数据,及表之间的数据实现数据的完整性。

类型:主键约束、唯一性约束、外键约束、CHECK约束和默认约束

2.1 主键约束

限制表中特定的一列或者多列都具有唯一值,且所包含的列不能有空值,确保数据的唯一性

//设置主键约束
///创建时添加
CONSTRAINT stu_id primary KEY(UID,Name)
///创建后添加
ALTER TABLE student ADD CONSTRAINT stu_id primary KEY(UID,Name)//带有约束名的主键约束
ALTER TABLE student ADD  PRIMARY KEY(UID)
//删除主键约束
ALTER TABLE student DROP PRIMARY KEY 
//查询主键信息
SELECT column_name FROM INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` WHERE table_name='student' AND constraint_name='PRIMARY'

2.2 唯一性约束

同主键约束的关系

联系:都不允许约束对象重复

区别

primary keyunique
唯一的标识表中的数据,可定义特定的一列或多列为主键限制不受主键约束的列上数据的唯一性
不能更新数据只要数据唯一即可更新
不允许NULL允许NULL
可做外键不可做外键
///创建使添加
 CONSTRAINT stu_uid  UNIQUE(UID)
///创建后添加
ALTER TABLE student ADD CONSTRAINT stu_uid  UNIQUE(UID)

2.3外键约束

限制一个表中的某些列与其他表中的某些列的关联,从而实现表之间的依赖关系。在其他关联的表中只能删除没有依赖的信息。

ALTER  TABLE student

ADD CONSTRAINT stu_outkey
FOREIGN KEY(UID)//外键设置
REFERENCES mark(UID)//所关联的其他表的列

在mark表中只能删除student中没有的UID

2.4 CHECK约束

对表的某一列数据的范围限制

ALTER  TABLE student
ADD CONSTRAINT stu_check
CHECK(SCORE>0 AND SCORE<101)//CHECK(Logic_expression)

2.5 默认约束

向表中插入的数据有很多相同的元素,可以将其设置为默认约束

//添加默认约束
ALTER TABLE mark ALTER COLUMN SCORE SET DEFAULT 90//选定列 SET DEFAULT 
ALTER TABLE mark MODIFY SCORE INT DEFAULT 90//
//删除默认约束
ALTER TABLE mark MODIFY SCORE INT //插入数据时不会报错
ALTER TABLE mark ALTER COLUMN mark DROP DEFAULT//

3 数据库的存储过程

存储过程封装了可以重复使用的Transact-SQL语句。它储存在服务器上,已经通过预编译

  • 提高数据库的访问速度
  • 程序可读性更强
  • 安全性更高,可以设置用户访问权限

分类:系统、本地、临时、远程、扩展~

~:储存过程

创建存储过程的MYSQL语句

CREATE PROCEDURE AddItem()
BEGIN
DECLARE i INT DEFAULT 3;
WHILE (i<11) DO
INSERT INTO student(UID,Name,Sex,Age) VALUES(i,i,'female',20);
SET i=i+1;
END WHILE;
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值