SQL(DDL、DML、TCL)
2021/8/19 2:06:25
本文主要是介绍SQL(DDL、DML、TCL),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、数据定义语言(DDL)
用于建立、修改、删除数据库对象,包括创建语句(create)、修改语句(alter)、删除语句(drop),比如使用CREATE TABLE创建表,使用ALTER TABLE修改表,使用DROP TABLE删除表等动作。这类语言不需要事务的参与,自动提交
二、数据操作语言(DML)
用于改变数据库数据,包括insert、update、delete三条语句。其中,insert语句用于将数据插入到数据库中,update语句用于更新数据库中已存在的数据,delete用于删除数据库中已存在的数据。DML语言和事务是相关的,执行完DML操作后必须经过事务控制语句提交后才真正的将改变引用到数据库中。
三、事务控制语言(TCL)
用来维护数据一致性的语句,包括提交(COMMIT)、回滚(ROLLBACK)、保存点(SAVEPOINT)三条语句,其中COMMIT用来确认已经进行的数据库改变, ROLLBACK语句用来取消已经进行的数据库改变,当执行DML操作后(也就是上面说的增加、修改、删除等动作),可以使用COMMIT语句来确认这种改变,或者使用ROLLBACK取消这种改变。SAVEPOINT语句用来设置保存点,使当前的事务可以回退到指定的保存点,便于取消部分改变。
public int AddUserInfo(UserInfo userInfo) { try { //一、通过EF完成添加 //db.UserInfo.Add(userInfo); //return db.SaveChanges(); //二、通过SQL语句完成添加 //二-1、防止SQL注入 //二-2、SqlQuery 只能执行 select 类型的语句 //以下这种 不防SQL注入 //return db.Database.ExecuteSqlCommand($"insert into UserInfo values ('{userInfo.Uname}','{userInfo.Upwd}','{userInfo.Udell}','{userInfo.Usex}','{userInfo.Email}','{userInfo.Utime}')"); //以下这种 防SQL注入 SqlParameter[] sqls = { new SqlParameter("@Uname",userInfo.Uname), new SqlParameter("@Upwd",userInfo.Upwd), new SqlParameter("@Udell",userInfo.Udell), new SqlParameter("@Usex",userInfo.Usex), new SqlParameter("@Email",userInfo.Email), new SqlParameter("@Utime",userInfo.Utime) }; return db.Database.ExecuteSqlCommand("insert into UserInfo values(@Uname,@Upwd,@Udell,@Usex,@Email,@Utime)",sqls); //三、通过存储过程添加 } catch (Exception) { throw; } }
这篇关于SQL(DDL、DML、TCL)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享