SQL Server (一) 对表的增删改查、事务、锁

编程入门 行业动态 更新时间:2024-10-11 21:20:58

SQL Server (一) 对表的增删改查、<a href=https://www.elefans.com/category/jswz/34/1770772.html style=事务、锁"/>

SQL Server (一) 对表的增删改查、事务、锁

1、数据库命名规则(老版本,2008之前版本)

  • 名称长度不能超过128个字符,本地临时表名称不能超过116个字符。
  • 名称的第一个字符尽量使用英文字母、中文(或其他语言的字母)、下划线、“@”或“#”符号。
  • 除第一个字符外的其他字符,还可以包括数字和“$”符号。
  • 名称中间不允许有空格或其他特殊字符。
  • 名称不能是保留字。

2、基本操作

/*创建表*/
CREATE TABLE Class(cId INT PRIMARY KEY,cNum INT NOT NULL,cMteacher VARCHAR(20)
)
CREATE TABLE Student(
sId INT  PRIMARY KEY,
sName VARCHAR(20),
sAge INT,
sTel INT,
cId INT NOT NULL ,FOREIGN KEY(cId) REFERENCES class(cId)
)
CREATE TABLE Teacher(tId int NOT NULL,tName VARCHAR(20) NOT NULL,tAge int,cId int
)/*删除表*/DROP TABLE Teacher;/*删除表数据*/
TRUNCATE TABLE Class;/*更改表名*/
SP_RENAME Student,Studentinfo/*更改表结构 -添加字段*/
ALTER TABLE Student ADD sAddress VARCHAR(50);/*更改表结构 -删除字段*/
ALTER TABLE Student DROP COLUMN sAddress ;/*添加组合主键*/ALTER TABLE [dbo].[Teacher]
ADD
CONSTRAINT PK_test PRIMARY KEY NONCLUSTERED (tId,tName )/*添加外键约束*/
ALTER TABLE dbo.Teacher 
WITH CHECK 
ADD CONSTRAINT FK_Teacher FOREIGN KEY(cId)REFERENCES dbo.Class(cId)/*添加check约束 */
ALTER TABLE dbo.Teacher
WITH NOCHECK 
ADD CONSTRAINT CK_Teacher CHECK(tAge > 0 AND tAge <70)/* 插入数据*/
INSERT INTO Class VALUES(1,30,'王小红'),(2,30,'张小明')/*利用显示事务控制DML操作 */
BEGIN TRANSACTION tr_Teacher
INSERT INTO test.dbo.Teacher VALUES(01,'张小明',28,2)
GO
UPDATE test.dbo.Teacher
SET tAge = 29
WHERE tId = 01
GO
COMMIT TRANSACTION tr_Teacher /*打开隐式事务后,每次执行操作,都会开始一个新事务,需要用COMMIT或ROLLBACK结束*/
SET IMPLICIT_TRANSACTIONS ON 
INSERT INTO Teacher VALUES(02,'王小红',35,1)
GO
UPDATE Teacher
SET tAge = 34
WHERE tId = 02
GO
COMMIT 
SET IMPLICIT_TRANSACTIONS OFFSELECT * FROM Teacher/*设置事务保护点和事务回滚至保护点的语法*/
SAVE TRANSACTION savepoint_name
ROLLBACK TRANSACTION savepoint_name

--并发控制

当多个用户同时访问同一数据时,为了保证数据的准确性,将对事务进行并发控制。

(1)并发访问的问题:

丢失更新数据:

 解决:在A完成数据修改并提交事务之前,B客户端不允许访问相同的数据文件

脏读:

解决:事务A提交事务之前,不允许其他事务读取正在更改的数据

非重复读:

解决:在事务A完成最后一次读取数据前,不允许其他事务读取正在更改的数据

更多推荐

SQL Server (一) 对表的增删改查、事务、锁

本文发布于:2024-02-14 08:35:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1762804.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:事务   SQL   Server

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!